diff -ruN 4.5.2.3/administrator/components/com_admin/admin.admin.html.php 4.5.4/administrator/components/com_admin/admin.admin.html.php
--- 4.5.2.3/administrator/components/com_admin/admin.admin.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_admin/admin.admin.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,10 +1,13 @@
 <?php
 /**
-* @version $Id: admin.admin.html.php,v 1.16 2005/02/15 21:53:39 eddieajau Exp $
-* @package Mambo
+* @version $Id: admin.admin.html.php,v 1.3 2005/11/08 10:26:19 eliasan Exp $
+* @package Mambo Open Source
 * @subpackage Admin
-* @copyright (C) 2000 - 2005 Miro International Pty Ltd
+* @copyright (C) 2005 - 2006 Mambo Foundation Inc.
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
+*
+* Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure
+* that Mambo remained free Open Source software owned and managed by the community.
 * Mambo is Free Software
 */
 
@@ -26,10 +29,22 @@
 		<table class="adminheading" border="0">
 		<tr>
 			<th class="cpanel">
-			Control Panel
+			Home
 			</th>
 		</tr>
 		</table>
+		<table width="100%" class="adminheading">
+		<tr>
+		<?php if($_SESSION['simple_editing'] == 'on' || ($_SESSION['simple_editing'] == ''))
+		{
+			$_SESSION['simple_editing'] = 'on';
+		?>
+		<td align="left" width="20%">&nbsp;</td><td align="left" ><a class="selected" href="index2.php?option=simple_mode" title="Simple Mode (selected)">Simple Mode</a> / <a class="unselected" href="index2.php?option=advanced_mode" title="Advanced Mode (unselected)">Advanced Mode</a></td>
+		<?php }else{?>
+		<td align="left" width="20%">&nbsp;</td><td align="left" ><a class="unselected"href="index2.php?option=simple_mode" title="Simple Mode (unselected)" >Simple Mode</a> / <a class="selected" href="index2.php?option=advanced_mode" title="Advanced Mode (selected)">Advanced Mode</a></td>
+		<?php }?>
+		</tr>
+		</table>
 		<?php
 		$path = $mosConfig_absolute_path . '/administrator/templates/' . $mainframe->getTemplate() . '/cpanel.php';
 		if (file_exists( $path )) {
@@ -384,10 +399,12 @@
 	function help() {
 		global $mosConfig_live_site;
 		$helpurl = mosGetParam( $GLOBALS, 'mosConfig_helpurl', '' );
-		$fullhelpurl = $helpurl . '/index2.php?option=com_content&amp;task=findkey&pop=1&keyref=';
-		
+		$fullhelpurl = $helpurl . '/index2.php?option=com_content&amp;task=findkey&pop=1&keyref=';  // This line don't used?  NineKrit
+		$fullhelpurl = $helpurl.'/help/';   // add by NineKrit
+//      $helpexit=file_exists( $helpurl.'/help/454.mambo.whatsnew.html' );
+		$helpexit=true;
 		$helpsearch = mosGetParam( $_REQUEST, 'helpsearch', '' );
-		$page 		= mosGetParam( $_REQUEST, 'page', 'mambo.whatsnew452.html' );
+		$page 		= mosGetParam( $_REQUEST, 'page', '454.mambo.whatsnew.html' );
 		$toc 		= getHelpToc( $helpsearch );
 		if (!eregi( '\.html$', $page )) {
 			$page .= '.xml';
@@ -431,26 +448,27 @@
 					</td>
 					<td style="text-align:right">
 					<?php
-					if ($helpurl) {
+//					if ($helpurl) {    // change to check the exist file
+					if ($helpexit) {
 					?>
-					<a href="<?php echo $fullhelpurl;?>mambo.glossary" target="helpFrame">
+					<a href="<?php echo $fullhelpurl;?>454.mambo.glossary.html" target="helpFrame">
 						Glossary</a>
 					|
-					<a href="<?php echo $fullhelpurl;?>mambo.credits" target="helpFrame">
+					<a href="<?php echo $fullhelpurl;?>454.mambo.credits.html" target="helpFrame">
 						Credits</a>
 					|
-					<a href="<?php echo $fullhelpurl;?>mambo.support" target="helpFrame">
+					<a href="<?php echo $fullhelpurl;?>454.mambo.support.html" target="helpFrame">
 						Support</a>
 					<?php
 					} else {
 					?>
-					<a href="<?php echo $mosConfig_live_site;?>/help/mambo.glossary.html" target="helpFrame">
+					<a href="<?php echo $mosConfig_live_site;?>/help/454.mambo.glossary.html" target="helpFrame">
 						Glossary</a>
 					|
-					<a href="<?php echo $mosConfig_live_site;?>/help/mambo.credits.html" target="helpFrame">
+					<a href="<?php echo $mosConfig_live_site;?>/help/454.mambo.credits.html" target="helpFrame">
 						Credits</a>
 					|
-					<a href="<?php echo $mosConfig_live_site;?>/help/mambo.support.html" target="helpFrame">
+					<a href="<?php echo $mosConfig_live_site;?>/help/454.mambo.support.html" target="helpFrame">
 						Support</a>
 					<?php
 					}
@@ -475,7 +493,8 @@
 				<div class="helpIndex">
 				<?php
 				foreach ($toc as $k=>$v) {
-					if ($helpurl) {
+//					if ($helpurl) {
+				if ($helpexit) {
 						echo '<br /><a href="' . $fullhelpurl . urlencode( $k ) . '" target="helpFrame">' . $v . '</a>';
 					} else {
 						echo '<br /><a href="' . $mosConfig_live_site . '/help/' . $k . '" target="helpFrame">' . $v . '</a>';
@@ -549,7 +568,8 @@
 		if (preg_match( '#<title>(.*?)</title>#', $buffer, $m )) {
 			$title = trim( $m[1] );
 			if ($title) {
-				if ($helpurl) {
+//				if ($helpurl) {
+				if ($helpexit) {
 					// strip the extension
 					$file = preg_replace( '#\.xml$|\.html$#', '', $file );
 				}
diff -ruN 4.5.2.3/administrator/components/com_admin/admin.admin.php 4.5.4/administrator/components/com_admin/admin.admin.php
--- 4.5.2.3/administrator/components/com_admin/admin.admin.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_admin/admin.admin.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.admin.php,v 1.6 2005/02/06 18:28:24 eddieajau Exp $
+* @version $Id: admin.admin.php,v 1.1 2005/07/22 01:51:58 eddieajau Exp $
 * @package Mambo
 * @subpackage Admin
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_admin/toolbar.admin.html.php 4.5.4/administrator/components/com_admin/toolbar.admin.html.php
--- 4.5.2.3/administrator/components/com_admin/toolbar.admin.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_admin/toolbar.admin.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.admin.html.php,v 1.5 2005/02/11 01:19:32 levis Exp $
+* @version $Id: toolbar.admin.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Admin
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -15,7 +15,7 @@
 class TOOLBAR_admin {
 	function _SYSINFO() {
 		mosMenuBar::startTable();
-		mosMenuBar::help( 'screen.system.info' );
+		mosMenuBar::help( '453.screen.system.info' );
 		mosMenuBar::endTable();
 	}
 	/**
@@ -23,7 +23,7 @@
 	*/
 	function _CPANEL() {
 		mosMenuBar::startTable();
-		mosMenuBar::help( 'screen.cpanel' );
+		mosMenuBar::help( '453.screen.cpanel' );
 		mosMenuBar::endTable();
 	}
 	/**
@@ -31,7 +31,7 @@
 	*/
 	function _DEFAULT() {
 		mosMenuBar::startTable();
-		//mosMenuBar::help( 'screen.cpanel' );
+		//mosMenuBar::help( '454.screen.system.info' );
 		mosMenuBar::endTable();
 	}
 }
diff -ruN 4.5.2.3/administrator/components/com_admin/toolbar.admin.php 4.5.4/administrator/components/com_admin/toolbar.admin.php
--- 4.5.2.3/administrator/components/com_admin/toolbar.admin.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_admin/toolbar.admin.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.admin.php,v 1.4 2005/01/06 01:13:15 eddieajau Exp $
+* @version $Id: toolbar.admin.php,v 1.1 2005/07/22 01:51:58 eddieajau Exp $
 * @package Mambo
 * @subpackage Admin
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_banners/admin.banners.html.php 4.5.4/administrator/components/com_banners/admin.banners.html.php
--- 4.5.2.3/administrator/components/com_banners/admin.banners.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_banners/admin.banners.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.banners.html.php,v 1.10 2005/02/15 14:49:39 kochp Exp $
+* @version $Id: admin.banners.html.php,v 1.3 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Banners
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_banners/admin.banners.php 4.5.4/administrator/components/com_banners/admin.banners.php
--- 4.5.2.3/administrator/components/com_banners/admin.banners.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_banners/admin.banners.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.banners.php,v 1.9 2005/02/11 11:10:47 stingrey Exp $
+* @version $Id: admin.banners.php,v 1.1 2005/07/22 01:52:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Banners
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_banners/toolbar.banners.html.php 4.5.4/administrator/components/com_banners/toolbar.banners.html.php
--- 4.5.2.3/administrator/components/com_banners/toolbar.banners.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_banners/toolbar.banners.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.banners.html.php,v 1.9 2005/02/16 13:55:32 stingrey Exp $
+* @version $Id: toolbar.banners.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Banners
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -34,7 +34,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.banners.edit' );
+		mosMenuBar::help( '453.screen.banners.edit' );
 		mosMenuBar::endTable();
 	}
 	function _DEFAULT() {
@@ -45,7 +45,7 @@
 		mosMenuBar::addNewX();
 		mosMenuBar::editListX();
 		mosMenuBar::deleteList();
-		mosMenuBar::help( 'screen.banners' );
+		mosMenuBar::help( '453.screen.banners.main' );
 		mosMenuBar::endTable();
 	}
 }
@@ -70,7 +70,7 @@
 			mosMenuBar::cancel( 'cancelclient' );
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.banners.client.edit' );
+		mosMenuBar::help( '453.screen.banners.client.edit' );
 		mosMenuBar::endTable();
 	}
 	/**
@@ -84,8 +84,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList( '', 'removeclients' );
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.banners.client' );
+		mosMenuBar::help( '453.screen.banners.client.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_banners/toolbar.banners.php 4.5.4/administrator/components/com_banners/toolbar.banners.php
--- 4.5.2.3/administrator/components/com_banners/toolbar.banners.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_banners/toolbar.banners.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.banners.php,v 1.6 2005/02/11 11:10:47 stingrey Exp $
+* @version $Id: toolbar.banners.php,v 1.1 2005/07/22 01:52:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Banners
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_categories/admin.categories.html.php 4.5.4/administrator/components/com_categories/admin.categories.html.php
--- 4.5.2.3/administrator/components/com_categories/admin.categories.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_categories/admin.categories.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.categories.html.php,v 1.23 2005/02/16 16:27:09 saka Exp $
+* @version $Id: admin.categories.html.php,v 1.2 2005/10/20 01:11:37 cfraser Exp $
 * @package Mambo
 * @subpackage Categories
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -277,9 +277,45 @@
 				submitform(pressbutton);
 			}
 		}
+		// show / hide publishing information
+			function displayParameterInfo()
+			{
+				
+				if(document.getElementById('simpleediting').style.display == 'block')
+				{
+					document.getElementById('simpleediting').style.display = 'none';	
+					document.getElementById('show').style.display = 'block';	
+					document.getElementById('hide').style.display = 'none';
+					document.adminForm.simple_editing.value ='on';
+				}
+				else
+				{
+					document.getElementById('simpleediting').style.display = 'block';
+					document.getElementById('show').style.display = 'none';	
+					document.getElementById('hide').style.display = 'block';
+					document.adminForm.simple_editing.value ='off';
+				}
+				
+			}
 		</script>
-
+		<?php
+		if($_SESSION['simple_editing'] == 'on')
+		{
+			$simpleediting ='none';
+			$simple = 'block';
+			$advanced = 'none';
+		}
+		else
+		{
+			
+			$advanced = 'block';
+			$simple = 'none';
+			$simpleediting ='block';
+		}
+		
+		?>
 		<form action="index2.php" method="post" name="adminForm">
+		<input type ="hidden" name="simple_editing" value=''>
 		<table class="adminheading">
 		<tr>
 			<th class="categories">
@@ -293,10 +329,21 @@
 			</th>
 		</tr>
 		</table>
-
+	<table width="100%">
+			<tr>
+				<td valign="top" align="right">
+				<div id = "show" style="display:<?php echo $simple;?>">
+				<a href="javascript:displayParameterInfo();">Show Advanced Details</a>
+				</div>
+				<div id = "hide" style="display:<?php echo $advanced;?>">
+				<a href="javascript:displayParameterInfo();">Hide Advanced Details</a>
+				</div>
+				</td>
+			</tr>
+		</table>
 		<table width="100%">
 		<tr>
-			<td valign="top" width="60%">
+			<td valign="top" >
 				<table class="adminform">
 				<tr>
 					<th colspan="3">
@@ -389,7 +436,11 @@
 				</tr>
 				</table>
 			</td>
-			<td valign="top" width="40%">
+			<td valign="top" align="right">
+			<div id="simpleediting" style="display:<?php echo $simpleediting;?>">
+			<table cellspacing="0" cellpadding="0" border="0" width="100%" >
+				<tr>
+					<td width="40%">
 			<?php
 			if ( $row->id > 0 ) {
     		?>
@@ -472,7 +523,13 @@
 			</td>
 		</tr>
 		</table>
-
+	</td>
+	</tr>
+</table>
+</div>
+</td>
+</tr>
+</table>
 		<input type="hidden" name="option" value="com_categories" />
 		<input type="hidden" name="oldtitle" value="<?php echo $row->title ; ?>" />
 		<input type="hidden" name="id" value="<?php echo $row->id; ?>" />
diff -ruN 4.5.2.3/administrator/components/com_categories/admin.categories.php 4.5.4/administrator/components/com_categories/admin.categories.php
--- 4.5.2.3/administrator/components/com_categories/admin.categories.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_categories/admin.categories.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.categories.php,v 1.21 2005/02/16 03:32:44 kochp Exp $
+* @version $Id: admin.categories.php,v 1.1 2005/07/22 01:52:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Categories
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_categories/toolbar.categories.html.php 4.5.4/administrator/components/com_categories/toolbar.categories.html.php
--- 4.5.2.3/administrator/components/com_categories/toolbar.categories.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_categories/toolbar.categories.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.categories.html.php,v 1.10 2005/02/16 13:08:46 stingrey Exp $
+* @version $Id: toolbar.categories.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Categories
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -34,7 +34,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.categories.edit' );
+		mosMenuBar::help( '453.screen.categories.edit' );
 		mosMenuBar::endTable();
 	}
 	/**
@@ -46,6 +46,8 @@
 		mosMenuBar::save( 'movesave' );
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
+		mosMenuBar::spacer();
+		mosMenuBar::help( '453.screen.categories.copymove' );
 		mosMenuBar::endTable();
 	}
 	/**
@@ -57,6 +59,8 @@
 		mosMenuBar::save( 'copysave' );
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
+		mosMenuBar::spacer();
+		mosMenuBar::help( '453.screen.categories.copymove' );
 		mosMenuBar::endTable();
 	}
 	/**
@@ -82,8 +86,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.categories' );
+		mosMenuBar::help( '453.screen.categories.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_categories/toolbar.categories.php 4.5.4/administrator/components/com_categories/toolbar.categories.php
--- 4.5.2.3/administrator/components/com_categories/toolbar.categories.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_categories/toolbar.categories.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.categories.php,v 1.6 2005/01/09 12:53:15 stingrey Exp $
+* @version $Id: toolbar.categories.php,v 1.1 2005/07/22 01:52:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Categories
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_checkin/admin.checkin.html.php 4.5.4/administrator/components/com_checkin/admin.checkin.html.php
--- 4.5.2.3/administrator/components/com_checkin/admin.checkin.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_checkin/admin.checkin.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.checkin.html.php,v 1.4 2005/01/06 01:13:16 eddieajau Exp $
+* @version $Id: admin.checkin.html.php,v 1.1 2005/07/22 01:52:10 eddieajau Exp $
 * @package Mambo
 * @subpackage Checkin
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_checkin/admin.checkin.php 4.5.4/administrator/components/com_checkin/admin.checkin.php
--- 4.5.2.3/administrator/components/com_checkin/admin.checkin.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_checkin/admin.checkin.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.checkin.php,v 1.5 2005/01/06 01:13:16 eddieajau Exp $
+* @version $Id: admin.checkin.php,v 1.1 2005/07/22 01:52:11 eddieajau Exp $
 * @package Mambo
 * @subpackage Checkin
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_checkin/toolbar.checkin.html.php 4.5.4/administrator/components/com_checkin/toolbar.checkin.html.php
--- 4.5.2.3/administrator/components/com_checkin/toolbar.checkin.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_checkin/toolbar.checkin.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.checkin.html.php,v 1.5 2005/02/11 01:20:41 levis Exp $
+* @version $Id: toolbar.checkin.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Checkin
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -18,7 +18,7 @@
 	*/
 	function _DEFAULT() {
 		mosMenuBar::startTable();
-		mosMenuBar::help( 'screen.checkin' );
+		mosMenuBar::help( '453.screen.checkin' );
 		mosMenuBar::endTable();
 	}
 }
diff -ruN 4.5.2.3/administrator/components/com_checkin/toolbar.checkin.php 4.5.4/administrator/components/com_checkin/toolbar.checkin.php
--- 4.5.2.3/administrator/components/com_checkin/toolbar.checkin.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_checkin/toolbar.checkin.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.checkin.php,v 1.4 2005/01/06 01:13:16 eddieajau Exp $
+* @version $Id: toolbar.checkin.php,v 1.1 2005/07/22 01:52:11 eddieajau Exp $
 * @package Mambo
 * @subpackage Checkin
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_config/admin.config.html.php 4.5.4/administrator/components/com_config/admin.config.html.php
--- 4.5.2.3/administrator/components/com_config/admin.config.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_config/admin.config.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.config.html.php,v 1.15 2005/02/15 23:45:30 eddieajau Exp $
+* @version $Id: admin.config.html.php,v 1.5 2005/11/27 16:33:25 csouza Exp $
 * @package Mambo
 * @subpackage Config
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -203,7 +203,7 @@
 			?></td>
 		</tr>
 		<tr>
-			<td>Favourites Site Icon:</td>
+			<td>Favorites Site Icon:</td>
 			<td>
 			<input class="text_area" type="text" name="config_favicon" size="20" value="<?php echo $row->config_favicon; ?>"/>
 <?php
@@ -423,6 +423,17 @@
 			<td>&nbsp;</td>
 		</tr>
 		<tr>
+			<td>Register Globals Emulation:</td>
+			<td>
+			<?php echo $lists['register_globals']; ?>
+			<?php 
+			$rg = ini_get('register_globals') == 1 ? 'On' : 'Off';
+			echo mosToolTip(sprintf("Register globals emulation. Some components may stop working if this option is set to Off.")); 
+			?>
+			</td>
+			<td>&nbsp;</td>
+		</tr>
+		<tr>
 			<td>Help Server:</td>
 			<td><input class="text_area" type="text" name="config_helpurl" size="50" value="<?php echo $row->config_helpurl; ?>"/></td>
 		</tr>
diff -ruN 4.5.2.3/administrator/components/com_config/admin.config.php 4.5.4/administrator/components/com_config/admin.config.php
--- 4.5.2.3/administrator/components/com_config/admin.config.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_config/admin.config.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.config.php,v 1.16 2005/02/16 14:31:26 kochp Exp $
+* @version $Id: admin.config.php,v 1.4 2005/11/25 23:30:20 csouza Exp $
 * @package Mambo
 * @subpackage Config
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -97,6 +97,8 @@
 	/** @var int */
 	var $config_error_reporting=0;
 	/** @var int */
+	var $config_register_globals=0;
+	/** @var int */
 	var $config_link_titles=0;
 	/** @var int */
 	var $config_list_limit=0;
@@ -190,6 +192,7 @@
 		'config_allowUserRegistration'	=>'mosConfig_allowUserRegistration',
 		'config_link_titles'			=>'mosConfig_link_titles',
 		'config_error_reporting'		=>'mosConfig_error_reporting',
+		'config_register_globals'		=>'mosConfig_register_globals',
 		'config_list_limit'				=>'mosConfig_list_limit',
 		'config_caching'				=>'mosConfig_caching',
 		'config_cachepath'				=>'mosConfig_cachepath',
@@ -340,6 +343,11 @@
 		mosHTML::makeOption( E_ALL , 'Maximum' )
 	);
 
+	$register_globals = array(
+		mosHTML::makeOption( 1, 'On' ),
+		mosHTML::makeOption( 0, 'Off' ),
+	);
+
 	$mailer = array(
 		mosHTML::makeOption( 'mail', 'PHP mail function', true ),
 		mosHTML::makeOption( 'sendmail', 'Sendmail', true ),
@@ -399,6 +407,8 @@
 
 	$lists['error_reporting'] 		= mosHTML::selectList( $errors, 'config_error_reporting', 'class="inputbox" size="1"', 'value', 'text', $row->config_error_reporting );
 
+	$lists['register_globals'] 		= mosHTML::RadioList( $register_globals, 'config_register_globals', 'class="inputbox" size="1"', $row->config_register_globals, 'value', 'text' );
+
 	$lists['link_titles'] 			= mosHTML::yesnoRadioList( 'config_link_titles', 'class="inputbox"', $row->config_link_titles );
 
 	$lists['caching'] 				= mosHTML::yesnoRadioList( 'config_caching', 'class="inputbox"', $row->config_caching );
@@ -433,7 +443,7 @@
 	if (!$row->bind( $_POST )) {
 		mosRedirect( "index2.php", $row->getError() );
 	}
-
+	
 	$editor = intval( mosGetParam( $_POST, 'editor', 0 ) );
 	if ($editor > 0) {
 		$query = "UPDATE #__mambots"
diff -ruN 4.5.2.3/administrator/components/com_config/toolbar.config.html.php 4.5.4/administrator/components/com_config/toolbar.config.html.php
--- 4.5.2.3/administrator/components/com_config/toolbar.config.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_config/toolbar.config.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.config.html.php,v 1.8 2005/02/16 05:14:51 kochp Exp $
+* @version $Id: toolbar.config.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Config
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -24,8 +24,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.config' );
+		mosMenuBar::help( '453.screen.config' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_config/toolbar.config.php 4.5.4/administrator/components/com_config/toolbar.config.php
--- 4.5.2.3/administrator/components/com_config/toolbar.config.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_config/toolbar.config.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.config.php,v 1.4 2005/01/06 01:13:16 eddieajau Exp $
+* @version $Id: toolbar.config.php,v 1.1 2005/07/22 01:52:16 eddieajau Exp $
 * @package Mambo
 * @subpackage Config
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_contact/admin.contact.html.php 4.5.4/administrator/components/com_contact/admin.contact.html.php
--- 4.5.2.3/administrator/components/com_contact/admin.contact.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_contact/admin.contact.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.contact.html.php,v 1.9 2005/02/15 14:49:40 kochp Exp $
+* @version $Id: admin.contact.html.php,v 1.3 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Contact
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_contact/admin.contact.php 4.5.4/administrator/components/com_contact/admin.contact.php
--- 4.5.2.3/administrator/components/com_contact/admin.contact.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_contact/admin.contact.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.contact.php,v 1.10 2005/01/06 01:13:16 eddieajau Exp $
+* @version $Id: admin.contact.php,v 1.1 2005/07/22 01:52:16 eddieajau Exp $
 * @package Mambo
 * @subpackage Contact
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_contact/contact_items.xml 4.5.4/administrator/components/com_contact/contact_items.xml
--- 4.5.2.3/administrator/components/com_contact/contact_items.xml	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_contact/contact_items.xml	2006-08-01 01:34:25.000000000 -0500
@@ -66,6 +66,10 @@
 			<option value="0">Hide</option>
 			<option value="1">Show</option>
 		</param>
+			<param name="vcard" type="radio" default="1" label="Vcard" description="Show/Hide the Vcard">
+			<option value="0">Hide</option>
+			<option value="1">Show</option>
+		</param> 
 		<param name="image" type="radio" default="1" label="Image" description="Show/Hide the image">
 			<option value="0">Hide</option>
 			<option value="1">Show</option>
diff -ruN 4.5.2.3/administrator/components/com_contact/toolbar.contact.html.php 4.5.4/administrator/components/com_contact/toolbar.contact.html.php
--- 4.5.2.3/administrator/components/com_contact/toolbar.contact.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_contact/toolbar.contact.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.contact.html.php,v 1.10 2005/02/16 13:55:33 stingrey Exp $
+* @version $Id: toolbar.contact.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Contact
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -32,7 +32,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.contactmanager.edit' );
+		mosMenuBar::help( '453.screen.contactmanager.edit' );
 		mosMenuBar::endTable();
 	}
 
@@ -48,8 +48,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.contactmanager' );
+		mosMenuBar::help( '453.screen.contactmanager.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_contact/toolbar.contact.php 4.5.4/administrator/components/com_contact/toolbar.contact.php
--- 4.5.2.3/administrator/components/com_contact/toolbar.contact.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_contact/toolbar.contact.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.contact.php,v 1.5 2005/01/06 01:13:16 eddieajau Exp $
+* @version $Id: toolbar.contact.php,v 1.1 2005/07/22 01:52:16 eddieajau Exp $
 * @package Mambo
 * @subpackage Contact
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_content/admin.content.html.php 4.5.4/administrator/components/com_content/admin.content.html.php
--- 4.5.2.3/administrator/components/com_content/admin.content.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_content/admin.content.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.content.html.php,v 1.36 2005/02/16 16:27:09 saka Exp $
+* @version $Id: admin.content.html.php,v 1.6 2005/11/23 23:46:48 counterpoint Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -130,7 +130,7 @@
 			$row->sect_link = 'index2.php?option=com_sections&task=editA&hidemainmenu=1&id='. $row->sectionid;
 			$row->cat_link 	= 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid;
 
-			$now = date( "Y-m-d h:i:s" );
+			$now = date( "Y-m-d H:i:s" );
 			if ( $now <= $row->publish_up && $row->state == "1" ) {
 				$img = 'publish_y.png';
 				$alt = 'Published';
@@ -489,6 +489,7 @@
 				echo "folderimages[".$i++."] = new Array( '$k','".addslashes( $v->value )."','".addslashes( $v->text )."' );\n\t\t";
 			}
 		}
+		
 		?>
 
 		function submitbutton(pressbutton) {
@@ -530,9 +531,48 @@
 				submitform( pressbutton );
 			}
 		}
+		
+			// show / hide publishing information
+			function displayParameterInfo()
+			{
+				
+				if(document.getElementById('simpleediting').style.display == 'block')
+				{
+					document.getElementById('simpleediting').style.display = 'none';	
+					document.getElementById('show').style.display = 'block';	
+					document.getElementById('hide').style.display = 'none';
+					document.adminForm.simple_editing.value ='on';
+				}
+				else
+				{
+					document.getElementById('simpleediting').style.display = 'block';
+					document.getElementById('show').style.display = 'none';	
+					document.getElementById('hide').style.display = 'block';
+					document.adminForm.simple_editing.value ='off';
+				}
+				
+			}
 		//-->
 		</script>
+		
+		<?php
+		if($_SESSION['simple_editing'] == 'on')
+		{
+			$simpleediting ='none';
+			$simple = 'block';
+			$advanced = 'none';
+		}
+		else
+		{
+			
+			$advanced = 'block';
+			$simple = 'none';
+			$simpleediting ='block';
+		}
+		
+		?>
 		<form action="index2.php" method="post" name="adminForm">
+		<input type ="hidden" name="simple_editing" value=''>
 		<table class="adminheading" border="1">
 		<tr>
 			<th class="edit">
@@ -549,18 +589,31 @@
 				<?php
 			}
 			?>
+			
 			</th>
 		</tr>
 		</table>
-
-		<table cellspacing="0" cellpadding="0" width="100%">
+		<table width="100%">
+			<tr>
+				<td valign="top" align="right">
+				<div id = "show" style="display:<?php echo $simple;?>">
+				<a href="javascript:displayParameterInfo();">Show Advanced Details</a>
+				</div>
+				<div id = "hide" style="display:<?php echo $advanced;?>">
+				<a href="javascript:displayParameterInfo();">Hide Advanced Details</a>
+				</div>
+				</td>
+			</tr>
+		</table>
+		<table cellspacing="0" cellpadding="0" width="100%" >
 		<tr>
-			<td width="60%" valign="top">
+			<td valign="top">
+			
 				<table width="100%" class="adminform">
 				<tr>
-					<td width="100%">
+					<td width="500">
 						<table cellspacing="0" cellpadding="0" border="0" width="100%">
-						<tr>
+						<tr >
 							<th colspan="4">
 							Item Details
 							</th>
@@ -596,6 +649,7 @@
 						</table>
 					</td>
 				</tr>
+			
 				<tr>
 					<td width="100%">
 					Intro Text: (required)
@@ -614,406 +668,421 @@
 				</tr>
 				</table>
 			</td>
-			<td valign="top" width="40%">
-				<table>
+			<td valign="top" align="right">
+			<div id="simpleediting" style="display:<?php echo $simpleediting;?>">
+			<table width="100%" >
 				<tr>
-					<td>
-					<?php
-					$tabs->startPane("content-pane");
-					$tabs->startTab("Publishing","publish-page");
-					?>
-					<table class="adminform">
-					<tr>
-						<th colspan="2">
-						Publishing Info
-						</th>
-					<tr>
-					<tr>
-						<td valign="top" align="right">
-						Show on Frontpage:
-						</td>
-						<td>
-						<input type="checkbox" name="frontpage" value="1" <?php echo $row->frontpage ? 'checked="checked"' : ''; ?> />
-						</td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">
-						Published:
-						</td>
-						<td>
-						<input type="checkbox" name="published" value="1" <?php echo $row->state ? 'checked="checked"' : ''; ?> />
-						</td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">
-						Access Level:
-						</td>
-						<td>
-						<?php echo $lists['access']; ?> </td>
-						</tr>
-					<tr>
-						<td valign="top" align="right">
-						Author Alias:
-						</td>
-						<td>
-						<input type="text" name="created_by_alias" size="30" maxlength="100" value="<?php echo $row->created_by_alias; ?>" class="text_area" />
-						</td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">
-						Change Creator:
-						</td>
-						<td>
-						<?php echo $lists['created_by']; ?> </td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">Ordering:</td>
-						<td>
-						<?php echo $lists['ordering']; ?> </td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">
-						Override Created Date
-						</td>
-						<td>
-						<input class="text_area" type="text" name="created" id="created" size="25" maxlength="19" value="<?php echo $row->created; ?>" />
-						<input name="reset" type="reset" class="button" onClick="return showCalendar('created', 'y-mm-dd');" value="...">
-						</td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">
-						Start Publishing:
-						</td>
-						<td>
-						<input class="text_area" type="text" name="publish_up" id="publish_up" size="25" maxlength="19" value="<?php echo $row->publish_up; ?>" />
-						<input type="reset" class="button" value="..." onClick="return showCalendar('publish_up', 'y-mm-dd');">
-						</td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">
-						Finish Publishing:
-						</td>
-						<td>
-						<input class="text_area" type="text" name="publish_down" id="publish_down" size="25" maxlength="19" value="<?php echo $row->publish_down; ?>" />
-						<input type="reset" class="button" value="..." onClick="return showCalendar('publish_down', 'y-mm-dd');">
-						</td>
-					</tr>
-					</table>
-					<br />
-					<table class="adminform">
-					<?php
-					if ( $row->id ) {
-						?>
+					<td width="200">
+			
+						<table width="400">
 						<tr>
-							<td>
-							<strong>Content ID:</strong>
-							</td>
-							<td>
-							<?php echo $row->id; ?>
-							</td>
-						</tr>
-						<?php
-					}
-					?>
-					<tr>
-						<td width="90px" valign="top" align="right">
-						<strong>State:</strong>
-						</td>
-						<td>
-						<?php echo $row->state > 0 ? 'Published' : ($row->state < 0 ? 'Archived' : 'Draft Unpublished');?>
-						</td>
-					</tr>
-					<tr >
-						<td valign="top" align="right">
-						<strong>
-						Hits
-						</strong>:
-						</td>
-						<td>
-						<?php echo $row->hits;?>
-						<div <?php echo $visibility; ?>>
-						<input name="reset_hits" type="button" class="button" value="Reset Hit Count" onClick="submitbutton('resethits');">
-						</div>
-						</td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">
-						<strong>
-						Revised
-						</strong>:
-						</td>
-						<td>
-						<?php echo $row->version;?> times
-						</td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">
-						<strong>
-						Created
-						</strong>
-						</td>
-						<td>
-						<?php echo $row->created ? "$create_date</td></tr><tr><td valign='top' align='right'><strong>By</strong></td><td>$row->creator" : "New document"; ?>
-						</td>
-					</tr>
-					<tr>
-						<td valign="top" align="right">
-						<strong>
-						Last Modified
-						</strong>
-						</td>
-						<td>
-						<?php echo $row->modified ? "$mod_date</td></tr><tr><td valign='top' align='right'><strong>By</strong></td><td>$row->modifier" : "Not modified";?>
-						</td>
-					</tr>
-					</table>
-					<?php
-					$tabs->endTab();
-					$tabs->startTab("Images","images-page");
-					?>
-					<table class="adminform" width="100%">
-					<tr>
-						<th colspan="2">
-						MOSImage Control
-						</th>
-					<tr>
-					<tr>
-						<td colspan="6">Sub-folder: <?php echo $lists['folders'];?></td>
-					</tr>
-					<tr>
-						<td>
-						Gallery Images:
-						<br />
-						<?php echo $lists['imagefiles'];?>
-						</td>
-						<td valign="top">
-						<img name="view_imagefiles" src="../images/M_images/blank.png" width="100" />
-						</td>
-					</tr>
-					<tr>
-						<td>
-						<input class="button" type="button" value="Add" onClick="addSelectedToList('adminForm','imagefiles','imagelist')" />
-						</td>
-					</tr>
-					<tr>
-						<td>
-						Content Images:
-						<br />
-						<?php echo $lists['imagelist'];?>
-						</td>
-						<td valign="top">
-						<img name="view_imagelist" src="../images/M_images/blank.png" width="100" />
-						</td>
-					</tr>
-					<tr>
-						<td>
-						<input class="button" type="button" value="up" onClick="moveInList('adminForm','imagelist',adminForm.imagelist.selectedIndex,-1)" />
-						<input class="button" type="button" value="down" onClick="moveInList('adminForm','imagelist',adminForm.imagelist.selectedIndex,+1)" />
-						<input class="button" type="button" value="remove" onClick="delSelectedFromList('adminForm','imagelist')" />
-						</td>
-					</tr>
-					<tr>
-						<td colspan="2">
-							Edit the image selected:
-							<table>
+							<td >
+							<?php
+							$tabs->startPane("content-pane");
+							$tabs->startTab("Publishing","publish-page");
+							?>
+							<table class="adminform">
+							<tr>
+								<th colspan="2">
+								Publishing Info
+								</th>
+							<tr>
+							<tr>
+								<td valign="top" align="right">
+								Show on Frontpage:
+								</td>
+								<td>
+								<input type="checkbox" name="frontpage" value="1" <?php echo $row->frontpage ? 'checked="checked"' : ''; ?> />
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" align="right">
+								Published:
+								</td>
+								<td>
+								<input type="checkbox" name="published" value="1" <?php echo $row->state ? 'checked="checked"' : ''; ?> />
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" align="right">
+								Access Level:
+								</td>
+								<td>
+								<?php echo $lists['access']; ?> </td>
+								</tr>
+							<tr>
+								<td valign="top" align="right">
+								Author Alias:
+								</td>
+								<td>
+								<input type="text" name="created_by_alias" size="30" maxlength="100" value="<?php echo $row->created_by_alias; ?>" class="text_area" />
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" align="right">
+								Change Creator:
+								</td>
+								<td>
+								<?php echo $lists['created_by']; ?> </td>
+							</tr>
+							<tr>
+								<td valign="top" align="right">Ordering:</td>
+								<td>
+								<?php echo $lists['ordering']; ?> </td>
+							</tr>
+							<tr>
+								<td valign="top" align="right">
+								Override Created Date
+								</td>
+								<td>
+								<input class="text_area" type="text" name="created" id="created" size="25" maxlength="19" value="<?php echo $row->created; ?>" />
+								<input name="reset" type="reset" class="button" onClick="return showCalendar('created', 'y-mm-dd');" value="...">
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" align="right">
+								Start Publishing:
+								</td>
+								<td>
+								<input class="text_area" type="text" name="publish_up" id="publish_up" size="25" maxlength="19" value="<?php echo $row->publish_up; ?>" />
+								<input type="reset" class="button" value="..." onClick="return showCalendar('publish_up', 'y-mm-dd');">
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" align="right">
+								Finish Publishing:
+								</td>
+								<td>
+								<input class="text_area" type="text" name="publish_down" id="publish_down" size="25" maxlength="19" value="<?php echo $row->publish_down; ?>" />
+								<input type="reset" class="button" value="..." onClick="return showCalendar('publish_down', 'y-mm-dd');">
+								</td>
+							</tr>
+							</table>
+							<br />
+							<table class="adminform">
+							<?php
+							if ( $row->id ) {
+								?>
+								<tr>
+									<td>
+									<strong>Content ID:</strong>
+									</td>
+									<td>
+									<?php echo $row->id; ?>
+									</td>
+								</tr>
+								<?php
+							}
+							?>
+							<tr>
+								<td width="90px" valign="top" align="right">
+								<strong>State:</strong>
+								</td>
+								<td>
+								<?php echo $row->state > 0 ? 'Published' : ($row->state < 0 ? 'Archived' : 'Draft Unpublished');?>
+								</td>
+							</tr>
+							<tr >
+								<td valign="top" align="right">
+								<strong>
+								Hits
+								</strong>:
+								</td>
+								<td>
+								<?php echo $row->hits;?>
+								<div <?php echo $visibility; ?>>
+								<input name="reset_hits" type="button" class="button" value="Reset Hit Count" onClick="submitbutton('resethits');">
+								</div>
+								</td>
+							</tr>
 							<tr>
-								<td align="right">
-								Source:
+								<td valign="top" align="right">
+								<strong>
+								Revised
+								</strong>:
 								</td>
 								<td>
-								<input class="text_area" type="text" name= "_source" value="" />
+								<?php echo $row->version;?> times
 								</td>
 							</tr>
 							<tr>
-								<td align="right">
-								Image Align:
+								<td valign="top" align="right">
+								<strong>
+								Created
+								</strong>
 								</td>
 								<td>
-								<?php echo $lists['_align']; ?>
+								<?php echo $row->created ? "$create_date</td></tr><tr><td valign='top' align='right'><strong>By</strong></td><td>$row->creator" : "New document"; ?>
 								</td>
 							</tr>
 							<tr>
-								<td align="right">
-								Alt Text:
+								<td valign="top" align="right">
+								<strong>
+								Last Modified
+								</strong>
 								</td>
 								<td>
-								<input class="text_area" type="text" name="_alt" value="" />
+								<?php echo $row->modified ? "$mod_date</td></tr><tr><td valign='top' align='right'><strong>By</strong></td><td>$row->modifier" : "Not modified";?>
 								</td>
 							</tr>
+							</table>
+							<?php
+							$tabs->endTab();
+							$tabs->startTab("Images","images-page");
+							?>
+							<table class="adminform" width="100%">
+							<tr>
+								<th colspan="2">
+								MOSImage Control
+								</th>
+							</tr>
 							<tr>
-								<td align="right">
-								Border:
+								<td colspan="6">Sub-folder: <?php echo $lists['folders'];?></td>
+							</tr>
+							<tr>
+								<td>
+								Gallery Images:
+								<br />
+								<?php echo $lists['imagefiles'];?>
+								</td>
+								<td valign="top">
+								<img name="view_imagefiles" src="../images/M_images/blank.png" width="100" />
 								</td>
+							</tr>
+							<tr>
 								<td>
-								<input class="text_area" type="text" name="_border" value="" size="3" maxlength="1" />
+								<input class="button" type="button" value="Add" onClick="addSelectedToList('adminForm','imagefiles','imagelist')" />
 								</td>
 							</tr>
 							<tr>
-								<td align="right">
-								Caption:
+								<td>
+								Content Images:
+								<br />
+								<?php echo $lists['imagelist'];?>
 								</td>
+								<td valign="top">
+								<img name="view_imagelist" src="../images/M_images/blank.png" width="100" />
+								</td>
+							</tr>
+							<tr>
 								<td>
-								<input class="text_area" type="text" name="_caption" value="" size="30" />
+								<input class="button" type="button" value="up" onClick="moveInList('adminForm','imagelist',adminForm.imagelist.selectedIndex,-1)" />
+								<input class="button" type="button" value="down" onClick="moveInList('adminForm','imagelist',adminForm.imagelist.selectedIndex,+1)" />
+								<input class="button" type="button" value="remove" onClick="delSelectedFromList('adminForm','imagelist')" />
 								</td>
 							</tr>
 							<tr>
-								<td align="right">
-								Caption Position:
+								<td colspan="2">
+									Edit the image selected:
+									<table>
+									<tr>
+										<td align="right">
+										Source:
+										</td>
+										<td>
+										<input class="text_area" type="text" name= "_source" value="" />
+										</td>
+									</tr>
+									<tr>
+										<td align="right">
+										Image Align:
+										</td>
+										<td>
+										<?php echo $lists['_align']; ?>
+										</td>
+									</tr>
+									<tr>
+										<td align="right">
+										Alt Text:
+										</td>
+										<td>
+										<input class="text_area" type="text" name="_alt" value="" />
+										</td>
+									</tr>
+									<tr>
+										<td align="right">
+										Border:
+										</td>
+										<td>
+										<input class="text_area" type="text" name="_border" value="" size="3" maxlength="1" />
+										</td>
+									</tr>
+									<tr>
+										<td align="right">
+										Caption:
+										</td>
+										<td>
+										<input class="text_area" type="text" name="_caption" value="" size="30" />
+										</td>
+									</tr>
+									<tr>
+										<td align="right">
+										Caption Position:
+										</td>
+										<td>
+										<?php echo $lists['_caption_position']; ?>
+										</td>
+									</tr>
+									<tr>
+										<td align="right">
+										Caption Align:
+										</td>
+										<td>
+										<?php echo $lists['_caption_align']; ?>
+										</td>
+									</tr>
+									<tr>
+										<td align="right">
+										Width:
+										</td>
+										<td>
+										<input class="text_area" type="text" name="_width" value="" size="5" maxlength="5" />
+										</td>
+									</tr>
+									<tr>
+										<td colspan="2">
+										<input class="button" type="button" value="Apply" onClick="applyImageProps()" />
+										</td>
+									</tr>
+									</table>
 								</td>
+							</tr>
+							</table>
+							<?php
+							$tabs->endTab();
+							$tabs->startTab("Parameters","params-page");
+							?>
+							<table class="adminform">
+							<tr>
+								<th colspan="2">
+								Parameter Control
+								</th>
+							<tr>
+							<tr>
 								<td>
-								<?php echo $lists['_caption_position']; ?>
+								* These Parameters only control what you see when you click to view an item fully *
+								<br /><br />
 								</td>
 							</tr>
 							<tr>
-								<td align="right">
-								Caption Align:
+								<td>
+								<?php echo $params->render();?>
+								</td>
+							</tr>
+							</table>
+							<?php
+							$tabs->endTab();
+							$tabs->startTab("Meta Info","metadata-page");
+							?>
+							<table class="adminform">
+							<tr>
+								<th colspan="2">
+								Meta Data
+								</th>
+							</tr>
+							<tr>
+								<td>
+								Description:
+								<br />
+								<textarea class="text_area" cols="30" rows="3" style="width:300px; height:50px" name="metadesc" width="500"><?php echo str_replace('&','&amp;',$row->metadesc); ?></textarea>
 								</td>
+							</tr>
+								<tr>
 								<td>
-								<?php echo $lists['_caption_align']; ?>
+								Keywords:
+								<br />
+								<textarea class="text_area" cols="30" rows="3" style="width:300px; height:50px" name="metakey" width="500"><?php echo str_replace('&','&amp;',$row->metakey); ?></textarea>
 								</td>
 							</tr>
 							<tr>
-								<td align="right">
-								Width:
+								<td>
+								<input type="button" class="button" value="Add Sect/Cat/Title" onClick="f=document.adminForm;f.metakey.value=document.adminForm.sectionid.options[document.adminForm.sectionid.selectedIndex].text+', '+getSelectedText('adminForm','catid')+', '+f.title.value+f.metakey.value;" />
 								</td>
+							</tr>
+							</table>
+							<?php
+							$tabs->endTab();
+							$tabs->startTab("Link to Menu","link-page");
+							?>
+							<table class="adminform">
+							<tr>
+								<th colspan="2">
+								Link to Menu
+								</th>
+							</tr>
+							<tr>
+								<td colspan="2">
+								This will create a 'Link - Content Item' in the menu you select
+								<br /><br />
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" width="90px">
+								Select a Menu
+								</td>
+								<td>
+								<?php echo $lists['menuselect']; ?>
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" width="90px">
+								Menu Item Name
+								</td>
+								<td>
+								<input type="text" name="link_name" class="inputbox" value="" size="30" />
+								</td>
+							</tr>
+							<tr>
 								<td>
-								<input class="text_area" type="text" name="_width" value="" size="5" maxlength="5" />
 								</td>
+								<td>
+								<input name="menu_link" type="button" class="button" value="Link to Menu" onClick="submitbutton('menulink');" />
+								</td>
+							</tr>
+							<tr>
+								<th colspan="2">
+								Existing Menu Links
+								</th>
 							</tr>
+							<?php
+							if ( $menus == NULL ) {
+								?>
+								<tr>
+									<td colspan="2">
+									None
+									</td>
+								</tr>
+								<?php
+							} else {
+								mosCommonHTML::menuLinksContent( $menus );
+							}
+							?>
 							<tr>
 								<td colspan="2">
-								<input class="button" type="button" value="Apply" onClick="applyImageProps()" />
 								</td>
 							</tr>
 							</table>
-						</td>
-					</tr>
-					</table>
-					<?php
-					$tabs->endTab();
-					$tabs->startTab("Parameters","params-page");
-					?>
-					<table class="adminform">
-					<tr>
-						<th colspan="2">
-						Parameter Control
-						</th>
-					<tr>
-					<tr>
-						<td>
-						* These Parameters only control what you see when you click to view an item fully *
-						<br /><br />
-						</td>
-					</tr>
-					<tr>
-						<td>
-						<?php echo $params->render();?>
-						</td>
-					</tr>
-					</table>
-					<?php
-					$tabs->endTab();
-					$tabs->startTab("Meta Info","metadata-page");
-					?>
-					<table class="adminform">
-					<tr>
-						<th colspan="2">
-						Meta Data
-						</th>
-					<tr>
-					<tr>
-						<td>
-						Description:
-						<br />
-						<textarea class="text_area" cols="30" rows="3" style="width:300px; height:50px" name="metadesc" width="500"><?php echo str_replace('&','&amp;',$row->metadesc); ?></textarea>
-						</td>
-					</tr>
-						<tr>
-						<td>
-						Keywords:
-						<br />
-						<textarea class="text_area" cols="30" rows="3" style="width:300px; height:50px" name="metakey" width="500"><?php echo str_replace('&','&amp;',$row->metakey); ?></textarea>
-						</td>
-					</tr>
-					<tr>
-						<td>
-						<input type="button" class="button" value="Add Sect/Cat/Title" onClick="f=document.adminForm;f.metakey.value=document.adminForm.sectionid.options[document.adminForm.sectionid.selectedIndex].text+', '+getSelectedText('adminForm','catid')+', '+f.title.value+f.metakey.value;" />
-						</td>
-					</tr>
-					</table>
-					<?php
-					$tabs->endTab();
-					$tabs->startTab("Link to Menu","link-page");
-					?>
-					<table class="adminform">
-					<tr>
-						<th colspan="2">
-						Link to Menu
-						</th>
-					<tr>
-					<tr>
-						<td colspan="2">
-						This will create a 'Link - Content Item' in the menu you select
-						<br /><br />
-						</td>
-					<tr>
-					<tr>
-						<td valign="top" width="90px">
-						Select a Menu
-						</td>
-						<td>
-						<?php echo $lists['menuselect']; ?>
-						</td>
-					<tr>
-					<tr>
-						<td valign="top" width="90px">
-						Menu Item Name
-						</td>
-						<td>
-						<input type="text" name="link_name" class="inputbox" value="" size="30" />
-						</td>
-					<tr>
-					<tr>
-						<td>
-						</td>
-						<td>
-						<input name="menu_link" type="button" class="button" value="Link to Menu" onClick="submitbutton('menulink');" />
-						</td>
-					<tr>
-					<tr>
-						<th colspan="2">
-						Existing Menu Links
-						</th>
-					</tr>
-					<?php
-					if ( $menus == NULL ) {
-						?>
-						<tr>
-							<td colspan="2">
-							None
+							<?php
+							$tabs->endTab();
+							$tabs->endPane();
+							?>
 							</td>
 						</tr>
-						<?php
-					} else {
-						mosCommonHTML::menuLinksContent( $menus );
-					}
-					?>
-					<tr>
-						<td colspan="2">
-						</td>
+						
+						</table>
+					</td>
 					</tr>
 					</table>
-					<?php
-					$tabs->endTab();
-					$tabs->endPane();
-					?>
+					</div>
 					</td>
+					
 				</tr>
-				</table>
-			</td>
-		</tr>
-		</table>
-
+			</table>
+			
+		</td>
+	</tr>
+</table>
+		
 		<input type="hidden" name="id" value="<?php echo $row->id; ?>" />
 		<input type="hidden" name="version" value="<?php echo $row->version; ?>" />
 		<input type="hidden" name="mask" value="0" />
@@ -1170,4 +1239,4 @@
 
 
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_content/admin.content.php 4.5.4/administrator/components/com_content/admin.content.php
--- 4.5.2.3/administrator/components/com_content/admin.content.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_content/admin.content.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.content.php,v 1.24 2005/02/15 14:09:21 kochp Exp $
+* @version $Id: admin.content.php,v 1.24 2005/12/31 14:09:21 cauld Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -198,7 +198,7 @@
 	$pageNav = new mosPageNav( $total, $limitstart, $limit );
 
 	$query = "SELECT c.*, g.name AS groupname, cc.name, u.name AS editor, f.content_id AS frontpage, s.title AS section_name, v.name AS author"
-	. "\n FROM #__content AS c, #__categories AS cc, #__sections AS s"
+	. "\n FROM #__categories AS cc, #__sections AS s, #__content AS c "
 	. "\n LEFT JOIN #__groups AS g ON g.id = c.access"
 	. "\n LEFT JOIN #__users AS u ON u.id = c.checked_out"
 	. "\n LEFT JOIN #__users AS v ON v.id = c.created_by"
@@ -309,7 +309,7 @@
 	$pageNav = new mosPageNav( $total, $limitstart, $limit  );
 
 	$query = "SELECT c.*, g.name AS groupname, cc.name, v.name AS author"
-	. "\n FROM #__content AS c, #__categories AS cc, #__sections AS s"
+	. "\n FROM #__categories AS cc, #__sections AS s, #__content AS c "
 	. "\n LEFT JOIN #__groups AS g ON g.id = c.access"
 	. "\n LEFT JOIN #__users AS v ON v.id = c.created_by"
 	. ( count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : '' )
@@ -469,7 +469,9 @@
 		$sections = array_merge( $sections, $database->loadObjectList() );
 		$lists['sectionid'] = mosHTML::selectList( $sections, 'sectionid', 'class="inputbox" size="1" '. $javascript, 'value', 'text' );
 	} else {
-		$lists['sectionid'] = mosHTML::selectList( $database->loadObjectList(), 'sectionid', 'class="inputbox" size="1" '. $javascript, 'value', 'text', intval( $row->sectionid) );
+	    $intval = intval( $row->sectionid);
+      $dbLoadObjectList = $database->loadObjectList();
+			$lists['sectionid'] = mosHTML::selectList( $dbLoadObjectList, 'sectionid', 'class="inputbox" size="1" '. $javascript, 'value', 'text', $intval );
 	}
 
 	$sections = $database->loadObjectList();
@@ -1203,4 +1205,4 @@
 			break;
 	} // switch
 } // saveOrder
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_content/content.xml 4.5.4/administrator/components/com_content/content.xml
--- 4.5.2.3/administrator/components/com_content/content.xml	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_content/content.xml	2006-08-01 01:34:25.000000000 -0500
@@ -80,18 +80,6 @@
 			<option value="0">Hide</option>
 			<option value="1">Show</option>
 		</param>
-		<param name="@spacer" type="spacer" default="" label="" description="" />
 		<param name="keyref" type="text" size="25" default="" label="Key Reference" description="A text key that an item may be referenced by (like a help reference)" />
-		<param name="docbook_type" type="list" default="" label="DocBook Type" description="Associates a type of DocBook document with this content item (Note: experimental, not for production).">
-			<option value=""></option>
-			<option value="appendix">Appendix</option>
-			<option value="article">Article</option>
-			<option value="book">Book</option>
-			<option value="chapter">Chapter</option>
-			<option value="glossary">Glossary</option>
-			<option value="part">Part</option>
-			<option value="refentry">Refentry</option>
-			<option value="section">Section</option>
-		</param>
 	</params>
 </mosinstall>
diff -ruN 4.5.2.3/administrator/components/com_content/toolbar.content.html.php 4.5.4/administrator/components/com_content/toolbar.content.html.php
--- 4.5.2.3/administrator/components/com_content/toolbar.content.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_content/toolbar.content.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.content.html.php,v 1.11 2005/02/16 13:08:47 stingrey Exp $
+* @version $Id: toolbar.content.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -32,7 +32,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.content.edit' );
+		mosMenuBar::help( '453.screen.content.edit' );
 		mosMenuBar::endTable();
 	}
 
@@ -42,7 +42,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::custom( 'remove', 'delete.png', 'delete_f2.png', 'Trash', false );
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.content.archive' );
+		mosMenuBar::help( '453.screen.content.archive' );
 		mosMenuBar::endTable();
 	}
 
@@ -51,6 +51,8 @@
 		mosMenuBar::custom( 'movesectsave', 'save.png', 'save_f2.png', 'Save', false );
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
+		mosMenuBar::spacer();
+		mosMenuBar::help( '453.screen.content.copymove' );
 		mosMenuBar::endTable();
 	}
 
@@ -59,6 +61,8 @@
 		mosMenuBar::custom( 'copysave', 'save.png', 'save_f2.png', 'Save', false );
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
+		mosMenuBar::spacer();
+		mosMenuBar::help( '453.screen.content.copymove' );
 		mosMenuBar::endTable();
 	}
 
@@ -80,8 +84,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::trash();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.content' );
+		mosMenuBar::help( '453.screen.content.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_content/toolbar.content.php 4.5.4/administrator/components/com_content/toolbar.content.php
--- 4.5.2.3/administrator/components/com_content/toolbar.content.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_content/toolbar.content.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.content.php,v 1.5 2005/01/09 04:57:13 stingrey Exp $
+* @version $Id: toolbar.content.php,v 1.1 2005/07/22 01:52:17 eddieajau Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_frontpage/admin.frontpage.html.php 4.5.4/administrator/components/com_frontpage/admin.frontpage.html.php
--- 4.5.2.3/administrator/components/com_frontpage/admin.frontpage.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_frontpage/admin.frontpage.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.frontpage.html.php,v 1.15 2005/02/16 16:27:10 saka Exp $
+* @version $Id: admin.frontpage.html.php,v 1.3 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -97,7 +97,7 @@
 			$row->sect_link = 'index2.php?option=com_sections&task=editA&hidemainmenu=1&id='. $row->sectionid;
 			$row->cat_link 	= 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid;
 
-			$now = date( "Y-m-d h:i:s" );
+			$now = date( "Y-m-d H:i:s" );
 			if ( $now <= $row->publish_up && $row->state == "1" ) {
 				$img = 'publish_y.png';
 				$alt = 'Published';
diff -ruN 4.5.2.3/administrator/components/com_frontpage/admin.frontpage.php 4.5.4/administrator/components/com_frontpage/admin.frontpage.php
--- 4.5.2.3/administrator/components/com_frontpage/admin.frontpage.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_frontpage/admin.frontpage.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.frontpage.php,v 1.7 2005/01/16 13:51:49 stingrey Exp $
+* @version $Id: admin.frontpage.php,v 1.1 2005/07/22 01:52:17 eddieajau Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_frontpage/toolbar.frontpage.html.php 4.5.4/administrator/components/com_frontpage/toolbar.frontpage.html.php
--- 4.5.2.3/administrator/components/com_frontpage/toolbar.frontpage.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_frontpage/toolbar.frontpage.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.frontpage.html.php,v 1.6 2005/02/16 05:14:52 kochp Exp $
+* @version $Id: toolbar.frontpage.html.php,v 1.1 2005/07/22 01:52:17 eddieajau Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -26,7 +26,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::custom('remove','delete.png','delete_f2.png','Remove', true);
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.frontpage' );
+		mosMenuBar::help( '453.screen.frontpage' );
 		mosMenuBar::endTable();
 	}
 }
diff -ruN 4.5.2.3/administrator/components/com_frontpage/toolbar.frontpage.php 4.5.4/administrator/components/com_frontpage/toolbar.frontpage.php
--- 4.5.2.3/administrator/components/com_frontpage/toolbar.frontpage.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_frontpage/toolbar.frontpage.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.frontpage.php,v 1.4 2005/01/06 01:13:17 eddieajau Exp $
+* @version $Id: toolbar.frontpage.php,v 1.1 2005/07/22 01:52:17 eddieajau Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/admin.installer.html.php 4.5.4/administrator/components/com_installer/admin.installer.html.php
--- 4.5.2.3/administrator/components/com_installer/admin.installer.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/admin.installer.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.installer.html.php,v 1.6 2005/02/16 08:48:36 stingrey Exp $
+* @version $Id: admin.installer.html.php,v 1.1 2005/07/22 01:52:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/admin.installer.php 4.5.4/administrator/components/com_installer/admin.installer.php
--- 4.5.2.3/administrator/components/com_installer/admin.installer.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/admin.installer.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.installer.php,v 1.7 2005/02/16 08:48:36 stingrey Exp $
+* @version $Id: admin.installer.php,v 1.1 2005/07/22 01:52:25 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/component/component.class.php 4.5.4/administrator/components/com_installer/component/component.class.php
--- 4.5.2.3/administrator/components/com_installer/component/component.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/component/component.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: component.class.php,v 1.6 2005/01/23 22:10:43 eddieajau Exp $
+* @version $Id: component.class.php,v 1.1 2005/07/22 01:52:30 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/component/component.html.php 4.5.4/administrator/components/com_installer/component/component.html.php
--- 4.5.2.3/administrator/components/com_installer/component/component.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/component/component.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: component.html.php,v 1.6 2005/02/16 08:48:36 stingrey Exp $
+* @version $Id: component.html.php,v 1.1 2005/07/22 01:52:30 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/component/component.php 4.5.4/administrator/components/com_installer/component/component.php
--- 4.5.2.3/administrator/components/com_installer/component/component.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/component/component.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: component.php,v 1.7 2005/02/16 08:48:36 stingrey Exp $
+* @version $Id: component.php,v 1.1 2005/07/22 01:52:30 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/installer.class.php 4.5.4/administrator/components/com_installer/installer.class.php
--- 4.5.2.3/administrator/components/com_installer/installer.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/installer.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: installer.class.php,v 1.11 2005/02/14 19:00:48 eddieajau Exp $
+* @version $Id: installer.class.php,v 1.1 2005/07/22 01:52:29 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/language/language.class.php 4.5.4/administrator/components/com_installer/language/language.class.php
--- 4.5.2.3/administrator/components/com_installer/language/language.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/language/language.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: language.class.php,v 1.4 2005/01/06 01:13:17 eddieajau Exp $
+* @version $Id: language.class.php,v 1.1 2005/07/22 01:52:31 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/language/language.php 4.5.4/administrator/components/com_installer/language/language.php
--- 4.5.2.3/administrator/components/com_installer/language/language.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/language/language.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: language.php,v 1.5 2005/02/16 08:48:36 stingrey Exp $
+* @version $Id: language.php,v 1.1 2005/07/22 01:52:31 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/mambot/mambot.class.php 4.5.4/administrator/components/com_installer/mambot/mambot.class.php
--- 4.5.2.3/administrator/components/com_installer/mambot/mambot.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/mambot/mambot.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mambot.class.php,v 1.6 2005/02/09 18:37:56 eddieajau Exp $
+* @version $Id: mambot.class.php,v 1.1 2005/07/22 01:52:31 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/mambot/mambot.html.php 4.5.4/administrator/components/com_installer/mambot/mambot.html.php
--- 4.5.2.3/administrator/components/com_installer/mambot/mambot.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/mambot/mambot.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mambot.html.php,v 1.5 2005/02/16 08:48:37 stingrey Exp $
+* @version $Id: mambot.html.php,v 1.1 2005/07/22 01:52:31 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/mambot/mambot.php 4.5.4/administrator/components/com_installer/mambot/mambot.php
--- 4.5.2.3/administrator/components/com_installer/mambot/mambot.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/mambot/mambot.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mambot.php,v 1.6 2005/02/16 08:48:37 stingrey Exp $
+* @version $Id: mambot.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/module/module.class.php 4.5.4/administrator/components/com_installer/module/module.class.php
--- 4.5.2.3/administrator/components/com_installer/module/module.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/module/module.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: module.class.php,v 1.5 2005/01/06 01:13:18 eddieajau Exp $
+* @version $Id: module.class.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/module/module.html.php 4.5.4/administrator/components/com_installer/module/module.html.php
--- 4.5.2.3/administrator/components/com_installer/module/module.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/module/module.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: module.html.php,v 1.6 2005/02/16 08:48:37 stingrey Exp $
+* @version $Id: module.html.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/module/module.php 4.5.4/administrator/components/com_installer/module/module.php
--- 4.5.2.3/administrator/components/com_installer/module/module.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/module/module.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: module.php,v 1.6 2005/02/16 08:48:37 stingrey Exp $
+* @version $Id: module.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/template/template.class.php 4.5.4/administrator/components/com_installer/template/template.class.php
--- 4.5.2.3/administrator/components/com_installer/template/template.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/template/template.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: template.class.php,v 1.6 2005/01/23 03:24:15 kochp Exp $
+* @version $Id: template.class.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @subpackage Installer
diff -ruN 4.5.2.3/administrator/components/com_installer/template/template.php 4.5.4/administrator/components/com_installer/template/template.php
--- 4.5.2.3/administrator/components/com_installer/template/template.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/template/template.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: template.php,v 1.5 2005/02/16 08:48:37 stingrey Exp $
+* @version $Id: template.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_installer/toolbar.installer.html.php 4.5.4/administrator/components/com_installer/toolbar.installer.html.php
--- 4.5.2.3/administrator/components/com_installer/toolbar.installer.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/toolbar.installer.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.installer.html.php,v 1.8 2005/02/16 08:48:36 stingrey Exp $
+* @version $Id: toolbar.installer.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -16,7 +16,7 @@
 {
 	function _DEFAULT()	{
 		mosMenuBar::startTable();
-		mosMenuBar::help( 'screen.installer' );
+		mosMenuBar::help( '453.screen.installer.lang' );
 		mosMenuBar::endTable();
 	}
 
@@ -24,7 +24,7 @@
 		mosMenuBar::startTable();
 		mosMenuBar::deleteList( '', 'remove', 'Uninstall' );
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.installer2' );
+		mosMenuBar::help( '453.screen.installer.cmm' );
 		mosMenuBar::endTable();
 	}
 
@@ -36,4 +36,4 @@
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_installer/toolbar.installer.php 4.5.4/administrator/components/com_installer/toolbar.installer.php
--- 4.5.2.3/administrator/components/com_installer/toolbar.installer.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_installer/toolbar.installer.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.installer.php,v 1.4 2005/01/06 01:13:17 eddieajau Exp $
+* @version $Id: toolbar.installer.php,v 1.1 2005/07/22 01:52:29 eddieajau Exp $
 * @package Mambo
 * @subpackage Installer
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_languages/admin.languages.html.php 4.5.4/administrator/components/com_languages/admin.languages.html.php
--- 4.5.2.3/administrator/components/com_languages/admin.languages.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_languages/admin.languages.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.languages.html.php,v 1.8 2005/02/15 12:21:06 kochp Exp $
+* @version $Id: admin.languages.html.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Languages
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_languages/admin.languages.php 4.5.4/administrator/components/com_languages/admin.languages.php
--- 4.5.2.3/administrator/components/com_languages/admin.languages.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_languages/admin.languages.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.languages.php,v 1.7 2005/02/16 14:31:26 kochp Exp $
+* @version $Id: admin.languages.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Languages
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_languages/toolbar.languages.html.php 4.5.4/administrator/components/com_languages/toolbar.languages.html.php
--- 4.5.2.3/administrator/components/com_languages/toolbar.languages.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_languages/toolbar.languages.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.languages.html.php,v 1.7 2005/02/16 05:14:52 kochp Exp $
+* @version $Id: toolbar.languages.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Languages
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -26,7 +26,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.languages' );
+		mosMenuBar::help( '453.screen.languages.main' );
 		mosMenuBar::endTable();
 	}
 	function _NEW() {
@@ -42,8 +42,10 @@
 		mosMenuBar::save( 'save_source' );
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
+		mosMenuBar::spacer();
+		mosMenuBar::help( '453.screen.languages.edit' );
 		mosMenuBar::endTable();
 	}
 
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_languages/toolbar.languages.php 4.5.4/administrator/components/com_languages/toolbar.languages.php
--- 4.5.2.3/administrator/components/com_languages/toolbar.languages.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_languages/toolbar.languages.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.languages.php,v 1.4 2005/01/06 01:13:18 eddieajau Exp $
+* @version $Id: toolbar.languages.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Languages
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_mambots/admin.mambots.html.php 4.5.4/administrator/components/com_mambots/admin.mambots.html.php
--- 4.5.2.3/administrator/components/com_mambots/admin.mambots.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_mambots/admin.mambots.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.mambots.html.php,v 1.14 2005/02/16 16:27:10 saka Exp $
+* @version $Id: admin.mambots.html.php,v 1.3 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Mambots
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_mambots/admin.mambots.php 4.5.4/administrator/components/com_mambots/admin.mambots.php
--- 4.5.2.3/administrator/components/com_mambots/admin.mambots.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_mambots/admin.mambots.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.mambots.php,v 1.15 2005/02/15 15:58:12 kochp Exp $
+* @version $Id: admin.mambots.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Mambots
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_mambots/toolbar.mambots.html.php 4.5.4/administrator/components/com_mambots/toolbar.mambots.html.php
--- 4.5.2.3/administrator/components/com_mambots/toolbar.mambots.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_mambots/toolbar.mambots.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.mambots.html.php,v 1.10 2005/02/16 13:08:47 stingrey Exp $
+* @version $Id: toolbar.mambots.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Mambots
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -31,7 +31,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.mambots.edit' );
+		mosMenuBar::help( '453.screen.mambots.edit' );
 		mosMenuBar::endTable();
 	}
 
@@ -47,8 +47,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.mambots' );
+		mosMenuBar::help( '453.screen.mambots.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_mambots/toolbar.mambots.php 4.5.4/administrator/components/com_mambots/toolbar.mambots.php
--- 4.5.2.3/administrator/components/com_mambots/toolbar.mambots.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_mambots/toolbar.mambots.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.mambots.php,v 1.5 2005/01/12 07:57:46 stingrey Exp $
+* @version $Id: toolbar.mambots.php,v 1.1 2005/07/22 01:52:34 eddieajau Exp $
 * @package Mambo
 * @subpackage Mambots
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_massmail/admin.massmail.html.php 4.5.4/administrator/components/com_massmail/admin.massmail.html.php
--- 4.5.2.3/administrator/components/com_massmail/admin.massmail.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_massmail/admin.massmail.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.massmail.html.php,v 1.6 2005/01/26 08:32:24 kochp Exp $
+* @version $Id: admin.massmail.html.php,v 1.1 2005/07/22 01:52:35 eddieajau Exp $
 * @package Mambo
 * @subpackage Massmail
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_massmail/admin.massmail.php 4.5.4/administrator/components/com_massmail/admin.massmail.php
--- 4.5.2.3/administrator/components/com_massmail/admin.massmail.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_massmail/admin.massmail.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.massmail.php,v 1.5 2005/01/11 06:42:28 stingrey Exp $
+* @version $Id: admin.massmail.php,v 1.1 2005/07/22 01:52:35 eddieajau Exp $
 * @package Mambo
 * @subpackage Massmail
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_massmail/toolbar.massmail.html.php 4.5.4/administrator/components/com_massmail/toolbar.massmail.html.php
--- 4.5.2.3/administrator/components/com_massmail/toolbar.massmail.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_massmail/toolbar.massmail.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.massmail.html.php,v 1.6 2005/02/16 05:14:52 kochp Exp $
+* @version $Id: toolbar.massmail.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Massmail
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -25,8 +25,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.users.massmail' );
+		mosMenuBar::help( '453.screen.users.massmail' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_massmail/toolbar.massmail.php 4.5.4/administrator/components/com_massmail/toolbar.massmail.php
--- 4.5.2.3/administrator/components/com_massmail/toolbar.massmail.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_massmail/toolbar.massmail.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.massmail.php,v 1.4 2005/01/06 01:13:19 eddieajau Exp $
+* @version $Id: toolbar.massmail.php,v 1.1 2005/07/22 01:52:35 eddieajau Exp $
 * @package Mambo
 * @subpackage Massmail
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_media/admin.media.html.php 4.5.4/administrator/components/com_media/admin.media.html.php
--- 4.5.2.3/administrator/components/com_media/admin.media.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_media/admin.media.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.media.html.php,v 1.6 2005/02/09 23:10:29 eddieajau Exp $
+* @version $Id: admin.media.html.php,v 1.1 2005/07/22 01:52:35 eddieajau Exp $
 * @package Mambo
 * @subpackage Massmail
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_media/admin.media.php 4.5.4/administrator/components/com_media/admin.media.php
--- 4.5.2.3/administrator/components/com_media/admin.media.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_media/admin.media.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.media.php,v 1.8 2005/01/27 11:56:29 troozers Exp $
+* @version $Id: admin.media.php,v 1.1 2005/07/22 01:52:35 eddieajau Exp $
 * @package Mambo
 * @subpackage Massmail
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_media/toolbar.media.html.php 4.5.4/administrator/components/com_media/toolbar.media.html.php
--- 4.5.2.3/administrator/components/com_media/toolbar.media.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_media/toolbar.media.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.media.html.php,v 1.6 2005/02/16 05:14:52 kochp Exp $
+* @version $Id: toolbar.media.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Massmail
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -26,9 +26,9 @@
 		mosMenuBar::spacer();
 		mosMenuBar::custom('newdir','new.png','new_f2.png','Create' ,false);
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.mediamanager' );
+		mosMenuBar::help( '453.screen.mediamanager' );
 		mosMenuBar::endTable();
 	}
 
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_media/toolbar.media.php 4.5.4/administrator/components/com_media/toolbar.media.php
--- 4.5.2.3/administrator/components/com_media/toolbar.media.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_media/toolbar.media.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.media.php,v 1.4 2005/01/06 01:13:19 eddieajau Exp $
+* @version $Id: toolbar.media.php,v 1.1 2005/07/22 01:52:35 eddieajau Exp $
 * @package Mambo
 * @subpackage Massmail
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menumanager/admin.menumanager.html.php 4.5.4/administrator/components/com_menumanager/admin.menumanager.html.php
--- 4.5.2.3/administrator/components/com_menumanager/admin.menumanager.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menumanager/admin.menumanager.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.menumanager.html.php,v 1.14 2005/02/16 05:14:53 kochp Exp $
+* @version $Id: admin.menumanager.html.php,v 1.1 2005/07/22 01:52:39 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menumanager/admin.menumanager.php 4.5.4/administrator/components/com_menumanager/admin.menumanager.php
--- 4.5.2.3/administrator/components/com_menumanager/admin.menumanager.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menumanager/admin.menumanager.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.menumanager.php,v 1.11 2005/01/07 16:25:40 stingrey Exp $
+* @version $Id: admin.menumanager.php,v 1.1 2005/07/22 01:52:39 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menumanager/toolbar.menumanager.html.php 4.5.4/administrator/components/com_menumanager/toolbar.menumanager.html.php
--- 4.5.2.3/administrator/components/com_menumanager/toolbar.menumanager.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menumanager/toolbar.menumanager.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.menumanager.html.php,v 1.7 2005/02/16 05:14:53 kochp Exp $
+* @version $Id: toolbar.menumanager.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -29,7 +29,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::customX( 'deleteconfirm', 'delete.png', 'delete_f2.png', 'Delete', true );
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.menumanager' );
+		mosMenuBar::help( '453.screen.menumanager.main' );
 		mosMenuBar::endTable();
 	}
 
@@ -51,7 +51,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.menumanager.new' );
+		mosMenuBar::help( '453.screen.menumanager.new' );
 		mosMenuBar::endTable();
 	}
 
@@ -64,9 +64,9 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.menumanager.copy' );
+		mosMenuBar::help( '453.screen.menumanager.copy' );
 		mosMenuBar::endTable();
 	}
 
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_menumanager/toolbar.menumanager.php 4.5.4/administrator/components/com_menumanager/toolbar.menumanager.php
--- 4.5.2.3/administrator/components/com_menumanager/toolbar.menumanager.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menumanager/toolbar.menumanager.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.menumanager.php,v 1.4 2005/01/06 01:13:19 eddieajau Exp $
+* @version $Id: toolbar.menumanager.php,v 1.1 2005/07/22 01:52:39 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/admin.menus.html.php 4.5.4/administrator/components/com_menus/admin.menus.html.php
--- 4.5.2.3/administrator/components/com_menus/admin.menus.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/admin.menus.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.menus.html.php,v 1.25 2005/02/16 16:27:11 saka Exp $
+* @version $Id: admin.menus.html.php,v 1.3 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/admin.menus.php 4.5.4/administrator/components/com_menus/admin.menus.php
--- 4.5.2.3/administrator/components/com_menus/admin.menus.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/admin.menus.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.menus.php,v 1.30 2005/02/16 18:27:26 troozers Exp $
+* @version $Id: admin.menus.php,v 1.1 2005/07/22 01:52:39 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/component_item_link/component_item_link.class.php 4.5.4/administrator/components/com_menus/component_item_link/component_item_link.class.php
--- 4.5.2.3/administrator/components/com_menus/component_item_link/component_item_link.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/component_item_link/component_item_link.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: component_item_link.class.php,v 1.5 2005/01/17 06:33:15 stingrey Exp $
+* @version $Id: component_item_link.class.php,v 1.1 2005/07/22 01:52:45 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php 4.5.4/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: component_item_link.menu.html.php,v 1.7 2005/02/15 12:21:06 kochp Exp $
+* @version $Id: component_item_link.menu.html.php,v 1.1 2005/07/22 01:52:45 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/component_item_link/component_item_link.menu.php 4.5.4/administrator/components/com_menus/component_item_link/component_item_link.menu.php
--- 4.5.2.3/administrator/components/com_menus/component_item_link/component_item_link.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/component_item_link/component_item_link.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: component_item_link.menu.php,v 1.6 2005/01/14 08:03:43 stingrey Exp $
+* @version $Id: component_item_link.menu.php,v 1.1 2005/07/22 01:52:45 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/components/components.class.php 4.5.4/administrator/components/com_menus/components/components.class.php
--- 4.5.2.3/administrator/components/com_menus/components/components.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/components/components.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: components.class.php,v 1.5 2005/01/06 01:13:19 eddieajau Exp $
+* @version $Id: components.class.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/components/components.menu.html.php 4.5.4/administrator/components/com_menus/components/components.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/components/components.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/components/components.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: components.menu.html.php,v 1.8 2005/02/15 12:21:07 kochp Exp $
+* @version $Id: components.menu.html.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/components/components.menu.php 4.5.4/administrator/components/com_menus/components/components.menu.php
--- 4.5.2.3/administrator/components/com_menus/components/components.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/components/components.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: components.menu.php,v 1.6 2005/01/14 08:03:43 stingrey Exp $
+* @version $Id: components.menu.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/contact_category_table/contact_category_table.class.php 4.5.4/administrator/components/com_menus/contact_category_table/contact_category_table.class.php
--- 4.5.2.3/administrator/components/com_menus/contact_category_table/contact_category_table.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/contact_category_table/contact_category_table.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contact_category_table.class.php,v 1.5 2005/01/17 06:33:15 stingrey Exp $
+* @version $Id: contact_category_table.class.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php 4.5.4/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contact_category_table.menu.html.php,v 1.9 2005/02/15 12:21:07 kochp Exp $
+* @version $Id: contact_category_table.menu.html.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/contact_category_table/contact_category_table.menu.php 4.5.4/administrator/components/com_menus/contact_category_table/contact_category_table.menu.php
--- 4.5.2.3/administrator/components/com_menus/contact_category_table/contact_category_table.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/contact_category_table/contact_category_table.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contact_category_table.menu.php,v 1.6 2005/01/14 08:03:43 stingrey Exp $
+* @version $Id: contact_category_table.menu.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/contact_item_link/contact_item_link.class.php 4.5.4/administrator/components/com_menus/contact_item_link/contact_item_link.class.php
--- 4.5.2.3/administrator/components/com_menus/contact_item_link/contact_item_link.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/contact_item_link/contact_item_link.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contact_item_link.class.php,v 1.6 2005/01/17 06:33:15 stingrey Exp $
+* @version $Id: contact_item_link.class.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php 4.5.4/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contact_item_link.menu.html.php,v 1.7 2005/02/15 12:21:07 kochp Exp $
+* @version $Id: contact_item_link.menu.html.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/contact_item_link/contact_item_link.menu.php 4.5.4/administrator/components/com_menus/contact_item_link/contact_item_link.menu.php
--- 4.5.2.3/administrator/components/com_menus/contact_item_link/contact_item_link.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/contact_item_link/contact_item_link.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contact_item_link.menu.php,v 1.6 2005/01/14 08:03:44 stingrey Exp $
+* @version $Id: contact_item_link.menu.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_archive_category/content_archive_category.class.php 4.5.4/administrator/components/com_menus/content_archive_category/content_archive_category.class.php
--- 4.5.2.3/administrator/components/com_menus/content_archive_category/content_archive_category.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_archive_category/content_archive_category.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_archive_category.class.php,v 1.5 2005/01/17 06:33:16 stingrey Exp $
+* @version $Id: content_archive_category.class.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php 4.5.4/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_archive_category.menu.html.php,v 1.8 2005/02/15 12:21:07 kochp Exp $
+* @version $Id: content_archive_category.menu.html.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_archive_category/content_archive_category.menu.php 4.5.4/administrator/components/com_menus/content_archive_category/content_archive_category.menu.php
--- 4.5.2.3/administrator/components/com_menus/content_archive_category/content_archive_category.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_archive_category/content_archive_category.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_archive_category.menu.php,v 1.6 2005/01/14 08:03:44 stingrey Exp $
+* @version $Id: content_archive_category.menu.php,v 1.1 2005/07/22 01:52:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_archive_section/content_archive_section.class.php 4.5.4/administrator/components/com_menus/content_archive_section/content_archive_section.class.php
--- 4.5.2.3/administrator/components/com_menus/content_archive_section/content_archive_section.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_archive_section/content_archive_section.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_archive_section.class.php,v 1.5 2005/01/17 06:33:16 stingrey Exp $
+* @version $Id: content_archive_section.class.php,v 1.1 2005/07/22 01:52:51 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php 4.5.4/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_archive_section.menu.html.php,v 1.8 2005/02/15 12:21:07 kochp Exp $
+* @version $Id: content_archive_section.menu.html.php,v 1.1 2005/07/22 01:52:51 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_archive_section/content_archive_section.menu.php 4.5.4/administrator/components/com_menus/content_archive_section/content_archive_section.menu.php
--- 4.5.2.3/administrator/components/com_menus/content_archive_section/content_archive_section.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_archive_section/content_archive_section.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_archive_section.menu.php,v 1.6 2005/01/14 08:03:44 stingrey Exp $
+* @version $Id: content_archive_section.menu.php,v 1.1 2005/07/22 01:52:51 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_blog_category/content_blog_category.class.php 4.5.4/administrator/components/com_menus/content_blog_category/content_blog_category.class.php
--- 4.5.2.3/administrator/components/com_menus/content_blog_category/content_blog_category.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_blog_category/content_blog_category.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_blog_category.class.php,v 1.7 2005/01/23 08:28:14 stingrey Exp $
+* @version $Id: content_blog_category.class.php,v 1.1 2005/07/22 01:52:51 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php 4.5.4/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_blog_category.menu.html.php,v 1.8 2005/02/15 12:21:07 kochp Exp $
+* @version $Id: content_blog_category.menu.html.php,v 1.1 2005/07/22 01:52:51 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_blog_category/content_blog_category.menu.php 4.5.4/administrator/components/com_menus/content_blog_category/content_blog_category.menu.php
--- 4.5.2.3/administrator/components/com_menus/content_blog_category/content_blog_category.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_blog_category/content_blog_category.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_blog_category.menu.php,v 1.7 2005/01/23 08:28:14 stingrey Exp $
+* @version $Id: content_blog_category.menu.php,v 1.1 2005/07/22 01:52:51 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_blog_section/content_blog_section.class.php 4.5.4/administrator/components/com_menus/content_blog_section/content_blog_section.class.php
--- 4.5.2.3/administrator/components/com_menus/content_blog_section/content_blog_section.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_blog_section/content_blog_section.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_blog_section.class.php,v 1.7 2005/01/23 08:28:14 stingrey Exp $
+* @version $Id: content_blog_section.class.php,v 1.1 2005/07/22 01:52:58 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php 4.5.4/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_blog_section.menu.html.php,v 1.8 2005/02/15 12:21:08 kochp Exp $
+* @version $Id: content_blog_section.menu.html.php,v 1.1 2005/07/22 01:52:58 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_blog_section/content_blog_section.menu.php 4.5.4/administrator/components/com_menus/content_blog_section/content_blog_section.menu.php
--- 4.5.2.3/administrator/components/com_menus/content_blog_section/content_blog_section.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_blog_section/content_blog_section.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_blog_section.menu.php,v 1.7 2005/01/23 08:28:14 stingrey Exp $
+* @version $Id: content_blog_section.menu.php,v 1.1 2005/07/22 01:52:58 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_category/content_category.class.php 4.5.4/administrator/components/com_menus/content_category/content_category.class.php
--- 4.5.2.3/administrator/components/com_menus/content_category/content_category.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_category/content_category.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_category.class.php,v 1.5 2005/01/17 06:33:16 stingrey Exp $
+* @version $Id: content_category.class.php,v 1.1 2005/07/22 01:52:58 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_category/content_category.menu.html.php 4.5.4/administrator/components/com_menus/content_category/content_category.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/content_category/content_category.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_category/content_category.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_category.menu.html.php,v 1.8 2005/02/15 12:21:08 kochp Exp $
+* @version $Id: content_category.menu.html.php,v 1.1 2005/07/22 01:52:59 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_category/content_category.menu.php 4.5.4/administrator/components/com_menus/content_category/content_category.menu.php
--- 4.5.2.3/administrator/components/com_menus/content_category/content_category.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_category/content_category.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_category.menu.php,v 1.6 2005/01/14 08:03:44 stingrey Exp $
+* @version $Id: content_category.menu.php,v 1.1 2005/07/22 01:52:59 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_item_link/content_item_link.class.php 4.5.4/administrator/components/com_menus/content_item_link/content_item_link.class.php
--- 4.5.2.3/administrator/components/com_menus/content_item_link/content_item_link.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_item_link/content_item_link.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_item_link.class.php,v 1.6 2005/01/17 06:33:16 stingrey Exp $
+* @version $Id: content_item_link.class.php,v 1.1 2005/07/22 01:53:05 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php 4.5.4/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_item_link.menu.html.php,v 1.8 2005/02/15 12:21:08 kochp Exp $
+* @version $Id: content_item_link.menu.html.php,v 1.1 2005/07/22 01:53:05 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_item_link/content_item_link.menu.php 4.5.4/administrator/components/com_menus/content_item_link/content_item_link.menu.php
--- 4.5.2.3/administrator/components/com_menus/content_item_link/content_item_link.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_item_link/content_item_link.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_item_link.menu.php,v 1.7 2005/01/14 08:03:44 stingrey Exp $
+* @version $Id: content_item_link.menu.php,v 1.1 2005/07/22 01:53:05 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_section/content_section.class.php 4.5.4/administrator/components/com_menus/content_section/content_section.class.php
--- 4.5.2.3/administrator/components/com_menus/content_section/content_section.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_section/content_section.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_section.class.php,v 1.5 2005/01/17 06:33:16 stingrey Exp $
+* @version $Id: content_section.class.php,v 1.1 2005/07/22 01:53:05 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_section/content_section.menu.html.php 4.5.4/administrator/components/com_menus/content_section/content_section.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/content_section/content_section.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_section/content_section.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_section.menu.html.php,v 1.8 2005/02/15 12:21:08 kochp Exp $
+* @version $Id: content_section.menu.html.php,v 1.2 2005/11/14 21:56:04 eliasan Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -65,7 +65,7 @@
 		<table class="adminheading">
 		<tr>
 			<th>
-			<?php echo $menu->id ? 'Edit' : 'Add';?> Menu Item :: List - Content Section
+			<?php echo $menu->id ? 'Edit' : 'Add';?> Menu Item :: Table - Content Section
 			</th>
 		</tr>
 		</table>
@@ -161,4 +161,4 @@
 		<?php
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_menus/content_section/content_section.menu.php 4.5.4/administrator/components/com_menus/content_section/content_section.menu.php
--- 4.5.2.3/administrator/components/com_menus/content_section/content_section.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_section/content_section.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_section.menu.php,v 1.6 2005/01/14 08:03:45 stingrey Exp $
+* @version $Id: content_section.menu.php,v 1.1 2005/07/22 01:53:05 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_typed/content_typed.class.php 4.5.4/administrator/components/com_menus/content_typed/content_typed.class.php
--- 4.5.2.3/administrator/components/com_menus/content_typed/content_typed.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_typed/content_typed.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_typed.class.php,v 1.7 2005/01/17 06:33:16 stingrey Exp $
+* @version $Id: content_typed.class.php,v 1.1 2005/07/22 01:53:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_typed/content_typed.menu.html.php 4.5.4/administrator/components/com_menus/content_typed/content_typed.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/content_typed/content_typed.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_typed/content_typed.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_typed.menu.html.php,v 1.8 2005/02/15 12:21:08 kochp Exp $
+* @version $Id: content_typed.menu.html.php,v 1.1 2005/07/22 01:53:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/content_typed/content_typed.menu.php 4.5.4/administrator/components/com_menus/content_typed/content_typed.menu.php
--- 4.5.2.3/administrator/components/com_menus/content_typed/content_typed.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/content_typed/content_typed.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content_typed.menu.php,v 1.8 2005/01/14 08:03:45 stingrey Exp $
+* @version $Id: content_typed.menu.php,v 1.1 2005/07/22 01:53:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php 4.5.4/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php
--- 4.5.2.3/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: newsfeed_category_table.class.php,v 1.5 2005/01/17 06:33:16 stingrey Exp $
+* @version $Id: newsfeed_category_table.class.php,v 1.1 2005/07/22 01:53:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php 4.5.4/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: newsfeed_category_table.menu.html.php,v 1.8 2005/02/15 12:21:08 kochp Exp $
+* @version $Id: newsfeed_category_table.menu.html.php,v 1.1 2005/07/22 01:53:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.php 4.5.4/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.php
--- 4.5.2.3/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: newsfeed_category_table.menu.php,v 1.6 2005/01/14 08:03:45 stingrey Exp $
+* @version $Id: newsfeed_category_table.menu.php,v 1.1 2005/07/22 01:53:06 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php 4.5.4/administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php
--- 4.5.2.3/administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: newsfeed_link.class.php,v 1.5 2005/01/17 06:33:17 stingrey Exp $
+* @version $Id: newsfeed_link.class.php,v 1.1 2005/07/22 01:53:09 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php 4.5.4/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: newsfeed_link.menu.html.php,v 1.7 2005/02/15 12:21:08 kochp Exp $
+* @version $Id: newsfeed_link.menu.html.php,v 1.1 2005/07/22 01:53:11 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.php 4.5.4/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.php
--- 4.5.2.3/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: newsfeed_link.menu.php,v 1.6 2005/01/14 08:03:45 stingrey Exp $
+* @version $Id: newsfeed_link.menu.php,v 1.1 2005/07/22 01:53:11 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/separator/separator.class.php 4.5.4/administrator/components/com_menus/separator/separator.class.php
--- 4.5.2.3/administrator/components/com_menus/separator/separator.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/separator/separator.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: separator.class.php,v 1.5 2005/01/17 06:33:17 stingrey Exp $
+* @version $Id: separator.class.php,v 1.1 2005/07/22 01:53:11 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/separator/separator.menu.html.php 4.5.4/administrator/components/com_menus/separator/separator.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/separator/separator.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/separator/separator.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: separator.menu.html.php,v 1.8 2005/02/15 12:21:08 kochp Exp $
+* @version $Id: separator.menu.html.php,v 1.1 2005/07/22 01:53:11 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/separator/separator.menu.php 4.5.4/administrator/components/com_menus/separator/separator.menu.php
--- 4.5.2.3/administrator/components/com_menus/separator/separator.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/separator/separator.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: separator.menu.php,v 1.6 2005/01/14 08:03:45 stingrey Exp $
+* @version $Id: separator.menu.php,v 1.1 2005/07/22 01:53:11 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/toolbar.menus.html.php 4.5.4/administrator/components/com_menus/toolbar.menus.html.php
--- 4.5.2.3/administrator/components/com_menus/toolbar.menus.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/toolbar.menus.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.menus.html.php,v 1.12 2005/02/16 18:22:16 troozers Exp $
+* @version $Id: toolbar.menus.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -25,7 +25,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.menus.new' );
+		mosMenuBar::help( '453.screen.menus.new' );
 		mosMenuBar::endTable();
 	}
 
@@ -38,7 +38,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel( 'cancelmovemenu' );
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.menus.move' );
+		mosMenuBar::help( '453.screen.menus.move' );
 		mosMenuBar::endTable();
 	}
 
@@ -51,15 +51,16 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel( 'cancelcopymenu' );
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.menus.copy' );
+		mosMenuBar::help( '453.screen.menus.copy' );
 		mosMenuBar::endTable();
 	}
 
 	/**
 	* Draws the menu to edit a menu item
 	*/
-	function _EDIT() {
+	function _EDIT($type) {
 		global $id;
+		$hs='';
 
 		if ( !$id ) {
 			$cid = mosGetParam( $_POST, 'cid', array(0) );
@@ -84,7 +85,87 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.menus.edit' );
+		//Displays the right help screen based on the
+		//$type parameter
+    switch ($type){
+		  case 'content_blog_category': //Blog - Content Category 
+		    $hs='453.screen.menus.content_blog_category';
+		    break;
+		    
+		  case 'content_archive_category': //Blog - Content Category Archive 
+		    $hs='453.screen.menus.content_archive_category';
+		    break;
+		    
+		  case 'content_blog_section': //Blog - Content Section 
+		    $hs='453.screen.menus.content_blog_section';
+		    break;
+		    
+		  case 'content_archive_section': //Blog - Content Section Archive 
+		    $hs='453.screen.menus.content_archive_section';
+		    break;
+		    
+		  case 'content_item_link': //Link - Content Item 
+		    $hs='453.screen.menus.content_item_link';
+		    break;
+		    
+		  case 'content_typed': //Link - Static Content 
+		    $hs='453.screen.menus.content_typed';
+		    break;
+		    
+		  case 'content_category': //Table - Content Category 
+		    $hs='453.screen.menus.content_category';
+		    break;
+		    
+		  case 'content_section': //Table - Content Section 
+		    $hs='453.screen.menus.content_section';
+		    break;
+		    
+		  case 'components': //Component
+		    $hs='453.screen.menus.components';
+		    break;
+		    
+		  case 'component_item_link': //Link - Component Item 
+		    $hs='453.screen.menus.component_item_link';
+		    break;
+		    
+		  case 'contact_item_link': //Link - Contact Item
+		    $hs='453.screen.menus.contact_item_link';
+		    break;
+		    
+		  case 'newsfeed_link': //Link - Newsfeed
+		    $hs='453.screen.menus.newsfeed_link';
+		    break;
+		    
+		  case 'contact_category_table': //Table - Contact Category
+		    $hs='453.screen.menus.contact_category_table';
+		    break;
+		    
+		  case 'newsfeed_category_table': //Table - Newsfeed Category
+		    $hs='453.screen.menus.newsfeed_category_table';
+		    break;
+		    
+		  case 'weblink_category_table': //Table - Weblink Category
+		    $hs='453.screen.menus.weblink_category_table';
+		    break;
+		    
+		  case 'url': //Link - URL
+		    $hs='453.screen.menus.url';
+		    break;
+		    
+		  case 'separator': //Separator / Placeholder
+		    $hs='453.screen.menus.separator';
+		    break;
+		    
+		  case 'wrapper': //Wrapper
+		    $hs='453.screen.menus.wrapper';
+		    break;
+		    
+		  default:
+		    $hs='default';
+		    break;
+		}
+		mosMenuBar::help( $hs );  
+    //mosMenuBar::help( '453.screen.menus.edit' );
 		mosMenuBar::endTable();
 	}
 
@@ -104,7 +185,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::trash();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.menus' );
+		mosMenuBar::help( '453.screen.menus.main' );
 		mosMenuBar::endTable();
 	}
 }
diff -ruN 4.5.2.3/administrator/components/com_menus/toolbar.menus.php 4.5.4/administrator/components/com_menus/toolbar.menus.php
--- 4.5.2.3/administrator/components/com_menus/toolbar.menus.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/toolbar.menus.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.menus.php,v 1.6 2005/01/23 08:28:14 stingrey Exp $
+* @version $Id: toolbar.menus.php,v 1.3 2005/11/11 10:07:35 eliasan Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -44,7 +44,7 @@
 				if ( file_exists( $item_path  ) ) {
 					require_once( $item_path  );
 				} else {
-					TOOLBAR_menus::_EDIT();
+					TOOLBAR_menus::_EDIT($type);
 				}
 			} else {
 				echo $database->stderr();
@@ -57,10 +57,10 @@
 				if ( file_exists( $item_path ) ) {
 					require_once( $item_path  );
 				} else {
-					TOOLBAR_menus::_EDIT();
+					TOOLBAR_menus::_EDIT($type);
 				}
 			} else {
-				TOOLBAR_menus::_EDIT();
+				TOOLBAR_menus::_EDIT($type);
 			}
 		}
 		break;
@@ -80,4 +80,4 @@
 		}
 		break;
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_menus/url/url.class.php 4.5.4/administrator/components/com_menus/url/url.class.php
--- 4.5.2.3/administrator/components/com_menus/url/url.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/url/url.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: url.class.php,v 1.5 2005/01/17 06:33:17 stingrey Exp $
+* @version $Id: url.class.php,v 1.1 2005/07/22 01:53:11 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/url/url.menu.html.php 4.5.4/administrator/components/com_menus/url/url.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/url/url.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/url/url.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: url.menu.html.php,v 1.7 2005/02/15 12:21:08 kochp Exp $
+* @version $Id: url.menu.html.php,v 1.1 2005/07/22 01:53:11 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/url/url.menu.php 4.5.4/administrator/components/com_menus/url/url.menu.php
--- 4.5.2.3/administrator/components/com_menus/url/url.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/url/url.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: url.menu.php,v 1.6 2005/01/14 08:03:45 stingrey Exp $
+* @version $Id: url.menu.php,v 1.1 2005/07/22 01:53:12 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php 4.5.4/administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php
--- 4.5.2.3/administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: weblink_category_table.class.php,v 1.5 2005/01/17 06:33:17 stingrey Exp $
+* @version $Id: weblink_category_table.class.php,v 1.1 2005/07/22 01:53:12 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php 4.5.4/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: weblink_category_table.menu.html.php,v 1.8 2005/02/15 12:21:09 kochp Exp $
+* @version $Id: weblink_category_table.menu.html.php,v 1.1 2005/07/22 01:53:12 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.php 4.5.4/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.php
--- 4.5.2.3/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: weblink_category_table.menu.php,v 1.6 2005/01/14 08:03:45 stingrey Exp $
+* @version $Id: weblink_category_table.menu.php,v 1.1 2005/07/22 01:53:12 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/wrapper/wrapper.class.php 4.5.4/administrator/components/com_menus/wrapper/wrapper.class.php
--- 4.5.2.3/administrator/components/com_menus/wrapper/wrapper.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/wrapper/wrapper.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: wrapper.class.php,v 1.7 2005/01/23 08:28:14 stingrey Exp $
+* @version $Id: wrapper.class.php,v 1.1 2005/07/22 01:53:16 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/wrapper/wrapper.menu.html.php 4.5.4/administrator/components/com_menus/wrapper/wrapper.menu.html.php
--- 4.5.2.3/administrator/components/com_menus/wrapper/wrapper.menu.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/wrapper/wrapper.menu.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: wrapper.menu.html.php,v 1.8 2005/02/15 12:21:09 kochp Exp $
+* @version $Id: wrapper.menu.html.php,v 1.1 2005/07/22 01:53:16 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_menus/wrapper/wrapper.menu.php 4.5.4/administrator/components/com_menus/wrapper/wrapper.menu.php
--- 4.5.2.3/administrator/components/com_menus/wrapper/wrapper.menu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_menus/wrapper/wrapper.menu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: wrapper.menu.php,v 1.7 2005/01/23 08:28:14 stingrey Exp $
+* @version $Id: wrapper.menu.php,v 1.1 2005/07/22 01:53:16 eddieajau Exp $
 * @package Mambo
 * @subpackage Menus
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_messages/admin.messages.html.php 4.5.4/administrator/components/com_messages/admin.messages.html.php
--- 4.5.2.3/administrator/components/com_messages/admin.messages.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_messages/admin.messages.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.messages.html.php,v 1.5 2005/02/15 15:58:12 kochp Exp $
+* @version $Id: admin.messages.html.php,v 1.1 2005/07/22 01:53:17 eddieajau Exp $
 * @package Mambo
 * @subpackage Messages
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_messages/admin.messages.php 4.5.4/administrator/components/com_messages/admin.messages.php
--- 4.5.2.3/administrator/components/com_messages/admin.messages.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_messages/admin.messages.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.messages.php,v 1.5 2005/02/15 15:58:12 kochp Exp $
+* @version $Id: admin.messages.php,v 1.1 2005/07/22 01:53:17 eddieajau Exp $
 * @package Mambo
 * @subpackage Messages
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_messages/toolbar.messages.html.php 4.5.4/administrator/components/com_messages/toolbar.messages.html.php
--- 4.5.2.3/administrator/components/com_messages/toolbar.messages.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_messages/toolbar.messages.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.messages.html.php,v 1.7 2005/02/16 05:14:54 kochp Exp $
+* @version $Id: toolbar.messages.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Messages
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -32,7 +32,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.messages.edit' );
+		mosMenuBar::help( '453.screen.messages.new' );
 		mosMenuBar::endTable();
 	}
 
@@ -42,7 +42,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel( 'cancelconfig' );
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.messages.conf' );
+		mosMenuBar::help( '453.screen.messages.conf' );
 		mosMenuBar::endTable();
 	}
 
@@ -52,8 +52,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.messages.inbox' );
+		mosMenuBar::help( '453.screen.messages.inbox' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_messages/toolbar.messages.php 4.5.4/administrator/components/com_messages/toolbar.messages.php
--- 4.5.2.3/administrator/components/com_messages/toolbar.messages.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_messages/toolbar.messages.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.messages.php,v 1.5 2005/02/15 15:58:13 kochp Exp $
+* @version $Id: toolbar.messages.php,v 1.1 2005/07/22 01:53:17 eddieajau Exp $
 * @package Mambo
 * @subpackage Messages
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_modules/admin.modules.html.php 4.5.4/administrator/components/com_modules/admin.modules.html.php
--- 4.5.2.3/administrator/components/com_modules/admin.modules.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_modules/admin.modules.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.modules.html.php,v 1.17 2005/02/16 16:27:11 saka Exp $
+* @version $Id: admin.modules.html.php,v 1.3 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Modules
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_modules/admin.modules.php 4.5.4/administrator/components/com_modules/admin.modules.php
--- 4.5.2.3/administrator/components/com_modules/admin.modules.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_modules/admin.modules.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.modules.php,v 1.16 2005/02/15 15:58:13 kochp Exp $
+* @version $Id: admin.modules.php,v 1.1 2005/07/22 01:53:20 eddieajau Exp $
 * @package Mambo
 * @subpackage Modules
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_modules/toolbar.modules.html.php 4.5.4/administrator/components/com_modules/toolbar.modules.html.php
--- 4.5.2.3/administrator/components/com_modules/toolbar.modules.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_modules/toolbar.modules.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.modules.html.php,v 1.10 2005/02/16 13:08:53 stingrey Exp $
+* @version $Id: toolbar.modules.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Modules
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -26,7 +26,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.modules.new' );
+		mosMenuBar::help( '453.screen.modules.new' );
 		mosMenuBar::endTable();
 	}
 
@@ -52,7 +52,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.modules.edit' );
+		mosMenuBar::help( '453.screen.modules.edit' );
 		mosMenuBar::endTable();
 	}
 	function _DEFAULT() {
@@ -69,8 +69,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.modules' );
+		mosMenuBar::help( '453.screen.modules.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_modules/toolbar.modules.php 4.5.4/administrator/components/com_modules/toolbar.modules.php
--- 4.5.2.3/administrator/components/com_modules/toolbar.modules.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_modules/toolbar.modules.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.modules.php,v 1.5 2005/01/11 17:20:05 stingrey Exp $
+* @version $Id: toolbar.modules.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Modules
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_newsfeeds/admin.newsfeeds.html.php 4.5.4/administrator/components/com_newsfeeds/admin.newsfeeds.html.php
--- 4.5.2.3/administrator/components/com_newsfeeds/admin.newsfeeds.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_newsfeeds/admin.newsfeeds.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.newsfeeds.html.php,v 1.8 2005/02/16 10:38:13 stingrey Exp $
+* @version $Id: admin.newsfeeds.html.php,v 1.3 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Newsfeeds
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_newsfeeds/admin.newsfeeds.php 4.5.4/administrator/components/com_newsfeeds/admin.newsfeeds.php
--- 4.5.2.3/administrator/components/com_newsfeeds/admin.newsfeeds.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_newsfeeds/admin.newsfeeds.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.newsfeeds.php,v 1.6 2005/02/16 10:38:13 stingrey Exp $
+* @version $Id: admin.newsfeeds.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Newsfeeds
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_newsfeeds/newsfeeds.class.php 4.5.4/administrator/components/com_newsfeeds/newsfeeds.class.php
--- 4.5.2.3/administrator/components/com_newsfeeds/newsfeeds.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_newsfeeds/newsfeeds.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: newsfeeds.class.php,v 1.4 2005/01/06 01:13:22 eddieajau Exp $
+* @version $Id: newsfeeds.class.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Newsfeeds
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php 4.5.4/administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php
--- 4.5.2.3/administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.newsfeeds.html.php,v 1.9 2005/02/16 13:55:33 stingrey Exp $
+* @version $Id: toolbar.newsfeeds.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Newsfeeds
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -28,7 +28,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.newsfeeds' );
+		mosMenuBar::help( '453.screen.newsfeeds.main' );
 		mosMenuBar::endTable();
 	}
 
@@ -38,7 +38,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.newsfeeds.edit' );
+		mosMenuBar::help( '453.screen.newsfeeds.edit' );
 		mosMenuBar::endTable();
 	}
 
@@ -55,8 +55,8 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.newsfeeds.edit' );
+		mosMenuBar::help( '453.screen.newsfeeds.edit' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_newsfeeds/toolbar.newsfeeds.php 4.5.4/administrator/components/com_newsfeeds/toolbar.newsfeeds.php
--- 4.5.2.3/administrator/components/com_newsfeeds/toolbar.newsfeeds.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_newsfeeds/toolbar.newsfeeds.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.newsfeeds.php,v 1.5 2005/01/06 01:13:22 eddieajau Exp $
+* @version $Id: toolbar.newsfeeds.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Newsfeeds
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_poll/admin.poll.html.php 4.5.4/administrator/components/com_poll/admin.poll.html.php
--- 4.5.2.3/administrator/components/com_poll/admin.poll.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_poll/admin.poll.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.poll.html.php,v 1.7 2005/02/15 14:49:42 kochp Exp $
+* @version $Id: admin.poll.html.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Polls
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_poll/admin.poll.php 4.5.4/administrator/components/com_poll/admin.poll.php
--- 4.5.2.3/administrator/components/com_poll/admin.poll.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_poll/admin.poll.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.poll.php,v 1.5 2005/02/11 11:10:48 stingrey Exp $
+* @version $Id: admin.poll.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Polls
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_poll/poll.class.php 4.5.4/administrator/components/com_poll/poll.class.php
--- 4.5.2.3/administrator/components/com_poll/poll.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_poll/poll.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: poll.class.php,v 1.4 2005/01/06 01:13:22 eddieajau Exp $
+* @version $Id: poll.class.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Polls
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_poll/toolbar.poll.html.php 4.5.4/administrator/components/com_poll/toolbar.poll.html.php
--- 4.5.2.3/administrator/components/com_poll/toolbar.poll.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_poll/toolbar.poll.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.poll.html.php,v 1.8 2005/02/16 13:55:35 stingrey Exp $
+* @version $Id: toolbar.poll.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Polls
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -25,7 +25,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.polls.edit' );
+		mosMenuBar::help( '453.screen.polls.edit' );
 		mosMenuBar::endTable();
 	}
 	/**
@@ -53,7 +53,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-	    mosMenuBar::help( 'screen.polls.edit' );
+	    mosMenuBar::help( '453.screen.polls.edit' );
 	    mosMenuBar::endTable();
 	}
 	function _DEFAULT() {
@@ -68,8 +68,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.polls' );
+		mosMenuBar::help( '453.screen.polls.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_poll/toolbar.poll.php 4.5.4/administrator/components/com_poll/toolbar.poll.php
--- 4.5.2.3/administrator/components/com_poll/toolbar.poll.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_poll/toolbar.poll.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.poll.php,v 1.5 2005/02/11 11:10:48 stingrey Exp $
+* @version $Id: toolbar.poll.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Polls
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_sections/admin.sections.html.php 4.5.4/administrator/components/com_sections/admin.sections.html.php
--- 4.5.2.3/administrator/components/com_sections/admin.sections.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_sections/admin.sections.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.sections.html.php,v 1.17 2005/02/16 16:27:11 saka Exp $
+* @version $Id: admin.sections.html.php,v 1.4 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Sections
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -208,9 +208,45 @@
 				submitform(pressbutton);
 			}
 		}
+		// show / hide publishing information
+			function displayParameterInfo()
+			{
+				
+				if(document.getElementById('simpleediting').style.display == 'block')
+				{
+					document.getElementById('simpleediting').style.display = 'none';	
+					document.getElementById('show').style.display = 'block';	
+					document.getElementById('hide').style.display = 'none';
+					document.adminForm.simple_editing.value ='on';
+				}
+				else
+				{
+					document.getElementById('simpleediting').style.display = 'block';
+					document.getElementById('show').style.display = 'none';	
+					document.getElementById('hide').style.display = 'block';
+					document.adminForm.simple_editing.value ='off';
+				}
+				
+			}
 		</script>
-
+		<?php
+		if($_SESSION['simple_editing'] == 'on')
+		{
+			$simpleediting ='none';
+			$simple = 'block';
+			$advanced = 'none';
+		}
+		else
+		{
+			
+			$advanced = 'block';
+			$simple = 'none';
+			$simpleediting ='block';
+		}
+		
+		?>
 		<form action="index2.php" method="post" name="adminForm">
+		<input type ="hidden" name="simple_editing" value=''>
 		<table class="adminheading">
 		<tr>
 			<th class="sections">
@@ -224,10 +260,21 @@
 			</th>
 		</tr>
 		</table>
-
+		<table width="100%">
+			<tr>
+				<td valign="top" align="right">
+				<div id = "show" style="display:<?php echo $simple;?>">
+				<a href="javascript:displayParameterInfo();">Show Advanced Details</a>
+				</div>
+				<div id = "hide" style="display:<?php echo $advanced;?>">
+				<a href="javascript:displayParameterInfo();">Hide Advanced Details</a>
+				</div>
+				</td>
+			</tr>
+		</table>
 		<table width="100%">
 		<tr>
-			<td valign="top" width="60%">
+			<td valign="top" >
 				<table class="adminform">
 				<tr>
 					<th colspan="3">
@@ -321,7 +368,11 @@
 				</tr>
 				</table>
 			</td>
-			<td valign="top">
+			<td valign="top" align="right">
+			<div id="simpleediting" style="display:<?php echo $simpleediting;?>">
+			<table cellspacing="0" cellpadding="0" border="0" width="100%" >
+				<tr>
+					<td width="40%">
 			<?php
 			if ( $row->id > 0 ) {
     				?>
@@ -394,6 +445,7 @@
 			<?php
 			} else {
 			?>
+			
 			<table class="adminform" width="40%">
 				<tr><th>&nbsp;</th></tr>
 				<tr><td>Menu links available when saved</td></tr>
@@ -404,6 +456,14 @@
 			</td>
 		</tr>
 		</table>
+			</td>
+					</tr>
+					</table>
+					</div>
+					</td>
+					
+				</tr>
+			</table>
 
 		<input type="hidden" name="option" value="<?php echo $option;?>" />
 		<input type="hidden" name="scope" value="<?php echo $row->scope; ?>" />
diff -ruN 4.5.2.3/administrator/components/com_sections/admin.sections.php 4.5.4/administrator/components/com_sections/admin.sections.php
--- 4.5.2.3/administrator/components/com_sections/admin.sections.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_sections/admin.sections.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.sections.php,v 1.11 2005/02/15 14:09:22 kochp Exp $
+* @version $Id: admin.sections.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Sections
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -267,11 +267,11 @@
 
 	$row = new mosSection( $database );
 	if (!$row->bind( $_POST )) {
-		echo "<script> alert('".$row->getErrorMsg()."'); window.history.go(-1); </script>\n";
+		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
 		exit();
 	}
 	if (!$row->check()) {
-		echo "<script> alert('".$row->getErrorMsg()."'); window.history.go(-1); </script>\n";
+		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
 		exit();
 	}
 	if ( $oldtitle ) {
@@ -282,7 +282,7 @@
 	}
 
 	if (!$row->store()) {
-		echo "<script> alert('".$row->getErrorMsg()."'); window.history.go(-1); </script>\n";
+		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
 		exit();
 	}
 	$row->checkin();
@@ -696,4 +696,4 @@
 	$msg 	= 'New ordering saved';
 	mosRedirect( 'index2.php?option=com_sections&scope=content', $msg );
 } // saveOrder
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_sections/toolbar.sections.html.php 4.5.4/administrator/components/com_sections/toolbar.sections.html.php
--- 4.5.2.3/administrator/components/com_sections/toolbar.sections.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_sections/toolbar.sections.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.sections.html.php,v 1.10 2005/02/16 13:08:53 stingrey Exp $
+* @version $Id: toolbar.sections.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Sections
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -36,7 +36,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.sections.edit' );
+		mosMenuBar::help( '453.screen.sections.edit' );
 		mosMenuBar::endTable();
 	}
 	/**
@@ -48,6 +48,8 @@
 		mosMenuBar::save( 'copysave' );
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
+		mosMenuBar::spacer();
+		mosMenuBar::help( '453.screen.sections.copy' );
 		mosMenuBar::endTable();
 	}
 	/**
@@ -67,8 +69,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.sections' );
+		mosMenuBar::help( '453.screen.sections.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_sections/toolbar.sections.php 4.5.4/administrator/components/com_sections/toolbar.sections.php
--- 4.5.2.3/administrator/components/com_sections/toolbar.sections.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_sections/toolbar.sections.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.sections.php,v 1.5 2005/01/06 01:13:23 eddieajau Exp $
+* @version $Id: toolbar.sections.php,v 1.1 2005/07/22 01:53:21 eddieajau Exp $
 * @package Mambo
 * @subpackage Sections
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_statistics/admin.statistics.html.php 4.5.4/administrator/components/com_statistics/admin.statistics.html.php
--- 4.5.2.3/administrator/components/com_statistics/admin.statistics.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_statistics/admin.statistics.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.statistics.html.php,v 1.5 2005/01/06 01:13:23 eddieajau Exp $
+* @version $Id: admin.statistics.html.php,v 1.1 2005/07/22 01:53:22 eddieajau Exp $
 * @package Mambo
 * @subpackage Statistics
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_statistics/admin.statistics.php 4.5.4/administrator/components/com_statistics/admin.statistics.php
--- 4.5.2.3/administrator/components/com_statistics/admin.statistics.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_statistics/admin.statistics.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.statistics.php,v 1.4 2005/01/06 01:13:23 eddieajau Exp $
+* @version $Id: admin.statistics.php,v 1.1 2005/07/22 01:53:22 eddieajau Exp $
 * @package Mambo
 * @subpackage Statistics
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_statistics/toolbar.statistics.html.php 4.5.4/administrator/components/com_statistics/toolbar.statistics.html.php
--- 4.5.2.3/administrator/components/com_statistics/toolbar.statistics.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_statistics/toolbar.statistics.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.statistics.html.php,v 1.5 2005/02/11 01:26:42 levis Exp $
+* @version $Id: toolbar.statistics.html.php,v 1.1 2005/07/22 01:53:22 eddieajau Exp $
 * @package Mambo
 * @subpackage Statistics
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -18,7 +18,7 @@
 class TOOLBAR_statistics {
 	function _SEARCHES() {
 		mosMenuBar::startTable();
-		mosMenuBar::help( 'screen.stats.searches' );
+		mosMenuBar::help( '453.screen.stats.searches' );
 		mosMenuBar::endTable();
 	}
 }
diff -ruN 4.5.2.3/administrator/components/com_statistics/toolbar.statistics.php 4.5.4/administrator/components/com_statistics/toolbar.statistics.php
--- 4.5.2.3/administrator/components/com_statistics/toolbar.statistics.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_statistics/toolbar.statistics.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.statistics.php,v 1.4 2005/01/06 01:13:23 eddieajau Exp $
+* @version $Id: toolbar.statistics.php,v 1.1 2005/07/22 01:53:22 eddieajau Exp $
 * @package Mambo
 * @subpackage Statistics
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_syndicate/admin.syndicate.html.php 4.5.4/administrator/components/com_syndicate/admin.syndicate.html.php
--- 4.5.2.3/administrator/components/com_syndicate/admin.syndicate.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_syndicate/admin.syndicate.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.syndicate.html.php,v 1.4 2005/01/06 01:13:23 eddieajau Exp $
+* @version $Id: admin.syndicate.html.php,v 1.1 2005/07/22 01:53:28 eddieajau Exp $
 * @package Mambo
 * @subpackage Syndicate
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_syndicate/admin.syndicate.php 4.5.4/administrator/components/com_syndicate/admin.syndicate.php
--- 4.5.2.3/administrator/components/com_syndicate/admin.syndicate.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_syndicate/admin.syndicate.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.syndicate.php,v 1.6 2005/01/09 13:47:57 stingrey Exp $
+* @version $Id: admin.syndicate.php,v 1.1 2005/07/22 01:53:28 eddieajau Exp $
 * @package Mambo
 * @subpackage Syndicate
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_syndicate/toolbar.syndicate.html.php 4.5.4/administrator/components/com_syndicate/toolbar.syndicate.html.php
--- 4.5.2.3/administrator/components/com_syndicate/toolbar.syndicate.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_syndicate/toolbar.syndicate.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.syndicate.html.php,v 1.7 2005/02/16 05:14:54 kochp Exp $
+* @version $Id: toolbar.syndicate.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Syndicate
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -23,8 +23,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.syndicate' );
+		mosMenuBar::help( '453.screen.syndicate' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_syndicate/toolbar.syndicate.php 4.5.4/administrator/components/com_syndicate/toolbar.syndicate.php
--- 4.5.2.3/administrator/components/com_syndicate/toolbar.syndicate.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_syndicate/toolbar.syndicate.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.syndicate.php,v 1.4 2005/01/06 01:13:23 eddieajau Exp $
+* @version $Id: toolbar.syndicate.php,v 1.1 2005/07/22 01:53:28 eddieajau Exp $
 * @package Mambo
 * @subpackage Syndicate
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_templates/admin.templates.class.php 4.5.4/administrator/components/com_templates/admin.templates.class.php
--- 4.5.2.3/administrator/components/com_templates/admin.templates.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_templates/admin.templates.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.templates.class.php,v 1.4 2005/01/06 01:13:24 eddieajau Exp $
+* @version $Id: admin.templates.class.php,v 1.1 2005/07/22 01:53:29 eddieajau Exp $
 * @package Mambo
 * @subpackage Templates
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_templates/admin.templates.html.php 4.5.4/administrator/components/com_templates/admin.templates.html.php
--- 4.5.2.3/administrator/components/com_templates/admin.templates.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_templates/admin.templates.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.templates.html.php,v 1.10 2005/02/15 12:21:09 kochp Exp $
+* @version $Id: admin.templates.html.php,v 1.3 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Templates
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_templates/admin.templates.php 4.5.4/administrator/components/com_templates/admin.templates.php
--- 4.5.2.3/administrator/components/com_templates/admin.templates.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_templates/admin.templates.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.templates.php,v 1.7 2005/02/16 14:31:26 kochp Exp $
+* @version $Id: admin.templates.php,v 1.1 2005/07/22 01:53:31 eddieajau Exp $
 * @package Mambo
 * @subpackage Templates
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_templates/toolbar.templates.html.php 4.5.4/administrator/components/com_templates/toolbar.templates.html.php
--- 4.5.2.3/administrator/components/com_templates/toolbar.templates.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_templates/toolbar.templates.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.templates.html.php,v 1.10 2005/02/16 05:14:55 kochp Exp $
+* @version $Id: toolbar.templates.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Templates
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -35,7 +35,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.templates' );
+		mosMenuBar::help( '453.screen.templates.main' );
 		mosMenuBar::endTable();
 	}
  	function _VIEW(){
@@ -49,6 +49,8 @@
 		mosMenuBar::save( 'save_source' );
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
+		mosMenuBar::spacer();
+		mosMenuBar::help( '453.screen.templates.edithtml' );
 		mosMenuBar::endTable();
 	}
 
@@ -57,6 +59,8 @@
 		mosMenuBar::save( 'save_css' );
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
+		mosMenuBar::spacer();
+		mosMenuBar::help( '453.screen.templates.editcss' );
 		mosMenuBar::endTable();
 	}
 
@@ -66,7 +70,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.templates.assign' );
+		mosMenuBar::help( '453.screen.templates.assign' );
 		mosMenuBar::endTable();
 	}
 
@@ -76,8 +80,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.templates.modules' );
+		mosMenuBar::help( '453.screen.templates.modules' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_templates/toolbar.templates.php 4.5.4/administrator/components/com_templates/toolbar.templates.php
--- 4.5.2.3/administrator/components/com_templates/toolbar.templates.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_templates/toolbar.templates.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.templates.php,v 1.4 2005/01/06 01:13:24 eddieajau Exp $
+* @version $Id: toolbar.templates.php,v 1.1 2005/07/22 01:53:31 eddieajau Exp $
 * @package Mambo
 * @subpackage Templates
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_trash/admin.trash.html.php 4.5.4/administrator/components/com_trash/admin.trash.html.php
--- 4.5.2.3/administrator/components/com_trash/admin.trash.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_trash/admin.trash.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.trash.html.php,v 1.5 2005/01/06 01:13:24 eddieajau Exp $
+* @version $Id: admin.trash.html.php,v 1.1 2005/07/22 01:53:32 eddieajau Exp $
 * @package Mambo
 * @subpackage Trash
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_trash/admin.trash.php 4.5.4/administrator/components/com_trash/admin.trash.php
--- 4.5.2.3/administrator/components/com_trash/admin.trash.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_trash/admin.trash.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.trash.php,v 1.4 2005/01/06 01:13:24 eddieajau Exp $
+* @version $Id: admin.trash.php,v 1.1 2005/07/22 01:53:32 eddieajau Exp $
 * @package Mambo
 * @subpackage Trash
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_trash/toolbar.trash.html.php 4.5.4/administrator/components/com_trash/toolbar.trash.html.php
--- 4.5.2.3/administrator/components/com_trash/toolbar.trash.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_trash/toolbar.trash.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.trash.html.php,v 1.6 2005/02/16 05:14:55 kochp Exp $
+* @version $Id: toolbar.trash.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Trash
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -22,7 +22,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::custom('deleteconfirm','delete.png','delete_f2.png','Delete', true);
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.trashmanager' );
+		mosMenuBar::help( '453.screen.trashmanager' );
 		mosMenuBar::endTable();
 	}
 
@@ -41,4 +41,4 @@
 	}
 
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_trash/toolbar.trash.php 4.5.4/administrator/components/com_trash/toolbar.trash.php
--- 4.5.2.3/administrator/components/com_trash/toolbar.trash.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_trash/toolbar.trash.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.trash.php,v 1.4 2005/01/06 01:13:24 eddieajau Exp $
+* @version $Id: toolbar.trash.php,v 1.1 2005/07/22 01:53:32 eddieajau Exp $
 * @package Mambo
 * @subpackage Trash
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_typedcontent/admin.typedcontent.html.php 4.5.4/administrator/components/com_typedcontent/admin.typedcontent.html.php
--- 4.5.2.3/administrator/components/com_typedcontent/admin.typedcontent.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_typedcontent/admin.typedcontent.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.typedcontent.html.php,v 1.24 2005/02/16 16:27:11 saka Exp $
+* @version $Id: admin.typedcontent.html.php,v 1.4 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -92,7 +92,7 @@
 		for ($i=0, $n=count( $rows ); $i < $n; $i++) {
 			$row = &$rows[$i];
 
-			$now = date( "Y-m-d h:i:s" );
+			$now = date( "Y-m-d H:i:s" );
 			if ( $now <= $row->publish_up && $row->state == "1" ) {
 				$img = 'publish_y.png';
 				$alt = 'Published';
@@ -309,8 +309,44 @@
 				submitform( pressbutton );
 			}
 		}
+		
+			// show / hide publishing information
+			function displayParameterInfo()
+			{
+				
+				if(document.getElementById('simpleediting').style.display == 'block')
+				{
+					document.getElementById('simpleediting').style.display = 'none';	
+					document.getElementById('show').style.display = 'block';	
+					document.getElementById('hide').style.display = 'none';
+					document.adminForm.simple_editing.value ='on';
+				}
+				else
+				{
+					document.getElementById('simpleediting').style.display = 'block';
+					document.getElementById('show').style.display = 'none';	
+					document.getElementById('hide').style.display = 'block';
+					document.adminForm.simple_editing.value ='off';
+				}
+				
+			}
 		</script>
-
+		<?php
+		if($_SESSION['simple_editing'] == 'on')
+		{
+			
+			$simpleediting ='none';
+			$simple = 'block';
+			$advanced = 'none';
+		}
+		else
+		{
+			$advanced = 'block';
+			$simple = 'none';
+			$simpleediting ='block';
+		}
+		
+		?>
 		<table class="adminheading">
 		<tr>
 			<th class="edit">
@@ -321,12 +357,24 @@
 			</th>
 		</tr>
 		</table>
-
+		<table width="100%">
+			<tr>
+				<td valign="top" align="right">
+				<div id = "show" style="display:<?php echo $simple;?>">
+				<a href="javascript:displayParameterInfo();">Show Advanced Details</a>
+				</div>
+				<div id = "hide" style="display:<?php echo $advanced;?>">
+				<a href="javascript:displayParameterInfo();">Hide Advanced Details</a>
+				</div>
+				</td>
+			</tr>
+		</table>
 		<form action="index2.php" method="post" name="adminForm">
-
+		<input type ="hidden" name="simple_editing" value=''>
+		
 		<table cellspacing="0" cellpadding="0" border="0" width="100%">
 		<tr>
-			<td width="60%" valign="top">
+			<td valign="top">
 				<table class="adminform">
 				<tr>
 					<th colspan="3">
@@ -360,7 +408,16 @@
 				</tr>
 				</table>
 			</td>
-			<td width="40%" valign="top">
+			
+			<td valign="top" align="right">
+			<div id="simpleediting" style="display:<?php echo $simpleediting;?>">
+			<table width="100%" >
+				<tr>
+					<td width="200">
+			
+						<table width="400">
+						<tr>
+							<td >
 				<?php
 				$tabs->startPane("content-pane");
 				$tabs->startTab("Publishing","publish-page");
@@ -730,10 +787,22 @@
 				$tabs->endTab();
 				$tabs->endPane();
 				?>
-		    </td>
-		</tr>
-		</table>
-
+		    	</td>
+						</tr>
+						
+						</table>
+					</td>
+					</tr>
+					</table>
+					</div>
+					</td>
+					
+				</tr>
+			</table>
+			
+		</td>
+	</tr>
+</table>
 		<input type="hidden" name="images" value="" />
 		<input type="hidden" name="option" value="<?php echo $option; ?>" />
 		<input type="hidden" name="id" value="<?php echo $row->id; ?>" />
diff -ruN 4.5.2.3/administrator/components/com_typedcontent/admin.typedcontent.php 4.5.4/administrator/components/com_typedcontent/admin.typedcontent.php
--- 4.5.2.3/administrator/components/com_typedcontent/admin.typedcontent.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_typedcontent/admin.typedcontent.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.typedcontent.php,v 1.15 2005/02/16 07:48:36 kochp Exp $
+* @version $Id: admin.typedcontent.php,v 1.2 2005/07/22 03:30:09 eddieajau Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_typedcontent/toolbar.typedcontent.html.php 4.5.4/administrator/components/com_typedcontent/toolbar.typedcontent.html.php
--- 4.5.2.3/administrator/components/com_typedcontent/toolbar.typedcontent.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_typedcontent/toolbar.typedcontent.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.typedcontent.html.php,v 1.11 2005/02/16 07:48:36 kochp Exp $
+* @version $Id: toolbar.typedcontent.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -25,7 +25,7 @@
 		mosMenuBar::spacer();
 		mosMenuBar::cancel();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.staticcontent.edit' );
+		mosMenuBar::help( '453.screen.staticcontent.edit' );
 		mosMenuBar::endTable();
 	}
 
@@ -41,8 +41,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::trash();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.staticcontent' );
+		mosMenuBar::help( '453.screen.staticcontent.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_typedcontent/toolbar.typedcontent.php 4.5.4/administrator/components/com_typedcontent/toolbar.typedcontent.php
--- 4.5.2.3/administrator/components/com_typedcontent/toolbar.typedcontent.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_typedcontent/toolbar.typedcontent.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.typedcontent.php,v 1.6 2005/01/09 12:53:18 stingrey Exp $
+* @version $Id: toolbar.typedcontent.php,v 1.1 2005/07/22 01:53:37 eddieajau Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_users/admin.users.html.php 4.5.4/administrator/components/com_users/admin.users.html.php
--- 4.5.2.3/administrator/components/com_users/admin.users.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_users/admin.users.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.users.html.php,v 1.11 2005/02/15 12:21:09 kochp Exp $
+* @version $Id: admin.users.html.php,v 1.1 2005/07/22 01:53:37 eddieajau Exp $
 * @package Mambo
 * @subpackage Users
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_users/admin.users.php 4.5.4/administrator/components/com_users/admin.users.php
--- 4.5.2.3/administrator/components/com_users/admin.users.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_users/admin.users.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.users.php,v 1.14 2005/02/16 14:21:00 stingrey Exp $
+* @version $Id: admin.users.php,v 1.2 2005/08/07 23:23:03 eddieajau Exp $
 * @package Mambo
 * @subpackage Users
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -112,10 +112,14 @@
 		$where[] = "(a.gid NOT IN (" . implode( ',', $pgids ) . "))";
 	}
 
-	$query = "SELECT COUNT(*)"
-	. "\n FROM #__users AS a"
-	. "\n LEFT JOIN #__session AS s ON s.userid = a.id"
-	. ( count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' )
+	$query = "SELECT COUNT(a.id)"
+	. "\n FROM #__users AS a";
+
+	if ($filter_logged == 1 || $filter_logged == 2) {
+		$query .= "\n INNER JOIN #__session AS s ON s.userid = a.id";
+	}
+
+	$query .= ( count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' )
 	;
 	$database->setQuery( $query );
 	$total = $database->loadResult();
@@ -123,13 +127,17 @@
 	require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' );
 	$pageNav = new mosPageNav( $total, $limitstart, $limit  );
 
-	$query = "SELECT a.*, g.name AS groupname, s.userid AS loggedin"
+	$query = "SELECT a.*, g.name AS groupname"
 	. "\n FROM #__users AS a"
 	. "\n INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id"	// map user to aro
 	. "\n INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id"	// map aro to group
-	. "\n INNER JOIN #__core_acl_aro_groups AS g ON g.group_id = gm.group_id"
-	. "\n LEFT JOIN #__session AS s ON s.userid = a.id"
-	. (count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : "")
+	. "\n INNER JOIN #__core_acl_aro_groups AS g ON g.group_id = gm.group_id";
+
+	if ($filter_logged == 1 || $filter_logged == 2) {
+		$query .= "\n INNER JOIN #__session AS s ON s.userid = a.id";
+	}
+
+	$query .= (count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : "")
 	. "\n GROUP BY a.id"
 	. "\n LIMIT $pageNav->limitstart, $pageNav->limit"
 	;
@@ -141,6 +149,15 @@
 		return false;
 	}
 
+	$template = 'SELECT COUNT(s.userid) FROM #__session AS s WHERE s.userid = %d';
+	$n = count( $rows );
+	for ($i = 0; $i < $n; $i++) {
+		$row = &$rows[$i];
+		$query = sprintf( $template, intval( $row->id ) );
+		$database->setQuery( $query );
+		$row->loggedin = $database->loadResult();
+	}
+
 	// get list of Groups for dropdown filter
 	$query = "SELECT name AS value, name AS text"
 	. "\n FROM #__core_acl_aro_groups"
@@ -155,7 +172,6 @@
 	// get list of Log Status for dropdown filter
 	$logged[] = mosHTML::makeOption( 0, '- Select Log Status - ');
 	$logged[] = mosHTML::makeOption( 1, 'Logged In');
-	$logged[] = mosHTML::makeOption( 2, 'Not Logged In');
 	$lists['logged'] = mosHTML::selectList( $logged, 'filter_logged', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', "$filter_logged" );
 
 	HTML_users::showUsers( $rows, $pageNav, $search, $option, $lists );
@@ -409,10 +425,10 @@
 	$database->query();
 
 	switch ( $task ) {
-		case 'flogout':			
+		case 'flogout':
 			mosRedirect( 'index2.php', $database->getErrorMsg() );
 			break;
-	
+
 		default:
 			mosRedirect( 'index2.php?option='. $option, $database->getErrorMsg() );
 			break;
diff -ruN 4.5.2.3/administrator/components/com_users/toolbar.users.html.php 4.5.4/administrator/components/com_users/toolbar.users.html.php
--- 4.5.2.3/administrator/components/com_users/toolbar.users.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_users/toolbar.users.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.users.html.php,v 1.10 2005/02/16 13:55:35 stingrey Exp $
+* @version $Id: toolbar.users.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Users
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -34,7 +34,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.users.edit' );
+		mosMenuBar::help( '453.screen.users.edit' );
 		mosMenuBar::endTable();
 	}
 
@@ -48,8 +48,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::custom( 'logout', 'cancel.png', 'cancel_f2.png', '&nbsp;Force Logout' );
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.users' );
+		mosMenuBar::help( '453.screen.users.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_users/toolbar.users.php 4.5.4/administrator/components/com_users/toolbar.users.php
--- 4.5.2.3/administrator/components/com_users/toolbar.users.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_users/toolbar.users.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.users.php,v 1.5 2005/01/12 15:28:45 stingrey Exp $
+* @version $Id: toolbar.users.php,v 1.1 2005/07/22 01:53:37 eddieajau Exp $
 * @package Mambo
 * @subpackage Users
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_weblinks/admin.weblinks.html.php 4.5.4/administrator/components/com_weblinks/admin.weblinks.html.php
--- 4.5.2.3/administrator/components/com_weblinks/admin.weblinks.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_weblinks/admin.weblinks.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.weblinks.html.php,v 1.8 2005/02/15 14:49:43 kochp Exp $
+* @version $Id: admin.weblinks.html.php,v 1.3 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Weblinks
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_weblinks/admin.weblinks.php 4.5.4/administrator/components/com_weblinks/admin.weblinks.php
--- 4.5.2.3/administrator/components/com_weblinks/admin.weblinks.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_weblinks/admin.weblinks.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.weblinks.php,v 1.6 2005/02/11 11:10:54 stingrey Exp $
+* @version $Id: admin.weblinks.php,v 1.1 2005/07/22 01:53:38 eddieajau Exp $
 * @package Mambo
 * @subpackage Weblinks
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/components/com_weblinks/toolbar.weblinks.html.php 4.5.4/administrator/components/com_weblinks/toolbar.weblinks.html.php
--- 4.5.2.3/administrator/components/com_weblinks/toolbar.weblinks.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_weblinks/toolbar.weblinks.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.weblinks.html.php,v 1.8 2005/02/16 13:55:35 stingrey Exp $
+* @version $Id: toolbar.weblinks.html.php,v 1.2 2005/11/08 10:26:19 eliasan Exp $
 * @package Mambo
 * @subpackage Weblinks
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -29,7 +29,7 @@
 			mosMenuBar::cancel();
 		}
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.weblink.edit' );
+		mosMenuBar::help( '453.screen.weblink.edit' );
 		mosMenuBar::endTable();
 	}
 	function _DEFAULT() {
@@ -45,8 +45,8 @@
 		mosMenuBar::spacer();
 		mosMenuBar::deleteList();
 		mosMenuBar::spacer();
-		mosMenuBar::help( 'screen.weblink' );
+		mosMenuBar::help( '453.screen.weblink.main' );
 		mosMenuBar::endTable();
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/components/com_weblinks/toolbar.weblinks.php 4.5.4/administrator/components/com_weblinks/toolbar.weblinks.php
--- 4.5.2.3/administrator/components/com_weblinks/toolbar.weblinks.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/components/com_weblinks/toolbar.weblinks.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.weblinks.php,v 1.5 2005/02/11 11:10:54 stingrey Exp $
+* @version $Id: toolbar.weblinks.php,v 1.1 2005/07/22 01:53:38 eddieajau Exp $
 * @package Mambo
 * @subpackage Weblinks
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/administrator/includes/admin.php 4.5.4/administrator/includes/admin.php
--- 4.5.2.3/administrator/includes/admin.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/admin.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: admin.php,v 1.7 2005/01/23 17:58:02 kochp Exp $
+* @version $Id: admin.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/includes/auth.php 4.5.4/administrator/includes/auth.php
--- 4.5.2.3/administrator/includes/auth.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/auth.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: auth.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: auth.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -19,7 +19,7 @@
 	require( $path );
 }
 
-session_name( 'mosadmin' );
+session_name( md5( $mosConfig_live_site ) );
 session_start();
 // restore some session variables
 if (!isset( $my )) {
@@ -38,4 +38,4 @@
 	mosRedirect( "../index.php" );
 	die;
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/administrator/includes/menubar.html.php 4.5.4/administrator/includes/menubar.html.php
--- 4.5.2.3/administrator/includes/menubar.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/menubar.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: menubar.html.php,v 1.18 2005/02/16 05:14:57 kochp Exp $
+* @version $Id: menubar.html.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/includes/pageNavigation.php 4.5.4/administrator/includes/pageNavigation.php
--- 4.5.2.3/administrator/includes/pageNavigation.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/pageNavigation.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: pageNavigation.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: pageNavigation.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/includes/pcl/pclerror.lib.php 4.5.4/administrator/includes/pcl/pclerror.lib.php
--- 4.5.2.3/administrator/includes/pcl/pclerror.lib.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/pcl/pclerror.lib.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: pclerror.lib.php,v 1.3 2004/12/24 03:26:24 eddieajau Exp $
+* @version $Id: pclerror.lib.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 */
 
diff -ruN 4.5.2.3/administrator/includes/pcl/pcltar.lib.php 4.5.4/administrator/includes/pcl/pcltar.lib.php
--- 4.5.2.3/administrator/includes/pcl/pcltar.lib.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/pcl/pcltar.lib.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: pcltar.lib.php,v 1.3 2004/12/24 03:26:24 eddieajau Exp $
+* @version $Id: pcltar.lib.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 */
 
diff -ruN 4.5.2.3/administrator/includes/pcl/pcltrace.lib.php 4.5.4/administrator/includes/pcl/pcltrace.lib.php
--- 4.5.2.3/administrator/includes/pcl/pcltrace.lib.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/pcl/pcltrace.lib.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: pcltrace.lib.php,v 1.3 2004/12/24 03:26:24 eddieajau Exp $
+* @version $Id: pcltrace.lib.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 */
 
diff -ruN 4.5.2.3/administrator/includes/pcl/pclzip.lib.php 4.5.4/administrator/includes/pcl/pclzip.lib.php
--- 4.5.2.3/administrator/includes/pcl/pclzip.lib.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/pcl/pclzip.lib.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: pclzip.lib.php,v 1.3 2004/12/24 03:26:24 eddieajau Exp $
+* @version $Id: pclzip.lib.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 */
 
@@ -30,7 +30,7 @@
 //   The use of this software is at the risk of the user.
 //
 // --------------------------------------------------------------------------------
-// $Id: pclzip.lib.php,v 1.3 2004/12/24 03:26:24 eddieajau Exp $
+// $Id: pclzip.lib.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 // --------------------------------------------------------------------------------
 
   // ----- Constants
diff -ruN 4.5.2.3/administrator/includes/pcl/zip.lib.php 4.5.4/administrator/includes/pcl/zip.lib.php
--- 4.5.2.3/administrator/includes/pcl/zip.lib.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/pcl/zip.lib.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,13 +1,13 @@
 <?php
 /**
-* @version $Id: zip.lib.php,v 1.3 2004/12/24 03:26:24 eddieajau Exp $
+* @version $Id: zip.lib.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 */
 
 /** ensure this file is being included by a parent file */
 defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
 
-// $Id: zip.lib.php,v 1.3 2004/12/24 03:26:24 eddieajau Exp $
+// $Id: zip.lib.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 //
 // The "GNU General Public License" (GPL) is available at
 // http://www.gnu.org/copyleft/gpl.html.
diff -ruN 4.5.2.3/administrator/includes/toolbar.html.php 4.5.4/administrator/includes/toolbar.html.php
--- 4.5.2.3/administrator/includes/toolbar.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/includes/toolbar.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: toolbar.html.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: toolbar.html.php,v 1.1 2005/07/22 01:53:54 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/index2.php 4.5.4/administrator/index2.php
--- 4.5.2.3/administrator/index2.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/index2.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,12 +1,24 @@
 <?php
 /**
-* @version $Id: index2.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: index2.php,v 1.8 2005/11/24 23:44:14 cauld Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * Mambo is Free Software
 */
 
+// fix to address the globals overwrite problem in php versions < 4.4.1
+$protect_globals = array('_REQUEST', '_GET', '_POST', '_COOKIE', '_FILES', '_SERVER', '_ENV', 'GLOBALS', '_SESSION');
+foreach ($protect_globals as $global) {
+    if ( in_array($global , array_keys($_REQUEST)) ||
+         in_array($global , array_keys($_GET))     ||
+         in_array($global , array_keys($_POST))    ||
+         in_array($global , array_keys($_COOKIE))  ||
+         in_array($global , array_keys($_FILES))) {
+        die("Invalid Request.");
+    }
+}
+
 /** Set flag that this is a parent file */
 define( "_VALID_MOS", 1 );
 
@@ -30,9 +42,18 @@
 	$option = 'com_admin';
 }
 // must start the session before we create the mainframe object
-session_name( 'mosadmin' );
+session_name( md5( $mosConfig_live_site ) );
 session_start();
 
+if ($option == 'simple_mode') {
+	
+	$_SESSION['simple_editing'] = 'on';
+}
+if ($option == 'advanced_mode') {
+
+	$_SESSION['simple_editing'] = 'off';
+}
+
 // mainframe is an API workhorse, lots of 'core' interaction routines
 $mainframe = new mosMainFrame( $database, $option, '..', true );
 
@@ -57,6 +78,16 @@
 $session_id = mosGetParam( $_SESSION, 'session_id', '' );
 $logintime = mosGetParam( $_SESSION, 'session_logintime', '' );
 
+
+if(!isset($_SESSION['simple_editing'])){
+	$_SESSION['simple_editing'] ='off';
+}
+
+if(isset($_POST['simple_editing']) && ($_POST['simple_editing'] != ''))
+{
+	$_SESSION['simple_editing'] = $_POST['simple_editing'];
+}
+
 // check against db record of session
 if ($session_id == md5( $my->id.$my->username.$my->usertype.$logintime )) {
 	$database->setQuery( "SELECT * FROM #__session"
diff -ruN 4.5.2.3/administrator/index3.php 4.5.4/administrator/index3.php
--- 4.5.2.3/administrator/index3.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/index3.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,12 +1,25 @@
 <?php
 /**
-* @version $Id: index3.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: index3.php,v 1.5 2005/11/21 11:57:50 csouza Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * Mambo is Free Software
 */
 
+
+// fix to address the globals overwrite problem in php versions < 4.4.1
+$protect_globals = array('_REQUEST', '_GET', '_POST', '_COOKIE', '_FILES', '_SERVER', '_ENV', 'GLOBALS', '_SESSION');
+foreach ($protect_globals as $global) {
+    if ( in_array($global , array_keys($_REQUEST)) ||
+         in_array($global , array_keys($_GET))     ||
+         in_array($global , array_keys($_POST))    ||
+         in_array($global , array_keys($_COOKIE))  ||
+         in_array($global , array_keys($_FILES))) {
+        die("Invalid Request.");
+    }
+}
+
 /** Set flag that this is a parent file */
 define( "_VALID_MOS", 1 );
 
@@ -28,7 +41,7 @@
 $option = trim( strtolower( mosGetParam( $_REQUEST, 'option', '' ) ) );
 
 // must start the session before we create the mainframe object
-session_name( 'mosadmin' );
+session_name( md5( $mosConfig_live_site ) );
 session_start();
 
 // mainframe is an API workhorse, lots of 'core' interaction routines
diff -ruN 4.5.2.3/administrator/index.php 4.5.4/administrator/index.php
--- 4.5.2.3/administrator/index.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/index.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,12 +1,24 @@
 <?php
 /**
-* @version $Id: index.php,v 1.6 2005/02/13 02:41:39 stingrey Exp $
+* @version $Id: index.php,v 1.6 2005/11/21 11:57:50 csouza Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * Mambo is Free Software
 */
 
+// fix to address the globals overwrite problem in php versions < 4.4.1
+$protect_globals = array('_REQUEST', '_GET', '_POST', '_COOKIE', '_FILES', '_SERVER', '_ENV', 'GLOBALS', '_SESSION');
+foreach ($protect_globals as $global) {
+    if ( in_array($global , array_keys($_REQUEST)) ||
+         in_array($global , array_keys($_GET))     ||
+         in_array($global , array_keys($_POST))    ||
+         in_array($global , array_keys($_COOKIE))  ||
+         in_array($global , array_keys($_FILES))) {
+        die("Invalid Request.");
+    }
+}
+
 /** Set flag that this is a parent file */
 define( "_VALID_MOS", 1 );
 
@@ -40,7 +52,7 @@
 
 	$query = "SELECT COUNT(*)"
 	. "\n FROM #__users"
-	. "\n WHERE ( LOWER( usertype ) = 'administrator'" 
+	. "\n WHERE ( LOWER( usertype ) = 'administrator'"
 	. "\n OR LOWER( usertype ) = 'superadministrator'"
 	. "\n OR LOWER( usertype ) = 'super administrator' )"
 	;
@@ -50,25 +62,25 @@
 		echo "<script>alert(\""._LOGIN_NOADMINS."\"); window.history.go(-1); </script>\n";
 		exit();
 	}
-	
+
 	$query = "SELECT * FROM #__users WHERE username='$usrname' AND block='0'";
 	$database->setQuery( $query );
 	$my = null;
 	$database->loadObject( $my );
 
 	/** find the user group (or groups in the future) */
-	$grp 			= $acl->getAroGroup( $my->id );
-	$my->gid 		= $grp->group_id;
-	$my->usertype 	= $grp->name;
+	if (@$my->id) {
+		$grp 			= $acl->getAroGroup( $my->id );
+		$my->gid 		= $grp->group_id;
+		$my->usertype 	= $grp->name;
 
-	if ($my->id) {
 		if (strcmp( $my->password, $pass )
 		|| !$acl->acl_check( 'administration', 'login', 'users', $my->usertype )) {
 			echo "<script>alert('Incorrect Username, Password, or Access Level.  Please try again'); document.location.href='index.php';</script>\n";
 			exit();
 		}
 
-		session_name( 'mosadmin' );
+		session_name( md5( $mosConfig_live_site ) );
 		session_start();
 
 		$logintime 	= time();
diff -ruN 4.5.2.3/administrator/logout.php 4.5.4/administrator/logout.php
--- 4.5.2.3/administrator/logout.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/logout.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: logout.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: logout.php,v 1.1 2005/07/22 01:53:55 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_components.php 4.5.4/administrator/modules/mod_components.php
--- 4.5.2.3/administrator/modules/mod_components.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_components.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_components.php,v 1.6 2005/01/24 15:31:55 kochp Exp $
+* @version $Id: mod_components.php,v 1.1 2005/07/22 01:53:55 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_fullmenu.php 4.5.4/administrator/modules/mod_fullmenu.php
--- 4.5.2.3/administrator/modules/mod_fullmenu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_fullmenu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,327 +1,328 @@
-<?php
-/**
-* @version $Id: mod_fullmenu.php,v 1.21 2005/02/16 16:10:46 kochp Exp $
-* @package Mambo
-* @copyright (C) 2000 - 2005 Miro International Pty Ltd
-* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
-* Mambo is Free Software
-*/
-
-/** ensure this file is being included by a parent file */
-defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
-
-/**
-* Full DHTML Admnistrator Menus
-* @package Mambo
-*/
-class mosFullAdminMenu {
-	/**
-	* Show the menu
-	* @param string The current user type
-	*/
-	function show( $usertype='' ) {
-		global $acl, $database;
-		global $mosConfig_live_site, $mosConfig_enable_stats, $mosConfig_caching;
-
-		// cache some acl checks
-		$canConfig 			= $acl->acl_check( 'administration', 'config', 'users', $usertype );
-
-		$manageTemplates 	= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_templates' );
-		$manageTrash 		= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_trash' );
-		$manageMenuMan 		= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_menumanager' );
-		$manageLanguages 	= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_languages' );
-		$installModules 	= $acl->acl_check( 'administration', 'install', 'users', $usertype, 'modules', 'all' );
-		$editAllModules 	= $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'modules', 'all' );
-		$installMambots 	= $acl->acl_check( 'administration', 'install', 'users', $usertype, 'mambots', 'all' );
-		$editAllMambots 	= $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'mambots', 'all' );
-		$installComponents 	= $acl->acl_check( 'administration', 'install', 'users', $usertype, 'components', 'all' );
-		$editAllComponents 	= $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', 'all' );
-		$canMassMail 		= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_massmail' );
-		$canManageUsers 	= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_users' );
-
-        $query = "SELECT a.id, a.title, a.name,"
-        . "\nCOUNT(DISTINCT c.id) AS numcat, COUNT(DISTINCT b.id) AS numarc"
-        . "\n FROM #__sections AS a"
-        . "\n LEFT JOIN #__categories AS c ON c.section=a.id"
-        . "\n LEFT JOIN #__content AS b ON b.sectionid=a.id AND b.state=-1"
-        . "\n WHERE a.scope='content'"
-        . "\n GROUP BY a.id"
-        . "\n ORDER BY a.ordering"
-        ;
-        $database->setQuery( $query );
-        $sections = $database->loadObjectList();
-		$nonemptySections = 0;
-		foreach ($sections as $section)
-			if ($section->numcat > 0)
-				$nonemptySections++;
-		$menuTypes = mosAdminMenus::menutypes();
-?>
-		<div id="myMenuID"></div>
-		<script language="JavaScript" type="text/javascript">
-		var myMenu =
-		[
-<?php
-	// Home Sub-Menu
-?>			[null,'Home','index2.php',null,'Control Panel'],
-			_cmSplit,
-<?php
-	// Site Sub-Menu
-?>			[null,'Site',null,null,'Site Management',
-<?php
-			if ($canConfig) {
-?>				['<img src="../includes/js/ThemeOffice/config.png" />','Global Configuration','index2.php?option=com_config&hidemainmenu=1',null,'Configuration'],
-<?php
-			}
-			if ($manageLanguages) {
-?>				['<img src="../includes/js/ThemeOffice/language.png" />','Language Manager',null,null,'Manage languages',
-  					['<img src="../includes/js/ThemeOffice/language.png" />','Site Languages','index2.php?option=com_languages',null,'Manage Languages'],
-  					['<img src="../includes/js/ThemeOffice/install.png" />','Install','index2.php?option=com_installer&element=language',null,'Install Languages'],
-  				],
-<?php
-			}
-?>				['<img src="../includes/js/ThemeOffice/media.png" />','Media Manager','index2.php?option=com_media',null,'Manage Media Files'],
-					['<img src="../includes/js/ThemeOffice/preview.png" />', 'Preview', null, null, 'Preview',
-					['<img src="../includes/js/ThemeOffice/preview.png" />','In New Window','<?php echo $mosConfig_live_site; ?>/index.php','_blank','<?php echo $mosConfig_live_site; ?>'],
-					['<img src="../includes/js/ThemeOffice/preview.png" />','Inline','index2.php?option=com_admin&task=preview',null,'<?php echo $mosConfig_live_site; ?>'],
-					['<img src="../includes/js/ThemeOffice/preview.png" />','Inline with Positions','index2.php?option=com_admin&task=preview2',null,'<?php echo $mosConfig_live_site; ?>'],
-				],
-				['<img src="../includes/js/ThemeOffice/globe1.png" />', 'Statistics', null, null, 'Site Statistics',
-<?php
-			if ($mosConfig_enable_stats == 1) {
-?>					['<img src="../includes/js/ThemeOffice/globe4.png" />', 'Browser, OS, Domain', 'index2.php?option=com_statistics', null, 'Browser, OS, Domain'],
-  					['<img src="../includes/js/ThemeOffice/globe3.png" />', 'Page Impressions', 'index2.php?option=com_statistics&task=pageimp', null, 'Page Impressions'],
-<?php
-			}
-?>					['<img src="../includes/js/ThemeOffice/search_text.png" />', 'Search Text', 'index2.php?option=com_statistics&task=searches', null, 'Search Text']
-				],
-<?php
-			if ($manageTemplates) {
-?>				['<img src="../includes/js/ThemeOffice/template.png" />','Template Manager',null,null,'Change site template',
-  					['<img src="../includes/js/ThemeOffice/template.png" />','Site Templates','index2.php?option=com_templates',null,'Change site template'],
-  					['<img src="../includes/js/ThemeOffice/install.png" />','Install','index2.php?option=com_installer&element=template&client=',null,'Install Site Templates'],
-  					_cmSplit,
-  					['<img src="../includes/js/ThemeOffice/template.png" />','Administrator Templates','index2.php?option=com_templates&client=admin',null,'Change admin template'],
-  					['<img src="../includes/js/ThemeOffice/install.png" />','Install','index2.php?option=com_installer&element=template&client=admin',null,'Install Administrator Templates'],
-  					_cmSplit,
-  					['<img src="../includes/js/ThemeOffice/template.png" />','Module Positions','index2.php?option=com_templates&task=positions',null,'Template positions']
-  				],
-<?php
-			}
-			if ($manageTrash) {
-?>				['<img src="../includes/js/ThemeOffice/trash.png" />','Trash Manager','index2.php?option=com_trash',null,'Manage Trash'],
-<?php
-			}
-			if ($canManageUsers || $canMassMail) {
-?>				['<img src="../includes/js/ThemeOffice/users.png" />','User Manager','index2.php?option=com_users&task=view',null,'Manage users'],
-<?php
-				}
-?>			],
-<?php
-	// Menu Sub-Menu
-?>			_cmSplit,
-			[null,'Menu',null,null,'Menu Management',
-<?php
-			if ($manageMenuMan) {
-?>				['<img src="../includes/js/ThemeOffice/menus.png" />','Menu Manager','index2.php?option=com_menumanager',null,'Menu Manager'],
-				_cmSplit,
-<?php
-			}
-			foreach ( $menuTypes as $menuType ) {
-?>				['<img src="../includes/js/ThemeOffice/menus.png" />','<?php echo $menuType;?>','index2.php?option=com_menus&menutype=<?php echo $menuType;?>',null,''],
-<?php
-			}
-?>			],
-			_cmSplit,
-<?php
-	// Content Sub-Menu
-?>			[null,'Content',null,null,'Content Management',
-<?php
-			if (count($sections) > 0) {
-?>				['<img src="../includes/js/ThemeOffice/edit.png" />','Content by Section',null,null,'Content Managers',
-<?php
-				foreach ($sections as $section) {
-					$txt = addslashes( $section->title ? $section->title : $section->name );
-?>					['<img src="../includes/js/ThemeOffice/document.png" />','<?php echo $txt;?>', null, null,'<?php echo $txt;?>',
-<?php
-					if ($section->numcat) {
-?>						['<img src="../includes/js/ThemeOffice/edit.png" />', '<?php echo $txt;?> Items', 'index2.php?option=com_content&sectionid=<?php echo $section->id;?>',null,null],
-<?php
-					}
-?>						['<img src="../includes/js/ThemeOffice/add_section.png" />', 'Add/Edit <?php echo $txt;?> Categories', 'index2.php?option=com_categories&section=<?php echo $section->id;?>',null, null],
-<?php
-					if ($section->numarc) {
-?>						['<img src="../includes/js/ThemeOffice/backup.png" />', '<?php echo $txt;?> Archive', 'index2.php?option=com_content&task=showarchive&sectionid=<?php echo $section->id;?>',null,null],
-<?php
-					}
-?>					],
-<?php
-				} // foreach
-?>				],
-				_cmSplit,
-<?php
-			}
-?>
-				['<img src="../includes/js/ThemeOffice/edit.png" />','All Content Items','index2.php?option=com_content&sectionid=0',null,'Manage Content Items'],
-  				['<img src="../includes/js/ThemeOffice/edit.png" />','Static Content Manager','index2.php?option=com_typedcontent',null,'Manage Typed Content Items'],
-  				_cmSplit,
-  				['<img src="../includes/js/ThemeOffice/add_section.png" />','Section Manager','index2.php?option=com_sections&scope=content',null,'Manage Content Sections'],
-<?php
-			if (count($sections) > 0) {
-?>				['<img src="../includes/js/ThemeOffice/add_section.png" />','Category Manager','index2.php?option=com_categories&section=content',null,'Manage Content Categories'],
-<?php
-			}
-?>				_cmSplit,
-  				['<img src="../includes/js/ThemeOffice/home.png" />','Frontpage Manager','index2.php?option=com_frontpage',null,'Manage Frontpage Items'],
-  				['<img src="../includes/js/ThemeOffice/edit.png" />','Archive Manager','index2.php?option=com_content&task=showarchive&sectionid=0',null,'Manage Archive Items'],
-			],
-<?php
-	// Components Sub-Menu
-	if ($installComponents) {
-?>			_cmSplit,
-			[null,'Components',null,null,'Component Management',
-				['<img src="../includes/js/ThemeOffice/install.png" />','Install/Uninstall','index2.php?option=com_installer&element=component',null,'Install/Uninstall components'],
-  				_cmSplit,
-<?php
-        $query = "SELECT * FROM #__components WHERE name <> 'frontpage' and name <> 'media manager' ORDER BY ordering,name"
-        ;
-        $database->setQuery( $query );
-        $comps = $database->loadObjectList();   // component list
-        $subs = array();    // sub menus
-        // first pass to collect sub-menu items
-        foreach ($comps as $row) {
-            if ($row->parent) {
-                if (!array_key_exists( $row->parent, $subs )) {
-                    $subs[$row->parent] = array();
-                }
-                $subs[$row->parent][] = $row;
-            }
-        }
-        $topLevelLimit = 19; //You can get 19 top levels on a 800x600 Resolution
-        $topLevelCount = 0;
-        foreach ($comps as $row) {
-            if ($editAllComponents | $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', $row->option )) {
-                if ($row->parent == 0 && (trim( $row->admin_menu_link ) || array_key_exists( $row->id, $subs ))) {
-                    $topLevelCount++;
-                    if ($topLevelCount > $topLevelLimit) {
-                        continue;
-                    }
-                    $name = addslashes( $row->name );
-                    $alt = addslashes( $row->admin_menu_alt );
-                    $link = $row->admin_menu_link ? "'index2.php?$row->admin_menu_link'" : "null";
-                    echo "\t\t\t\t['<img src=\"../includes/$row->admin_menu_img\" />','$name',$link,null,'$alt'";
-                    if (array_key_exists( $row->id, $subs )) {
-                        foreach ($subs[$row->id] as $sub) {
-	                        echo ",\n";
-                            $name = addslashes( $sub->name );
-                            $alt = addslashes( $sub->admin_menu_alt );
-                            $link = $sub->admin_menu_link ? "'index2.php?$sub->admin_menu_link'" : "null";
-                            echo "\t\t\t\t\t['<img src=\"../includes/$sub->admin_menu_img\" />','$name',$link,null,'$alt']";
-                        }
-                    }
-                    echo "\n\t\t\t\t],\n";
-                }
-            }
-        }
-        if ($topLevelLimit < $topLevelCount) {
-            echo "\t\t\t\t['<img src=\"../includes/js/ThemeOffice/sections.png\" />','More Components...','index2.php?option=com_admin&task=listcomponents',null,'More Components'],\n";
-        }
-?>
-			],
-<?php
-	// Modules Sub-Menu
-		if ($installModules | $editAllModules) {
-?>			_cmSplit,
-			[null,'Modules',null,null,'Module Management',
-<?php
-			if ($installModules) {
-?>				['<img src="../includes/js/ThemeOffice/install.png" />', 'Install/Uninstall', 'index2.php?option=com_installer&element=module', null, 'Install custom modules'],
-				_cmSplit,
-<?php
-			}
-			if ($editAllModules) {
-?>				['<img src="../includes/js/ThemeOffice/module.png" />', 'Site Modules', "index2.php?option=com_modules", null, 'Manage Site modules'],
-				['<img src="../includes/js/ThemeOffice/module.png" />', 'Administrator Modules', "index2.php?option=com_modules&client=admin", null, 'Manage Administrator modules'],
-<?php
-			}
-?>			],
-<?php
-		} // if ($installModules | $editAllModules)
-	} // if $installComponents
-	// Mambots Sub-Menu
-	if ($installMambots | $editAllMambots) {
-?>			_cmSplit,
-			[null,'Mambots',null,null,'Mambot Management',
-<?php
-		if ($installMambots) {
-?>				['<img src="../includes/js/ThemeOffice/install.png" />', 'Install/Uninstall', 'index2.php?option=com_installer&element=mambot', null, 'Install custom mambot'],
-				_cmSplit,
-<?php
-		}
-		if ($editAllMambots) {
-?>				['<img src="../includes/js/ThemeOffice/module.png" />', 'Site Mambots', "index2.php?option=com_mambots", null, 'Manage Site Mambots'],
-<?php
-		}
-?>			],
-<?php
-	}
-?>
-<?php
-	// Installer Sub-Menu
-	if ($installModules) {
-?>			_cmSplit,
-			[null,'Installers',null,null,'Installer List',
-<?php
-		if ($manageTemplates) {
-?>				['<img src="../includes/js/ThemeOffice/install.png" />','Templates - Site','index2.php?option=com_installer&element=template&client=',null,'Install Site Templates'],
-				['<img src="../includes/js/ThemeOffice/install.png" />','Templates - Admin','index2.php?option=com_installer&element=template&client=admin',null,'Install Administrator Templates'],
-<?php
-		}
-		if ($manageLanguages) {
-?>				['<img src="../includes/js/ThemeOffice/install.png" />','Languages','index2.php?option=com_installer&element=language',null,'Install Languages'],
-				_cmSplit,
-<?php
-		}
-?>				['<img src="../includes/js/ThemeOffice/install.png" />', 'Components','index2.php?option=com_installer&element=component',null,'Install/Uninstall Components'],
-				['<img src="../includes/js/ThemeOffice/install.png" />', 'Modules', 'index2.php?option=com_installer&element=module', null, 'Install/Uninstall Modules'],
-				['<img src="../includes/js/ThemeOffice/install.png" />', 'Mambots', 'index2.php?option=com_installer&element=mambot', null, 'Install/Uninstall Mambots'],
-			],
-<?php
-	} // if ($installModules)
-	// Messages Sub-Menu
-	if ($canConfig) {
-?>			_cmSplit,
-  			[null,'Messages',null,null,'Messaging Management',
-  				['<img src="../includes/js/ThemeOffice/messaging_inbox.png" />','Inbox','index2.php?option=com_messages',null,'Private Messages'],
-  				['<img src="../includes/js/ThemeOffice/messaging_config.png" />','Configuration','index2.php?option=com_messages&task=config&hidemainmenu=1',null,'Configuration']
-  			],
-<?php
-	// System Sub-Menu
-?>			_cmSplit,
-  			[null,'System',null,null,'System Management',
-<?php
-  		if ($canConfig) {
-?>				['<img src="../includes/js/ThemeOffice/checkin.png" />', 'Global Checkin', 'index2.php?option=com_checkin', null,'Check-in all checked-out items'],
-<?php
-			if ($mosConfig_caching) {
-?>				['<img src="../includes/js/ThemeOffice/config.png" />','Clean Cache','index2.php?option=com_content&task=clean_cache',null,'Clean the content items cache'],
-<?php
-			}
-		}
-?>			],
-<?php
-			}
-?>			_cmSplit,
-<?php
-	// Help Sub-Menu
-?>			[null,'Help','index2.php?option=com_admin&task=help',null,null]
-		];
-		cmDraw ('myMenuID', myMenu, 'hbr', cmThemeOffice, 'ThemeOffice');
-		</script>
-<?php
-	}
-}
-$cache =& mosCache::getCache( 'mos_fullmenu' );
-
-mosFullAdminMenu::show( $my->usertype );
-//$cache->call( 'mosFullAdminMenu::show', $my->usertype );
+<?php
+/**
+* @version $Id: mod_fullmenu.php,v 1.1 2005/07/22 01:53:57 eddieajau Exp $
+* @package Mambo
+* @copyright (C) 2000 - 2005 Miro International Pty Ltd
+* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
+* Mambo is Free Software
+*/
+
+/** ensure this file is being included by a parent file */
+defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
+
+/**
+* Full DHTML Admnistrator Menus
+* @package Mambo
+*/
+class mosFullAdminMenu {
+	/**
+	* Show the menu
+	* @param string The current user type
+	*/
+	function show( $usertype='' ) {
+		global $acl, $database;
+		global $mosConfig_live_site, $mosConfig_enable_stats, $mosConfig_caching;
+
+		// cache some acl checks
+		$canConfig 			= $acl->acl_check( 'administration', 'config', 'users', $usertype );
+
+		$manageTemplates 	= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_templates' );
+		$manageTrash 		= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_trash' );
+		$manageMenuMan 		= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_menumanager' );
+		$manageLanguages 	= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_languages' );
+		$installModules 	= $acl->acl_check( 'administration', 'install', 'users', $usertype, 'modules', 'all' );
+		$editAllModules 	= $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'modules', 'all' );
+		$installMambots 	= $acl->acl_check( 'administration', 'install', 'users', $usertype, 'mambots', 'all' );
+		$editAllMambots 	= $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'mambots', 'all' );
+		$installComponents 	= $acl->acl_check( 'administration', 'install', 'users', $usertype, 'components', 'all' );
+		$editAllComponents 	= $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', 'all' );
+		$canMassMail 		= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_massmail' );
+		$canManageUsers 	= $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_users' );
+
+        $query = "SELECT a.id, a.title, a.name,"
+        . "\nCOUNT(DISTINCT c.id) AS numcat, COUNT(DISTINCT b.id) AS numarc"
+        . "\n FROM #__sections AS a"
+        . "\n LEFT JOIN #__categories AS c ON c.section=a.id"
+        . "\n LEFT JOIN #__content AS b ON b.sectionid=a.id AND b.state=-1"
+        . "\n WHERE a.scope='content'"
+        . "\n GROUP BY a.id"
+        . "\n ORDER BY a.ordering"
+        ;
+        $database->setQuery( $query );
+        $sections = $database->loadObjectList();
+		$nonemptySections = 0;
+		foreach ($sections as $section)
+			if ($section->numcat > 0)
+				$nonemptySections++;
+		$menuTypes = mosAdminMenus::menutypes();
+?>
+		<div id="myMenuID"></div>
+		<script language="JavaScript" type="text/javascript">
+		var myMenu =
+		[
+<?php
+	// Home Sub-Menu
+?>			[null,'Home','index2.php',null,'Control Panel'],
+			_cmSplit,
+<?php
+	// Site Sub-Menu
+?>			[null,'Site',null,null,'Site Management',
+<?php
+			if ($canConfig) {
+?>				['<img src="../includes/js/ThemeOffice/config.png" />','Global Configuration','index2.php?option=com_config&hidemainmenu=1',null,'Configuration'],
+<?php
+			}
+			if ($manageLanguages) {
+?>				['<img src="../includes/js/ThemeOffice/language.png" />','Language Manager',null,null,'Manage languages',
+  					['<img src="../includes/js/ThemeOffice/language.png" />','Site Languages','index2.php?option=com_languages',null,'Manage Languages'],
+  					['<img src="../includes/js/ThemeOffice/install.png" />','Install','index2.php?option=com_installer&element=language',null,'Install Languages'],
+  				],
+<?php
+			}
+?>				['<img src="../includes/js/ThemeOffice/media.png" />','Media Manager','index2.php?option=com_media',null,'Manage Media Files'],
+					['<img src="../includes/js/ThemeOffice/preview.png" />', 'Preview', null, null, 'Preview',
+					['<img src="../includes/js/ThemeOffice/preview.png" />','In New Window','<?php echo $mosConfig_live_site; ?>/index.php','_blank','<?php echo $mosConfig_live_site; ?>'],
+					['<img src="../includes/js/ThemeOffice/preview.png" />','Inline','index2.php?option=com_admin&task=preview',null,'<?php echo $mosConfig_live_site; ?>'],
+					['<img src="../includes/js/ThemeOffice/preview.png" />','Inline with Positions','index2.php?option=com_admin&task=preview2',null,'<?php echo $mosConfig_live_site; ?>'],
+				],
+				['<img src="../includes/js/ThemeOffice/globe1.png" />', 'Statistics', null, null, 'Site Statistics',
+<?php
+			if ($mosConfig_enable_stats == 1) {
+?>					['<img src="../includes/js/ThemeOffice/globe4.png" />', 'Browser, OS, Domain', 'index2.php?option=com_statistics', null, 'Browser, OS, Domain'],
+  					['<img src="../includes/js/ThemeOffice/globe3.png" />', 'Page Impressions', 'index2.php?option=com_statistics&task=pageimp', null, 'Page Impressions'],
+<?php
+			}
+?>					['<img src="../includes/js/ThemeOffice/search_text.png" />', 'Search Text', 'index2.php?option=com_statistics&task=searches', null, 'Search Text']
+				],
+<?php
+			if ($manageTemplates) {
+?>				['<img src="../includes/js/ThemeOffice/template.png" />','Template Manager',null,null,'Change site template',
+  					['<img src="../includes/js/ThemeOffice/template.png" />','Site Templates','index2.php?option=com_templates',null,'Change site template'],
+  					['<img src="../includes/js/ThemeOffice/install.png" />','Install','index2.php?option=com_installer&element=template&client=',null,'Install Site Templates'],
+  					_cmSplit,
+  					['<img src="../includes/js/ThemeOffice/template.png" />','Administrator Templates','index2.php?option=com_templates&client=admin',null,'Change admin template'],
+  					['<img src="../includes/js/ThemeOffice/install.png" />','Install','index2.php?option=com_installer&element=template&client=admin',null,'Install Administrator Templates'],
+  					_cmSplit,
+  					['<img src="../includes/js/ThemeOffice/template.png" />','Module Positions','index2.php?option=com_templates&task=positions',null,'Template positions']
+  				],
+<?php
+			}
+			if ($manageTrash) {
+?>				['<img src="../includes/js/ThemeOffice/trash.png" />','Trash Manager','index2.php?option=com_trash',null,'Manage Trash'],
+<?php
+			}
+			if ($canManageUsers || $canMassMail) {
+?>				['<img src="../includes/js/ThemeOffice/users.png" />','User Manager','index2.php?option=com_users&task=view',null,'Manage users'],
+<?php
+				}
+?>			],
+<?php
+	// Menu Sub-Menu
+?>			_cmSplit,
+			[null,'Menu',null,null,'Menu Management',
+<?php
+			if ($manageMenuMan) {
+?>				['<img src="../includes/js/ThemeOffice/menus.png" />','Menu Manager','index2.php?option=com_menumanager',null,'Menu Manager'],
+				_cmSplit,
+<?php
+			}
+			foreach ( $menuTypes as $menuType ) {
+?>				['<img src="../includes/js/ThemeOffice/menus.png" />','<?php echo $menuType;?>','index2.php?option=com_menus&menutype=<?php echo $menuType;?>',null,''],
+<?php
+			}
+?>			],
+			_cmSplit,
+<?php
+	// Content Sub-Menu
+?>			[null,'Content',null,null,'Content Management',
+<?php
+			if (count($sections) > 0) {
+?>				['<img src="../includes/js/ThemeOffice/edit.png" />','Content by Section',null,null,'Content Managers',
+<?php
+				foreach ($sections as $section) {
+					$txt = addslashes( $section->title ? $section->title : $section->name );
+?>					['<img src="../includes/js/ThemeOffice/document.png" />','<?php echo $txt;?>', null, null,'<?php echo $txt;?>',
+<?php
+					if ($section->numcat) {
+?>						['<img src="../includes/js/ThemeOffice/edit.png" />', '<?php echo $txt;?> Items', 'index2.php?option=com_content&sectionid=<?php echo $section->id;?>',null,null],
+<?php
+					}
+?>						['<img src="../includes/js/ThemeOffice/add_section.png" />', 'Add/Edit <?php echo $txt;?> Categories', 'index2.php?option=com_categories&section=<?php echo $section->id;?>',null, null],
+<?php
+					if ($section->numarc) {
+?>						['<img src="../includes/js/ThemeOffice/backup.png" />', '<?php echo $txt;?> Archive', 'index2.php?option=com_content&task=showarchive&sectionid=<?php echo $section->id;?>',null,null],
+<?php
+					}
+?>					],
+<?php
+				} // foreach
+?>				],
+				_cmSplit,
+<?php
+			}
+?>
+				['<img src="../includes/js/ThemeOffice/edit.png" />','All Content Items','index2.php?option=com_content&sectionid=0',null,'Manage Content Items'],
+  				['<img src="../includes/js/ThemeOffice/edit.png" />','Static Content Manager','index2.php?option=com_typedcontent',null,'Manage Typed Content Items'],
+  				_cmSplit,
+  				['<img src="../includes/js/ThemeOffice/add_section.png" />','Section Manager','index2.php?option=com_sections&scope=content',null,'Manage Content Sections'],
+<?php
+			if (count($sections) > 0) {
+?>				['<img src="../includes/js/ThemeOffice/add_section.png" />','Category Manager','index2.php?option=com_categories&section=content',null,'Manage Content Categories'],
+<?php
+			}
+?>				_cmSplit,
+  				['<img src="../includes/js/ThemeOffice/home.png" />','Frontpage Manager','index2.php?option=com_frontpage',null,'Manage Frontpage Items'],
+  				['<img src="../includes/js/ThemeOffice/edit.png" />','Archive Manager','index2.php?option=com_content&task=showarchive&sectionid=0',null,'Manage Archive Items'],
+			],
+<?php
+	// Components Sub-Menu
+	if ($installComponents) {
+?>			_cmSplit,
+			[null,'Components',null,null,'Component Management',
+				['<img src="../includes/js/ThemeOffice/install.png" />','Install/Uninstall','index2.php?option=com_installer&element=component',null,'Install/Uninstall components'],
+  				_cmSplit,
+<?php
+        $query = "SELECT * FROM #__components WHERE name <> 'frontpage' and name <> 'media manager' ORDER BY ordering,name"
+        ;
+        $database->setQuery( $query );
+        $comps = $database->loadObjectList();   // component list
+        $subs = array();    // sub menus
+        // first pass to collect sub-menu items
+        foreach ($comps as $row) {
+            if ($row->parent) {
+                if (!array_key_exists( $row->parent, $subs )) {
+                    $subs[$row->parent] = array();
+                }
+                $subs[$row->parent][] = $row;
+            }
+        }
+        $topLevelLimit = 19; //You can get 19 top levels on a 800x600 Resolution
+        $topLevelCount = 0;
+        foreach ($comps as $row) {
+            if ($editAllComponents | $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', $row->option )) {
+                if ($row->parent == 0 && (trim( $row->admin_menu_link ) || array_key_exists( $row->id, $subs ))) {
+                    $topLevelCount++;
+                    if ($topLevelCount > $topLevelLimit) {
+                        continue;
+                    }
+                    $name = addslashes( $row->name );
+                    $alt = addslashes( $row->admin_menu_alt );
+                    $link = $row->admin_menu_link ? "'index2.php?$row->admin_menu_link'" : "null";
+                    echo "\t\t\t\t['<img src=\"../includes/$row->admin_menu_img\" />','$name',$link,null,'$alt'";
+                    if (array_key_exists( $row->id, $subs )) {
+                        foreach ($subs[$row->id] as $sub) {
+	                        echo ",\n";
+                            $name = addslashes( $sub->name );
+                            $alt = addslashes( $sub->admin_menu_alt );
+                            $link = $sub->admin_menu_link ? "'index2.php?$sub->admin_menu_link'" : "null";
+                            echo "\t\t\t\t\t['<img src=\"../includes/$sub->admin_menu_img\" />','$name',$link,null,'$alt']";
+                        }
+                    }
+                    echo "\n\t\t\t\t],\n";
+                }
+            }
+        }
+        if ($topLevelLimit < $topLevelCount) {
+            echo "\t\t\t\t['<img src=\"../includes/js/ThemeOffice/sections.png\" />','More Components...','index2.php?option=com_admin&task=listcomponents',null,'More Components'],\n";
+        }
+?>
+			],
+<?php
+	// Modules Sub-Menu
+		if ($installModules | $editAllModules) {
+?>			_cmSplit,
+			[null,'Modules',null,null,'Module Management',
+<?php
+			if ($installModules) {
+?>				['<img src="../includes/js/ThemeOffice/install.png" />', 'Install/Uninstall', 'index2.php?option=com_installer&element=module', null, 'Install custom modules'],
+				_cmSplit,
+<?php
+			}
+			if ($editAllModules) {
+?>				['<img src="../includes/js/ThemeOffice/module.png" />', 'Site Modules', "index2.php?option=com_modules", null, 'Manage Site modules'],
+				['<img src="../includes/js/ThemeOffice/module.png" />', 'Administrator Modules', "index2.php?option=com_modules&client=admin", null, 'Manage Administrator modules'],
+<?php
+			}
+?>			],
+<?php
+		} // if ($installModules | $editAllModules)
+	} // if $installComponents
+	// Mambots Sub-Menu
+	if ($installMambots | $editAllMambots) {
+?>			_cmSplit,
+			[null,'Mambots',null,null,'Mambot Management',
+<?php
+		if ($installMambots) {
+?>				['<img src="../includes/js/ThemeOffice/install.png" />', 'Install/Uninstall', 'index2.php?option=com_installer&element=mambot', null, 'Install custom mambot'],
+				_cmSplit,
+<?php
+		}
+		if ($editAllMambots) {
+?>				['<img src="../includes/js/ThemeOffice/module.png" />', 'Site Mambots', "index2.php?option=com_mambots", null, 'Manage Site Mambots'],
+<?php
+		}
+?>			],
+<?php
+	}
+?>
+<?php
+	// Installer Sub-Menu
+	if ($installModules) {
+?>			_cmSplit,
+			[null,'Installers',null,null,'Installer List',
+<?php
+		if ($manageTemplates) {
+?>				['<img src="../includes/js/ThemeOffice/install.png" />','Templates - Site','index2.php?option=com_installer&element=template&client=',null,'Install Site Templates'],
+				['<img src="../includes/js/ThemeOffice/install.png" />','Templates - Admin','index2.php?option=com_installer&element=template&client=admin',null,'Install Administrator Templates'],
+<?php
+		}
+		if ($manageLanguages) {
+?>				['<img src="../includes/js/ThemeOffice/install.png" />','Languages','index2.php?option=com_installer&element=language',null,'Install Languages'],
+				_cmSplit,
+<?php
+		}
+?>				['<img src="../includes/js/ThemeOffice/install.png" />', 'Components','index2.php?option=com_installer&element=component',null,'Install/Uninstall Components'],
+				['<img src="../includes/js/ThemeOffice/install.png" />', 'Modules', 'index2.php?option=com_installer&element=module', null, 'Install/Uninstall Modules'],
+				['<img src="../includes/js/ThemeOffice/install.png" />', 'Mambots', 'index2.php?option=com_installer&element=mambot', null, 'Install/Uninstall Mambots'],
+			],
+<?php
+	} // if ($installModules)
+	// Messages Sub-Menu
+	if ($canConfig) {
+?>			_cmSplit,
+  			[null,'Messages',null,null,'Messaging Management',
+  				['<img src="../includes/js/ThemeOffice/messaging_inbox.png" />','Inbox','index2.php?option=com_messages',null,'Private Messages'],
+  				['<img src="../includes/js/ThemeOffice/messaging_config.png" />','Configuration','index2.php?option=com_messages&task=config&hidemainmenu=1',null,'Configuration']
+  			],
+<?php
+	// System Sub-Menu
+?>			_cmSplit,
+  			[null,'System',null,null,'System Management',
+<?php
+  		if ($canConfig) {
+?>				['<img src="../includes/js/ThemeOffice/checkin.png" />', 'Global Checkin', 'index2.php?option=com_checkin', null,'Check-in all checked-out items'],
+				['<img src="../includes/js/ThemeOffice/sysinfo.png" />', 'System Information', 'index2.php?option=com_admin&task=sysinfo', null, 'View System Information'],
+<?php
+			if ($mosConfig_caching) {
+?>				['<img src="../includes/js/ThemeOffice/config.png" />','Clean Cache','index2.php?option=com_content&task=clean_cache',null,'Clean the content items cache'],
+<?php
+			}
+		}
+?>			],
+<?php
+			}
+?>			_cmSplit,
+<?php
+	// Help Sub-Menu
+?>			[null,'Help','index2.php?option=com_admin&task=help',null,null]
+		];
+		cmDraw ('myMenuID', myMenu, 'hbr', cmThemeOffice, 'ThemeOffice');
+		</script>
+<?php
+	}
+}
+$cache =& mosCache::getCache( 'mos_fullmenu' );
+
+mosFullAdminMenu::show( $my->usertype );
+//$cache->call( 'mosFullAdminMenu::show', $my->usertype );
 ?>
\ No newline at end of file
diff -ruN 4.5.2.3/administrator/modules/mod_latest.php 4.5.4/administrator/modules/mod_latest.php
--- 4.5.2.3/administrator/modules/mod_latest.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_latest.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_latest.php,v 1.9 2005/02/16 03:51:48 kochp Exp $
+* @version $Id: mod_latest.php,v 1.1 2005/07/22 01:53:57 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_logged.php 4.5.4/administrator/modules/mod_logged.php
--- 4.5.2.3/administrator/modules/mod_logged.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_logged.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_logged.php,v 1.3 2005/02/16 08:48:39 stingrey Exp $
+* @version $Id: mod_logged.php,v 1.2 2005/07/22 03:30:09 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_mosmsg.php 4.5.4/administrator/modules/mod_mosmsg.php
--- 4.5.2.3/administrator/modules/mod_mosmsg.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_mosmsg.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_mosmsg.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: mod_mosmsg.php,v 1.1 2005/07/22 01:53:59 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_online.php 4.5.4/administrator/modules/mod_online.php
--- 4.5.2.3/administrator/modules/mod_online.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_online.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_online.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: mod_online.php,v 1.1 2005/07/22 01:53:59 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_pathway.php 4.5.4/administrator/modules/mod_pathway.php
--- 4.5.2.3/administrator/modules/mod_pathway.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_pathway.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_pathway.php,v 1.5 2005/02/13 10:59:17 stingrey Exp $
+* @version $Id: mod_pathway.php,v 1.1 2005/07/22 01:53:59 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_popular.php 4.5.4/administrator/modules/mod_popular.php
--- 4.5.2.3/administrator/modules/mod_popular.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_popular.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_popular.php,v 1.8 2005/02/16 03:51:48 kochp Exp $
+* @version $Id: mod_popular.php,v 1.1 2005/07/22 01:53:59 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_quickicon.php 4.5.4/administrator/modules/mod_quickicon.php
--- 4.5.2.3/administrator/modules/mod_quickicon.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_quickicon.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_quickicon.php,v 1.10 2005/02/16 03:51:48 kochp Exp $
+* @version $Id: mod_quickicon.php,v 1.2 2005/10/20 01:08:31 cfraser Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -12,6 +12,7 @@
 
 ?>
 <table width="100%" class="cpanel">
+<?php if($_SESSION['simple_editing'] == 'off'){?>
 <tr>
 	<td align="center" style="height:100px">
 	<a href="index2.php?option=com_admin&amp;task=help" style="text-decoration:none;">
@@ -31,14 +32,14 @@
 	<a href="index2.php?option=com_typedcontent" style="text-decoration:none;">
 	<img src="images/addedit.png" width="48" height="48" align="middle" border="0"/>
 	<br />
-	Static Content Manager
+	Static Content
 	</a>
 	</td>
 	<td>
 	<a href="index2.php?option=com_frontpage" style="text-decoration:none;">
 	<img src="images/frontpage.png" width="48" height="48" align="middle" border="0"/>
 	<br />
-	Frontpage Manager
+	Frontpage
 	</a>
 	</td>
 </tr>
@@ -47,39 +48,36 @@
 	<a href="index2.php?option=com_sections&amp;scope=content" style="text-decoration:none;">
 	<img src="images/sections.png" width="48" height="48" align="middle" border="0"/>
 	<br />
-	Section Manager
+	Sections
 	</a>
 	</td>
 	<td align="center" style="height:100px">
 	<a href="index2.php?option=com_categories&amp;section=content" style="text-decoration:none;">
 	<img src="images/categories.png" width="48" height="48" align="middle" border="0"/>
 	<br />
-	Category Manager
+	Categories
 	</a>
 	</td>
 	<td align="center" style="height:100px">
 	<a href="index2.php?option=com_media" style="text-decoration:none;">
 	<img src="images/mediamanager.png" width="48" height="48" align="middle" border="0"/>
 	<br />
-	Media Manager
+	Media
 	</a>
 	</td>
 	<td align="center" style="height:100px">
+	
+	&nbsp;
 	</td>
 </tr>
+
 <tr>
 	<td align="center" style="height:100px">
-	<?php
-	if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_trash' ) ) {
-		?>
-		<a href="index2.php?option=com_trash" style="text-decoration:none;">
-		<img src="images/trash.png" width="48" height="48" align="middle" border="0"/>
-		<br />
-		Trash Manager
-		</a>
-		<?php
-	}
-	?>
+	<a href="index2.php?option=com_trash" style="text-decoration:none;">
+	<img src="images/trash.png" width="48" height="48" align="middle" border="0"/>
+	<br />
+	Trash
+	</a>
 	</td>
 	<td>
 	<?php
@@ -88,7 +86,7 @@
 		<a href="index2.php?option=com_menumanager" style="text-decoration:none;">
 		<img src="images/menu.png" width="48" height="48" align="middle" border="0"/>
 		<br />
-		Menu Manager
+		Menus
 		</a>
 		<?php
 	}
@@ -101,7 +99,7 @@
 		<a href="index2.php?option=com_users" style="text-decoration:none;">
 		<img src="images/user.png" width="48" height="48" align="middle" border="0"/>
 		<br />
-		User Manager
+		Users
 		</a>
 		<?php
 	}
@@ -120,5 +118,46 @@
 	}
 	?>
 	</td>
+	
 </tr>
+<?php }else{?>
+<!-- if we are simple mode we display these icons -->
+<tr>
+	<td align="center" style="height:100px">
+	<a href="index2.php?option=com_admin&amp;task=help" style="text-decoration:none;">
+	<img src="images/support.png" width="48" height="48" align="middle" border="0"/>
+	<br />
+	Help
+	</a>
+	</td>
+	<td align="center" style="height:100px">
+	<a href="index2.php?option=com_content&amp;sectionid=0" style="text-decoration:none;">
+	<img src="images/addedit.png" width="48" height="48" align="middle" border="0"/>
+	<br />
+	All Content Items
+	</a>
+	</td>
+	<td align="center" style="height:100px">
+	<a href="index2.php?option=com_typedcontent" style="text-decoration:none;">
+	<img src="images/addedit.png" width="48" height="48" align="middle" border="0"/>
+	<br />
+	Static Content
+	</a>
+	</td>
+	
+	<td>
+	<a href="index2.php?option=com_frontpage" style="text-decoration:none;">
+	<img src="images/frontpage.png" width="48" height="48" align="middle" border="0"/>
+	<br />
+	Frontpage
+	</a>
+	</td>
+	<td align="center" style="height:100px">
+		
+		&nbsp;
+</td>
+</tr>
+<?php }?>
+
+
 </table>
\ No newline at end of file
diff -ruN 4.5.2.3/administrator/modules/mod_stats.php 4.5.4/administrator/modules/mod_stats.php
--- 4.5.2.3/administrator/modules/mod_stats.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_stats.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_stats.php,v 1.6 2005/01/24 15:31:55 kochp Exp $
+* @version $Id: mod_stats.php,v 1.1 2005/07/22 01:53:59 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_toolbar.php 4.5.4/administrator/modules/mod_toolbar.php
--- 4.5.2.3/administrator/modules/mod_toolbar.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_toolbar.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_toolbar.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: mod_toolbar.php,v 1.1 2005/07/22 01:54:00 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/modules/mod_unread.php 4.5.4/administrator/modules/mod_unread.php
--- 4.5.2.3/administrator/modules/mod_unread.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/modules/mod_unread.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_unread.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: mod_unread.php,v 1.1 2005/07/22 01:54:00 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/popups/contentwindow.php 4.5.4/administrator/popups/contentwindow.php
--- 4.5.2.3/administrator/popups/contentwindow.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/popups/contentwindow.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contentwindow.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: contentwindow.php,v 1.1 2005/07/22 03:19:43 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/popups/modulewindow.php 4.5.4/administrator/popups/modulewindow.php
--- 4.5.2.3/administrator/popups/modulewindow.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/popups/modulewindow.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: modulewindow.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: modulewindow.php,v 1.1 2005/07/22 01:54:00 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/popups/pollwindow.php 4.5.4/administrator/popups/pollwindow.php
--- 4.5.2.3/administrator/popups/pollwindow.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/popups/pollwindow.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: pollwindow.php,v 1.4 2005/01/06 01:13:25 eddieajau Exp $
+* @version $Id: pollwindow.php,v 1.1 2005/07/22 01:54:00 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/popups/uploadimage.php 4.5.4/administrator/popups/uploadimage.php
--- 4.5.2.3/administrator/popups/uploadimage.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/popups/uploadimage.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: uploadimage.php,v 1.6 2005/02/09 23:10:29 eddieajau Exp $
+* @version $Id: uploadimage.php,v 1.1 2005/07/22 01:54:00 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/templates/mambo_admin/cpanel.php 4.5.4/administrator/templates/mambo_admin/cpanel.php
--- 4.5.2.3/administrator/templates/mambo_admin/cpanel.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin/cpanel.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: cpanel.php,v 1.5 2005/02/13 02:41:39 stingrey Exp $
+* @version $Id: cpanel.php,v 1.1 2005/07/22 01:54:00 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/templates/mambo_admin/css/admin_login.css 4.5.4/administrator/templates/mambo_admin/css/admin_login.css
--- 4.5.2.3/administrator/templates/mambo_admin/css/admin_login.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin/css/admin_login.css	2006-08-01 01:34:25.000000000 -0500
@@ -1,5 +1,5 @@
 /**
-* @version $Id: admin_login.css,v 1.4 2005/01/06 01:13:26 eddieajau Exp $
+* @version $Id: admin_login.css,v 1.1 2005/07/22 01:54:08 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/templates/mambo_admin/css/template_css.css 4.5.4/administrator/templates/mambo_admin/css/template_css.css
--- 4.5.2.3/administrator/templates/mambo_admin/css/template_css.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin/css/template_css.css	2006-08-01 01:34:25.000000000 -0500
@@ -1,5 +1,5 @@
 /**
-* @version $Id: template_css.css,v 1.5 2005/01/14 15:49:32 stingrey Exp $
+* @version $Id: template_css.css,v 1.1 2005/07/22 01:54:09 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
Files 4.5.2.3/administrator/templates/mambo_admin/images/header.png and 4.5.4/administrator/templates/mambo_admin/images/header.png differ
diff -ruN 4.5.2.3/administrator/templates/mambo_admin/index.php 4.5.4/administrator/templates/mambo_admin/index.php
--- 4.5.2.3/administrator/templates/mambo_admin/index.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin/index.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: index.php,v 1.6 2005/02/15 12:21:09 kochp Exp $
+* @version $Id: index.php,v 1.1 2005/07/22 01:54:00 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/templates/mambo_admin/login.php 4.5.4/administrator/templates/mambo_admin/login.php
--- 4.5.2.3/administrator/templates/mambo_admin/login.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin/login.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: login.php,v 1.4 2005/01/06 01:13:26 eddieajau Exp $
+* @version $Id: login.php,v 1.1 2005/07/22 01:54:00 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/templates/mambo_admin_blue/cpanel.php 4.5.4/administrator/templates/mambo_admin_blue/cpanel.php
--- 4.5.2.3/administrator/templates/mambo_admin_blue/cpanel.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin_blue/cpanel.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: cpanel.php,v 1.5 2005/02/13 02:41:39 stingrey Exp $
+* @version $Id: cpanel.php,v 1.1 2005/07/22 01:54:20 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/templates/mambo_admin_blue/css/admin_login.css 4.5.4/administrator/templates/mambo_admin_blue/css/admin_login.css
--- 4.5.2.3/administrator/templates/mambo_admin_blue/css/admin_login.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin_blue/css/admin_login.css	2006-08-01 01:34:25.000000000 -0500
@@ -1,5 +1,5 @@
 /**
-* @version $Id: admin_login.css,v 1.4 2005/01/06 01:13:26 eddieajau Exp $
+* @version $Id: admin_login.css,v 1.1 2005/07/22 01:54:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/templates/mambo_admin_blue/css/template_css.css 4.5.4/administrator/templates/mambo_admin_blue/css/template_css.css
--- 4.5.2.3/administrator/templates/mambo_admin_blue/css/template_css.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin_blue/css/template_css.css	2006-08-01 01:34:25.000000000 -0500
@@ -1,5 +1,5 @@
 /**
-* @version $Id: template_css.css,v 1.5 2005/01/06 01:13:26 eddieajau Exp $
+* @version $Id: template_css.css,v 1.1 2005/07/22 01:54:31 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
Files 4.5.2.3/administrator/templates/mambo_admin_blue/images/header_blue.jpg and 4.5.4/administrator/templates/mambo_admin_blue/images/header_blue.jpg differ
diff -ruN 4.5.2.3/administrator/templates/mambo_admin_blue/index.php 4.5.4/administrator/templates/mambo_admin_blue/index.php
--- 4.5.2.3/administrator/templates/mambo_admin_blue/index.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin_blue/index.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: index.php,v 1.6 2005/02/15 12:21:10 kochp Exp $
+* @version $Id: index.php,v 1.1 2005/07/22 01:54:20 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/administrator/templates/mambo_admin_blue/login.php 4.5.4/administrator/templates/mambo_admin_blue/login.php
--- 4.5.2.3/administrator/templates/mambo_admin_blue/login.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/administrator/templates/mambo_admin_blue/login.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: login.php,v 1.4 2005/01/06 01:13:26 eddieajau Exp $
+* @version $Id: login.php,v 1.1 2005/07/22 01:54:20 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/CHANGELOG.php 4.5.4/CHANGELOG.php
--- 4.5.2.3/CHANGELOG.php	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/CHANGELOG.php	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,775 @@
+<?php
+/**
+* @version $Id: CHANGELOG.php,v 1.32 2005/11/27 07:06:46 cauld Exp $
+* @package Mambo_4.5
+* @copyright (C) 2000 - 2004 Miro International Pty Ltd
+* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
+* Mambo is Free Software
+*/
+
+// no direct access
+defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
+?>
+
+1. Changelog
+------------
+This is a non-exhaustive (but still near complete) changelog for
+Mambo 4.5.x, including beta and release candidate versions.
+Our thanks to all those people who've contributed bug reports and
+code fixes.
+
+Legend:
+
+# -> Bug Fix
++ -> Addition
+! -> Change
+- -> Removed
+! -> Note
+-------------------- 4.5.4 --------------------------------------------------
+
+23-March-2006 Chad Auld (cauld)
+! Found and updated help key reference for all toolbars to use new 454 help files
+
+22-March-2006 Chad Auld (cauld) *Checking in for Ninekrit*
+- Removed 453 help files
++ Adding 454 help files
+! Updating help file URL to look locally
+
+19-March-2006 Chad Auld (cauld)
+! Updated TinyMCE from v2.0.2 to 2.0.6.1 (loads of fixes and enhancements)
+! Updated overLIB from 4.06 to 4.21
+! Updated "What's New in 4.5.4"
+
+16-May-2006 Akarawuth Tamrareang (NineKrit)
+# include 453h security patch1
+# Fixed com_trash   
+# Low risk RSS feed vulnerability special thank you IrishStevo 
+!  update admin_content.php line 201 , 312  for support mysql 5
+!  update sample_data.sql
+!  Minor bug in Mambo Installation install1.php  
++ add file \installatin\sql\migrate_Joomla108_to_Mambo453.sql
+
+14-March-2006 Chad Auld (cauld)
++ Back porting Mambo 4.6 end user survey functionality for PC World CD release
+
+-------------------- 4.5.3 (Holiday Patch) Release --------------------------
+
+31-Dec-2005 Chad Auld (cauld)
+# Fixing PHP 5 related issues with admin.content.php
+! Updating credits file
+! Adjusting static content editor so it doesn't shift during editing with TinyMCE 2.0.1
+
+31-Dec-2005 Carlos Souza (csouza)
+# Replaced inconsistent short open tags that caused parse errors in some php versions
+
+31-Dec-2005 Martin Brampton (counterpoint)
+! Modified one line in pathway that was using globals no longer set - changed to super globals
+
+29-Dec-2005 Chanh Ong (cong)
+# Fix Parse error: parse error, unexpected '}' in php 5.1
+
+26-Dec-2005 Chad Auld (cauld)
+! Making some changes for the TinyMCE 2.0.1 update to handle the default to simple template change
+! Updating version.php for release
+# Fixing trash so that it is empty after a fresh install with sample data
+
+23-Dec-2005 Chad Auld (cauld)
+! Removing experimental Safari warning in TinyMCE
+! Updating version.php for holiday patch
+
+22-Dec-2005 Martin Brampton (counterpoint)
+# Altered incorrect method for error message on row in admin.section.php
+# Added default of null string to params field in mos_section.
+
+21-Dec-2005 Chad Auld (cauld)
+! Updating default templates with some minor fixes 
+# Fixing some formatting errors on the sample data
+
+21-Dec-2005 Carlos Souza (csouza)
+# added session_start() calls to index.php and index2.php
+
+21-Dec-2005 Chanh Ong (cong)
+- Revert the change below due to the fix csouza made in index2.php which is better and more secure
+
+20-Dec-2005 Chanh Ong (cong)
+# Fix problem where Email icon on content not working where session lost its previous value.
+
+20-Dec-2005 Chad Auld (cauld)
++ Adding 453 to 453h sql patch for TinyMCE 2.0.1 upgrade
+
+19-Dec-2005 Chad Auld (cauld)
+# Fixing admin content preview & upload session issue
+
+18-Dec-2005 Chad Auld (cauld)
+! Updated the default TinyMCE editor from 1.45 to 2.0.1
++ Added back in the old System Information administrator link
+
+19-Dec-2005 Carlos Souza (csouza)
+# Changed register globals emulation to default to 'On'
+
+18-Dec-2005 Martin Brampton(counterpoint)
+# Modified SQL statements having LEFT JOIN after list of joined tables
+# Modified contact searchbot to set Itemid
+# Modified content searchbot to avoid warnings on merge of nulls to arrays
+# Modified content component to avoid warnings on merge of nulls to arrays
+
+17-Dec-2005 Martin Brampton (counterpoint)
+# Modified index.php to avoid conflict with SMF over $_REQUEST['message']
+# Modified admin trash manager to fix failures and lack of page control
+
+16-Dec-2005 Chanh Ong (cong)
+# Fix bug that causes the "top" position always overlay other component
+
+-------------------- 4.5.3 Release --------------------------
+
+26-Nov-2005 Chad Auld (cauld)
+! Fixed GPL text in install (made all 1 font, easier to read)
+- Removed old templates
++ Added new Mambo default template
+! Changed more sample data 
+! Updated the default setup to fit new template
+! Adding setting to default register globals emulation to "On"
+
+24-Nov-2005 Chad Auld (cauld)
+! Changed the default on the new admin simple/advanced interface to advanced
+
+23-Nov-2005 Chad Auld (cauld)
+! Changed header logos.  Removed references to 4.5.2.
+! Updated most of the sample install data
+! Update some of the default installation settings
+! Changed out the included sample banners, install header banner, and admin header banners
+- Removed old sample images no longer in use
+
+23-Nov-2005 Carlos Souza (csouza)
+ !  Replaced globals.php and sef.php to address the globals emulation overwrite vulnerability
+ +  Added option in com_config to toggle register_globals emulation
+
+16-Nov-2005 Carlos Souza (csouza)
++  Added fix in index*.php to address the Globals overwrite problem in versions < 4.4.1
+
+14-Nov-2005 Ilias Antonopoulos (eliasan)
+# Added Vcard option on Contact Items Parameters
+  /administrator/components/com_contact/contact_items.xml
+# Fixed. Link type, menu items don't show up on Pages/Items List.
+  /includes/mambo.php
+# Fixed. Empty Categories don't show up, although 'Show Empty Categories' is selected on a Table-Content Section menu Item
+  /components/com_content/content.php
+! 'List - Content Section' corrected to 'Table - Content Section'
+  /administrator/components/com_menus/content_section/content_section.menu.html.php
+
+13-Nov-2005 Chad Auld (cauld)
+! Updated install screens to display 453 and release dates.  
+! Changed the newsflash articles included with the sample data.
+# [#8199] Database queries in gacl_api.class
+# [#7713] mosMail fix bcc bug + add missing ReplyTo fields
+
+12-Nov-2005 Giorgio Nordo (gin)
+ # [#7590] fixed the bug of the related items module (the module showed also expired content items)
+
+11-Nov-2005 Chad Auld (cauld)
+ + [#8364] OSI Certification: Added README file.  Added OSI logo to install screens.
+
+08-Nov-2005 Ilias Antonopoulos (eliasan)
+ # [#8338] Help Mechanishm Unreliable: Changed all key references. Added new. Modified the code to display the right help screens. Expanded code to display the right help screen when adding a new menu item.
+    For testing, set your help server to point at: http://www.mambobook.gr/draftdoc
+    New Help screen will be uploaded to http://help.mamboserver.com
+
+27-Oct-2005 Shaoying Sun (lang3)
+ # [#7447] Image path input from backend results in broken links on frontend
+
+26-Oct-2005 Carlos Souza (csouza)
+ !  Hardened 'Email To Friend' form in com_content
+
+22-Oct-2005 Shaoying Sun (lang3)
+ !  Changed date format "Y-m-d h:i:s" to "Y-m-d H:i:s" in content, frontpage, typedcontent show in backend
+ !  Changed date format "Y-m-d h:i:s" to "Y-m-d H:i:s" in message send in frontend
+
+20-Oct-2005 Chad Auld (cauld)
+ !  Fixed SQL injection hole in content submission 
+
+20-Oct-2005 Cameron Fraser
++ Added Simple / Advanced functionality to Add / Edit (Content/Section/Category) pages
+	admin.admin.html.php
+	admin.content.html.php
+	admin.sections.html.php
+	admin.categories.html.php
+	admin.typedcontent.html.php
+	index2.php
+		 
+19-Oct-2005 Chad Auld (cauld)
+ # [#8260] Search highlighting fails when a "?" is entered
+
+16-Oct-2005 Chad Auld (cauld)
+ # [#7601] MySQL password textbox is shown as a plain text box
+ # [#7410] Mambo gzip fails when gzip compression is already enabled in php.ini
+ # [#7746] Missing space in mosimage IMG tags
+ # [#8157] Use of $mosConfig_abolute_path instead of $mosConfig_absolute_path
+ # [#7714] User Registration allows dots and other chars besides A-Z 0-9
+
+08-Aug-2005 Andrew Eddie
+ ^ Encased text files in PHP wrapper to help obsfucate version info
+ # Changed admin session name to hash of live_site to allow you to log into more than one mambo on the same host
+ # Fixed hardcoded (c) character in web installer files
+ # Fixed slow query in admin User Manager list screen
+ # Fixed bug in poll stats calculation
+ # Fixed SQL injection bugs in user activation (thanks Enno Klasing)
+ # Updated bug fixes in phpMailer class
+ # Fixed login bug for nested Mambo sites on the same domain
+
+02-Aug-2005 Alex Kempkens
+ # [#6775] Display of static content without Itemid
+ # [#6330] Corrected default value of field
+
+-------------------- 4.5.2.3 Patch Released ----------------------
+
+15-Jun-2005 Andrew Eddie
+ # Fixed sql injection vulnerability in voting form
+ # Fixed over-sensitive filtering of content intro and full text fields
+ ^ Updates database::setQuery code to more efficient version
+
+-------------------- 4.5.2.2 Patch Released ----------------------
+
+04-May-2005 Andrew Eddie
+ # Fixed vulnerability with bind method in mosDBTable class
+ # Fixed session id spoofing via administrator/index3.php
+ # Fixed bug in mosAbstractTasker redirect method
+ # Prevented attacks via injection of POST variables through GET
+ # Fix injection bugs in various class 'check' methods
+ + Added input filter class (replacement for built-in strip tags)
+ - Removed vulnerable file in DOMIT library
+
+4-Mar-2005 Rey Gigataras
+ # Fixed [#4642] Can't login to ADMINISTATION
+ # Fixed [#4768] emailCloaking() doesn't completely combine parts of mail address
+ # Fixed [#4972] Truncated email address in Contacts
+ # Fixed [#4607] admin.typedcontent.php missing $lists['_caption_align'] initialisation code
+ # Fixed [#4610] MOSimage doesn't work in static content manager
+ # Fixed [#4586] `List Length` is ignored
+
+-------------------- 4.5.2.1 Patch Released ----------------------
+19-Feb-2005 Andrew Eddie
+ # Fixed security vulnerability in Tar.php
+
+18-Feb-2005 Andy Miller
+ # Fixed com_content to use <div> for componentheading
+ ! Changed implementation of new -3 module style for more robust solution
+
+-------------------- 4.5.2 Stable Released ----------------------
+
+16-Feb-2005 Emir Sakic
+ # Fixed JS Bug with save order button not refreshing the page in IE
+ + Added support for language variable in content URL
+
+16-Feb-2005 Andy Miller
+ + Added css elements for image/caption in sf2
+ ! Removed hardcoded default padding/margin in mosimage mambot
+
+16-Feb-2005 Alex Kempkens
+ # Fixed handling of header and search phrases in search component
+
+16-Feb-2005 Rey Gigataras
+ ! `Cancel` button replaced with `Close` button when editing existing items
+ ! Moved `Mass Mail` to `Component` Sub-menu
+ # Fixed [#4517]  Menu order incorrect
+ # Fixed [#4466] Administrator may delete other administrator
+ # Fixed [#4468] Administrator may change the level they belong to
+ # Fixed [#4536] Logout Link wrong in User Menu
+ # Fixed [#4467] Back-end Group may create 'Public Front-end' or 'Public Back-end' user
+ # Fixed 'Other Categories' param problem in 'Newsfeeds` and `Contacts` components
+ # Fixed [#4482] Error in WebLink Parameters
+ # Fixed [#4532] Display problem in Table - Content Category
+ # Fixed [#4533] Display problem in Table - Content Section
+ # Fixed missing published button in `Newsfeed` Component edit page
+ # Fixed [#4500] No Caption in Static Content
+
+16-Feb-2005 Peter Koch
+ # Fixed [#4090] navigation between archived articles is not possible
+ # Fixed error in 'make unwriteable' when editing language and template files
+ # Fixed category redirection error after calling from content item manager
+ ! Updated cpanel icons and modules for hiding mainmenu when calling edit pages
+ ! Updated typed/static content for hiding mainmenu when calling edit pages
+ ! Spread menubar icons for improved usability
+ ! Updated installation step 1 hints and warnings
+
+16-Feb-2005 Andrew Eddie
+ + Added new site module stype to allow for rounded corner styling techniques
+ # Fixed bug in database error reporting when in debug mode
+ # Fixed bug showing Not Auth message when linking via Key reference
+ # Fixed help links to support and removed useless index link
+ # Fixed [#4483] 4.5.2 Pre1: Powerd by Logo still shows 4.5.1
+ # Fixed [#4496] Pre-1 Section Creation: No menu link creation possible
+ + Added [#4502] Pre-1: User "Select Log Status" lacks "logged out" option
+ # Fixed [#4480] 4.5.2 CVS missing language string in contacts (Download as Vcard)
+
+15-Feb-2005 Rey Gigataras
+ # Fixed bug `Search Category` mambot
+
+15-Feb-2005 Peter Koch
+ # Fixed creation of menuitems for weblink, newsfeed and contact categories
+ # Fixed content menu should recognize empty sections and categories
+ ! Hide main menu whenever an item is edited to reduce risk of lost checkouts.
+ ! Improved backend messaging
+
+15-Feb-2005 Andrew Eddie
+ # Fixed spurious installer error msg when xml file is included in package file list
+ + Added experimental task routing class
+ + Added mainframe function to add custom html to the head tag of a template
+
+14-Feb-2005 Emir Sakic
+ # Fixed [#4207] Bug in Blog-Content Category Archives
+
+14-Feb-2005 Peter Koch
+ # Fixed [#4472] 4.5.2 CVS Menu Manager [menu] Overlib oddities
+ # Fixed sample installation inconsistents
+ # Fixed phrasing for all menuitem names
+ # Fixed wrong category mgr if no weblink or newsfeed cat. exists
+
+14-Feb-2005 Alex Kempkins
+ # Fixed problem with RSS feeds & live feed
+ # Removed config_ml_support from configuration dialogs
+
+14-Feb-2005 Andrew Eddie
+ # Fixed [#4305,3971] User with Manager or Administrator Access pb
+ ! Converted help files to html, help index can point to help site
+
+13-Feb-2005 Rey Gigataras
+ # Fixed [#3840] Some curious things in the Groupmanagement
+ # Fixed [#4272] Configuration: no 'back'; link to control panel
+ ! Added logged filter to `User Manager`
+ + mod_logged Admin module
+
+12-Feb-2005 Rey Gigataras
+ # Fixed [#4319] 4.5.2 CVS mod_rssfeed malfunction
+
+12-Feb-2005 Peter Koch
+ # Fixed [#4345] stripslashes on array in includes/mambo.php:mosBindArrayToObject()
+ + Added optional parameters for $cc, $bcc, $attachment to mosMail()
+ + Made path to sendmail configurable ($mosConfig_sendmail)
+
+11-Feb-2005 Andy Miller
+ # Fixed Long SEF URLs showing up in search results
+ + Added a function to show area of text in search results based on keyword
+ # Fixed rotate image module to include trailing <br /> for IE compatibility
+ # Fixed search highlighting to display properly
+
+11-Feb-2005 Peter Koch
+ # Fixed [#4321] 4.5.2 CVS mod_sections module displays empty sections
+ # Fixed [#3072] Update DB from 4.5.0 to 4.5.1
+
+11-Feb-2005 Rey Gigataras
+ # Fixed Live Bookmarks handling
+ + Additional parameters for TinyMCE
+ ! Added group filtering for User Manager
+ ! Added `User Manager` & `Media Manager` to Admin Panel Quickicons
+ ! Restrutured Admin `Content` Sub-Menu
+
+10-Feb-2005 Peter Koch
+ # Fixed [#4251] (Again) Issues with other categories display
+ # Fixed [#4361] script tag in submit news bloqs admin backend
+
+10-Feb-2005 Alex Kempkens
+ ! Removed multi lingual calls from index and searchbot scripts
+
+10-Feb-2005 Andrew Eddie
+ # Fixed bug in module display for free text and style=-1
+ # fixed bug in mambot uninstaller
+
+09-Feb-2005 Peter Koch
+ # Fixed [#4396] 4.5.2 CVS Order column in lists? Editing can't be saved.
+ # Fixed [#4251] 4.5.2 CVS Menu Manager/Menu Items Editing window typos and bugs
+
+08-Feb-2005 Peter Koch
+ # Fixed [#4404] 4.5.2 CVS mod_templatechooser Typo
+ # Fixed [#4405] 4.5.2 CVS mod_whosonline oddity
+ # Fixed [#4400] problem with copying menu in admin panel
+
+07-Feb-2005 Peter Koch
+ # Fixed [#4105] Fixes to new item counters, category display, etc.
+ # Fixed [#4359] 4.5.2 CVS new Menu Manager display bug after 05/02/cvs update
+
+07-Feb-2005 Alex Kempkens
+ # Fixed small variable notices
+ ! Added configuration value for ml support
+ # Fixed small issues about content categories & notice warnings for news-flash module
+
+06-Feb-2005
+ # Fixed bug that in usermenu logout link that prevents access to com_login
+
+05-Feb-2005 Alex Kempkens
+ + Added small corrections in the select handling for multi lingual contents
+ + Integrated basic check for multi lingual component, same technique like
+   SEF
+ ! Added the use of css 'sectiontableentry1/2' in the content item table of
+   the category list
+
+05-Feb-2005 Emir Sakic
+ # Fixed JS error in TinyMCE advanced editor
+ # Fixed SEF bug
+ # Fixed TOC SEF bug
+ # Fixed cosmetic admin menu bug
+ ! Removed IFRAME borders on admin help page
+ # Fixed [#4267] Module Manager list default bug
+ ! Added icon for save order admin listing
+
+05-Feb-2005 Andrew Eddie
+ + Added Quote method to database class
+ + Added php 4.1.2 compat functions
+
+03-Feb-2005 Andrew Eddie
+ + Add Walter Zorn tooltip library
+
+02-Feb-2005 Andrew Eddie
+ ! Fixed x-site injection vulnerability related to PHP bug
+
+30-Jan-2005 Andy Stewart
+ # Fixed [#4520] Changed singular "Module" into plural "Module(s)" when deleting a menu.
+ # Fixed [#4220] Static content linking to content item in menu manager.
+
+29-Jan-2005 Alex Kempkens
+ # Fixed live feed handling of RRS and integrated possibility to name
+   the feed file
+
+27-Jan-2005 Andy Stewart
+ # Fixed [#2938] Added strtolower to filename when chmod after upload
+
+27-Jan-2005 Andrew Eddie
+ + Added folder offset to <files> tag in installer
+
+26-Jan-2005 Peter Koch
+ ! Change content editors width to 100%
+
+25-Jan-2005 Peter Koch
+ # Fixed weblinks not working with SEF enabled
+ # Fixed [#3851] Alternative gzip page compression doesn't work (for example in Opera)
+ # Fixed non-standard HTML in user manager
+
+24-Jan-2005 Andy Stewart
+ # Fixed [3565] updated publish_array to point to correct key
+ # Fixed [3824] Closed, resolved by [3289] fix
+ # Fixed [3473] Closed, resolved by [3289] fix
+ # Fixed [3752] Not a bug, user not understood ini_get function
+
+24-Jan-2005 Peter Koch
+ # Fixed misspelling cateogry/category in english.php
+ # Fixed non-standard HTML in admin control panel
+
+23-Jan-2005 Levis Bisson
+ + Added the global configuration -> Show UnAuthorized Links condition
+   to the mod_latestnews.php, mod_mostread.php and mod_newsflash.php
+
+23-Jan-2005 Peter Koch
+ + Added write protection handling to template html and css editors.
+ + Added write protection handling to language file editor.
+ # Fixed [#3289] Media Manager not working with globals off
+ # Fixed [#3352] Global configuration and Logout Fail
+
+22-Jan-2005 Rey Gigataras
+ # Fixed missing Back Button option for Search component page
+ # Fixed 'no results' found when first entering Search component - without engaging a search
+ # Fixed pathway html entity problem
+
+21-Jan-2005 Peter Koch
+ + Added checkboxes in site global configuration to make configuration.php
+   unwritable after saving, or to override write protection while saving
+   respectively.
+ + Added function mosIsChmodable($file) to administrator/includes/admin.php.
+   Returns TRUE if mambo can chmod the file. Used for overwrite/add write
+   protection functions in administration editors.
+
+19-Jan-2005 Rey Gigataras
+ + Added Vcard capability to Contact Component
+
+18-Jan-2005 Peter Koch
+ # General fix for chmod issues [#3842] [#3727] [#3275]:
+ + Added configurable file and directory permissions (chmod) to installation steps.
+ + Added configurable file & directory permissions (chmod) to global configuration
+ + Added function mosChmodRecursive($path, $filemode=NULL, $dirmode=NULL) to mambo.php.
+ + Added function mosChmod($path) to mambo.php.
+ ! 3rd party addons may adopt the permission flags while still keeping backward compatibility.
+ ! Updated com_installer to use the new chmod options above
+ ! Updated com_media to use the new chmod options above
+ # Fixed $mosConfig_absolute_path having double slashes after installing on windows
+ # Fixed several minor html errors in installer and com_config
+
+18-Jan-2005 Rey Gigataras
+ ! Added Date column to Content Managers
+
+17-Jan-2005 Rey Gigataras
+ + Added Caption support to {mosimage}
+ # Fixed Category param in Blog Category
+ # Fixed inability to hide Categories in Category view of 'List - Content Section'
+
+16-Jan-2005 Rey Gigataras
+ ! Separated Menu Item Types into groups
+
+15-Jan-2005 Rey Gigataras
+ ! Added param for `title` & `heading` attribs of 'mospagebreak' to be added to <site> tag
+ ! Added `heading` attribute to 'mospagebreak' to control title of first item in TOC
+ ! Add Search button params for `Search Module`
+ ! Add forget password and register new user for Login Component page
+
+14-Jan-2005 Rey Gigataras
+ + Added new Ordering ability for Admin list/table views
+ ! Template Manager preview template thumbnail, on by default
+ ! Improved New Menu Item creation page - added tooltips from XML file
+ ! Improved MOSTooltip function
+
+13-Jan-2005 Rey Gigataras
+ + Added Reset Clicks button to Banner manager
+ ! Added Author column and Author filter to Content Item and Static Content Manager
+
+12-Jan-2005 Rey Gigataras
+ + Added `Load Module Position` mambot
+
+11-Jan-2005 Rey Gigataras
+ + Added `Wrapper` module
+ + Added option to send HTML emails in `Massmail` component
+ # Fixed Wrapper Component XHTML validation issue
+ # Fixed [#4051] Can search sections and categories even if they have not been published
+
+10-Jan-2005 Rey Gigataras
+ ! 'Latest News' module can now show Static Content - configurable via new `Module Mode` param
+ ! 'Most Read' module can now show Static Content - configurable via new `Module Mode` param
+
+09-Jan-2005 Rey Gigataras
+ + Site `Favourite Icon` now configurable via Global Configuration
+ + Added Syndication support for Firefox `Live Bookmarks`
+ + Added 'Apply' action to Menu Items
+ + Added 'Apply' action to Content Item, Static Content, Section, Category & Global Config
+ + Added 'Apply' button ( saves item but does not exit `edit` mode )
+ ! Reordered `Page Title` to have sitename appear before page name
+ # Fixed unnecessary extra commas in Meta Tags
+
+07-Jan-2005 Rey Gigataras
+ ! Added action message to 'Copy' module function
+ ! Replace `split` funtion with faster `explode` function to determine ISO encoding
+ # Fixed Error messages in 'Copy' Menu Item confirmation page
+
+05-Jan-2005 Rey Gigataras
+ # Fixed [#3990] Saving or editing existing categories gives errors
+
+04-Jan-2005 Andy Stewart
+ # Fixed [#3473] Added code to auto delete index.html from empty media manager folder
+ ! Added code to media manager function create_folder to create index.html
+
+04-Jan-2005 Rey Gigataras
+ # Fixed handling of menus when more than one module assigned to display a particular menutype
+ # Fixed Search Contacts mambot sql error
+
+04-Jan-2005 Andrew Eddie
+ # Fixed hardcoded classname in mosParameters that prevents derived classes from working
+ # Fixed wrongly named iscore property in mosComponents class
+ ! Updated mosReadDirectory function to be able to recurse into sub-directories
+
+03-Jan-2005 Rey Gigataras
+ # Fixed Admin Module 'Components' being visible for Managers
+ # Fixed Admin Module 'Menu Stats' including Trashed menu items in count
+
+02-Jan-2005 Rey Gigataras
+ + New 'Installer' sub-menu for Admin and Super Admin - amalgamates links for all installers
+ ! Improvement to Category 'Link to Menu' handling
+ ! Improvement to Section 'Link to Menu' handling
+ # Fixed page title param for Contact Component menu items
+
+01-Jan-2005 Rey Gigataras
+ ! Improvement to Static Content 'Link to Menu' handling
+ ! Improvement to Content Item 'Link to Menu' handling
+ ! Improvement to Menu Manager edit menu item linking
+
+31-Dec-2004 Rey Gigataras
+ ! Improvement to Content Item 'Reset Hits' handling
+ ! Improvement to Static Content 'Reset Hits' handling
+ # Fixed RSS Syndication author validation error - removed author info
+
+31-Dec-2004 Andrew Eddie
+ # Fixed stripping of backslashes when loading an object
+ # Fixed error if xml didn't exist in Mambot and Module install screens
+
+30-Dec-2004 Rey Gigataras
+ # Fixed [#2706] Bug(?) with 'time to publish' in relation to timezone (time offset)
+ # Fixed [#3922] POLL: Page Title is missing (Parameters)
+ # Fixed params for 'Component - Search' menu item
+ # Fixed Poll dropdown select missing Itemid
+
+30-Dec-2004 Peter Koch
+ # Fixed [#3610] Missing #__ in admin.content.php
+ # Fixed [#3503] Missing quote in admin.media.html.php
+ # Fixed [#3217] Typo in variable name, missing $ sign
+
+30-Dec-2004 Andrew Eddie
+ ! Admin custom toolbar now displays only text if images not defined
+
+29-Dec-2004 Rey Gigataras
+ + Search Newsfeeds mambot
+ + Added Feed Image, Feed descrip, Item descrip & word count params to 'Link - Newsfeed'
+ + Added Feed Image, Feed descrip, Item descrip & word count params to 'Component - Newsfeed'
+ + Added Feed Image, Item description & word count params to RSS Feed module
+ ! Modified Search Weblinks mambot
+
+27-Dec-2004 Rey Gigataras
+ + Added hyperlink to Frontpage Manager list linking to Category Edit
+ + Added hyperlink to Frontpage Manager list linking to Section Edit
+ + Added hyperlink to Content Manager list linking to Category Edit
+ + Added hyperlink to Content Manager list linking to Section Edit
+ + Added hyperlink to Category Manager list linking to Section Edit
+ ! Cosmetic change to Module Item layout - shifted from tab to column layout
+ # Fixed mambot description in Edit Mambot page
+
+26-Dec-2004 Rey Gigataras
+ + Added hyperlink to Menu Manager for Contact Item menu items directly to the item itself
+ + Added hyperlink to Menu Manager for Newsfeed Item menu items directly to the item itself
+ + Added hyperlink to Menu Manager for Content Item menu items directly to the item itself
+ + Ability to link to Content Items from Edit Content Item menu page
+ + Ability to link to Static Content from Edit Static Content Item menu page
+ ! Cosmetic change to Menu Item layout - shifted from tab to column layout
+ # Fixed [#3551] Failed during uninstallation of Admin's module
+ # Fixed [#3056] No handling of illegal section names in Category Manager
+ # Fixed [#3030] Query in archive modul don't work
+ # Fixed [#2847] archive module not using SEO
+
+25-Dec-2004 Rey Gigataras
+ ! Disabled edit icon appearing in newsflash module
+ # Fixed [#3891] Checkout for Banner Clients don't work
+ # Fixed [#2986] com_banner option listclients doesn't work in FireFox 1.0
+ # Fixed [#3048] Problem with Frontend editing checked-out Content
+
+24-Dec-2004 Andrew Eddie
+ ! Added PEAR Archive Tar library
+
+24-Dec-2004 Rey Gigataras
+ # Fixed [#3287] Login fails if index.php is not the default for the domain
+ # Fixed [#3669] str_replace( '&', '&amp;', $path ) may break unicode
+ # Fixed [#2982] minor error in pathway.php
+ # Fixed [#3290] Sort by button broken in 'Browser, OS, Domain Statistics' page
+ # Fixed [#2984] Centering of text in install components
+ # Fixed [#2791] Administrators can delete themselves
+ # Fixed [#3058] Control Panel
+ # Fixed [#3426] component com_contacts several issues
+ # Fixed [#3375] Multiple contacts printing error
+ # Fixed [#3482] Contacts Page Class Suffix and Page Title don`t work
+
+23-Dec-2004 Rey Gigataras
+ # Fixed [#3895] 'Active' Column in Contact Categories list always zero
+ # Fixed mambot xml group attribute
+
+22-Dec-2004 Andrew Eddie
+ ! Replaced Incutio xmlrpc library with DOMIT xmlrpc library
+
+20-Dec-2004 Andrew Eddie
+ # Removed display of href in returned search results (long urls corrupt display)
+
+19-Dec-2004 Rey Gigataras
+ + Block renaming of menutype for 'mainmenu' menu
+ + Block deletion of 'mainmenu' menu
+ + Block deletion of 'mainmenu' module
+ ! Hides email by default on Contacts component table view
+ ! Cosmetic change to representation of Menu Tree
+ ! Administrator Group now able to access Trash Manager
+ # Fixed [#3127] typo in 'List - Content Section' menu item params: Filter Field
+ # Fixed [#2693] Bug by install local 4.51a local WIN XP PRP XAMPP
+ # Fixed [#2752] blogsection mode, shows IMG element wwhen no image is selected
+ # Fixed [#2734] 'Register Globals' set to OFF, Bug with viewing page as PDF or to Print
+ # Fixed [#2743] index2.php option-variable used before initialisation
+ # Fixed [#2867] $author not visible in email for user submitted weblink
+ # Fixed [#2917] Can't edit static content in backend via edit button
+ # Fixed [#3152] menu class suffix parameter does not work for sublevels
+ # Fixed [#3513] 'Do not use image' doesn't remove weblink icon
+ # Fixed [#2862] menu copy doesn't copy sublevel items
+ # Fixed [#3827] Trashed Content is displayed to those with frontend edit access
+ # Fixed [#2689] Link to Menu, will not show empty menus in Menu Select list
+ # Fixed [#3829] Access to Menu Manager not allowed for Administrators
+ # Fixed [#3701] Changing menu module menu class suffix interferes with menu menutype
+ # Fixed [#3128] Menu manager issues
+ # Fixed [#3109] menutype shows a wrong value
+ # Fixed [#2710] Problem with menu manager
+ # Fixed renaming of Menu Type also renames type for menu items
+
+18-Dec-2004 Andy Stewart
+ # Fixed [#3794] Replaced $mainframe->getCfg("mosConfig_dbprefix") with $mosConfig_dbprefix
+
+18-Dec-2004 Rey Gigataras
+ # Fixed [#2992] Spelling error in Registration module
+ # Fixed [#3725] Spelling Error in Global Config
+ # Fixed [#2717] Missing parameters for 'Component - Search' menu item
+ # Fixed [#2690] Newsfeed Component not outputing Feeds image
+ # Fixed [#2825] Poll Lag is Broken
+ # Fixed [#3748] Impossible to reply to mails from contact component
+ # Fixed [#3802] Contact component js redirect fails on submit in Firefox
+
+17-Dec-2004 Rey Gigataras
+ + Email Cloaking mambot
+ + Search Content Sections mambot
+ + Search Content Categories mambot
+ ! Added css class distinction between next and previous item navigation buttons
+ ! TinyMCE removed from uninstall list
+ ! On clean install TinyMCE in 'Advanced' mode loaded as default editor
+ ! Upgraded feedcreator to 1.72
+ # Fixed [#2923] Pb when Using Textarea as module parameter
+ # Fixed [#3770] RSS - not correctly validating
+ # Fixed [#3771] RSS - encoding German Umlauts
+ # Fixed [#3025] Bugs in encoding in rss feeds
+ # Fixed [#3067] Content without a category is gone but still there
+ # Fixed [#3321] Editing Administrator Module does not load corrent parameter from xml file
+ # Fixed [#3122] "table - newsfeed category" have contact category's parameters
+ # Fixed [#3123] typo on popup info help on login component menu item's parameters tab
+ # Fixed [#3125] typo in "List - Content Section" parameters tab
+ # Fixed [#3018] Menu Bug? or Style issues w/ Solarflare template
+ # Fixed [#2701] Read more on all frontpage items
+ # Fixed [#3071] missing <selected> tag in create user
+ # Fixed [#2788] Submit News returns Not authorised for Author level
+ # Fixed [#2930] Search Module (Search Box) - Display extra line below the input box
+ # Fixed [#3050] Filter in com_contact is broken
+ # Fixed [#3078] errors in mosmenubar
+ # Fixed [#2874] css for news module
+ # Fixed [#2896] Mod_mainmenu Spacer settings not functional
+ # Fixed [#2899] Saving content - mosmessages missing Slashes
+ # Fixed [#2871] no edit-icon if show_title set to off
+ # Fixed [#2687] page class suffix for home (w3c xhtml)
+ # Fixed [#2630] 4.5.1 and Static Contant Manager and Link to Menu
+ # Fixed [#3057] Error with Help in Static Content Manager
+ # Fixed RSS IE display error
+ # Fixed RSS feed Itemid problem
+ # Fixed Banner Client Manager Checked Out field not showing data
+ # Fixed Contact Manager Checked Out field showing incorrect data
+ # Fixed Contact Item Link not displaying correct info when editing menu item entry
+ # Fixed 'Blog - Content Category' Param to show/hide Category description & image
+ # Fixed 'Blog - Content Section' Param to show/hide Section description & image
+
+17-Dec-2004 Andrew Eddie
+ # Fixed possible bug with PHP 4.3.10
+ # Fixed colon in _NEW_USER_MESSAGE causing problems with some url's
+ ! Upgraded TinyMCE to version 1.38
+ # Fixed wrong field in weblinks search for newest/oldest/default
+ ! Improvements to search engine to facilitate xml-rpc integration
+ # Fixed [#2813] database query bug
+ + Added improve code highlight bot based on GeSHi
+
+16-Dec-2004 Andrew Eddie
+ # [#3225] Site Preview uses base URL not a call to index.php
+
+15-Dec-2004 Andrew Eddie
+ ! Updated DOMIT version to 1.0 pre_g
+ + Added desciption to Modules edit page
+ + Added linkable title option to newsflash module
+ # Fixed access parameter and select query
+
+13-Dec-2004 Andrew Eddie
+ # Random Image: Corrected noted default image type, improved parameter help text
+
+10-Dec-2004 Andrew Eddie
+ ! Updated screen help pages
+ ! Moved system info, credits, license & support from menu to help page
+
+06-Dec-2004 Andrew Eddie
+ + Added Id and Component Id column to menu item list
+ + Added hyperlink to Menu Manager for Static Content menu items directly to the item itself
+ + Parameter added to control how weblink opens
+ ! New weblinks will assign category if selected in the links list
+ ! Allow parameters handler to assign different control name
+
+-------------------- 4.5.1a Stable Released ----------------------
+
+2. Copyright and disclaimer
+---------------------------
+This application is opensource software released under the GPL.  Please
+see source code and the LICENSE file
diff -ruN 4.5.2.3/components/com_banners/banners.class.php 4.5.4/components/com_banners/banners.class.php
--- 4.5.2.3/components/com_banners/banners.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_banners/banners.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: banners.class.php,v 1.4 2005/01/06 01:13:26 eddieajau Exp $
+* @version $Id: banners.class.php,v 1.1 2005/07/22 01:54:40 eddieajau Exp $
 * @package Mambo
 * @subpackage Banners
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_banners/banners.php 4.5.4/components/com_banners/banners.php
--- 4.5.2.3/components/com_banners/banners.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_banners/banners.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: banners.php,v 1.4 2005/01/06 01:13:26 eddieajau Exp $
+* @version $Id: banners.php,v 1.1 2005/07/22 01:54:41 eddieajau Exp $
 * @package Mambo
 * @subpackage Banners
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_contact/contact.class.php 4.5.4/components/com_contact/contact.class.php
--- 4.5.2.3/components/com_contact/contact.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_contact/contact.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contact.class.php,v 1.6 2005/01/23 08:28:14 stingrey Exp $
+* @version $Id: contact.class.php,v 1.1 2005/07/22 01:54:41 eddieajau Exp $
 * @package Mambo
 * @subpackage Contact
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_contact/contact.html.php 4.5.4/components/com_contact/contact.html.php
--- 4.5.2.3/components/com_contact/contact.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_contact/contact.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contact.html.php,v 1.11 2005/02/16 13:37:39 stingrey Exp $
+* @version $Id: contact.html.php,v 1.1 2005/07/22 01:54:41 eddieajau Exp $
 * @package Mambo
 * @subpackage Contact
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_contact/contact.php 4.5.4/components/com_contact/contact.php
--- 4.5.2.3/components/com_contact/contact.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_contact/contact.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contact.php,v 1.10 2005/02/16 13:37:39 stingrey Exp $
+* @version $Id: contact.php,v 1.1 2005/07/22 01:54:41 eddieajau Exp $
 * @package Mambo
 * @subpackage Contact
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_content/content.html.php 4.5.4/components/com_content/content.html.php
--- 4.5.2.3/components/com_content/content.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_content/content.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content.html.php,v 1.11 2005/02/18 16:03:35 rhuk Exp $
+* @version $Id: content.html.php,v 1.4 2005/10/26 10:40:00 csouza Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -35,13 +35,13 @@
 		} else {
 			$catid = $title->id;
 		}
-		
+
 		if ( $params->get( 'page_title' ) ) {
 			?>
 			<div class="componentheading<?php echo $params->get( 'pageclass_sfx' ); ?>">
 			<?php echo $title->name; ?>
-			</div> 
-			<?php 
+			</div>
+			<?php
 		}
 		?>
 		<table width="100%" cellpadding="0" cellspacing="0" border="0" align="center" class="contentpane<?php echo $params->get( 'pageclass_sfx' ); ?>">
@@ -1246,6 +1246,8 @@
 	*/
 	function emailForm( $uid, $title, $template='' ) {
 		global $mosConfig_sitename;
+		
+		$form_check = $_SESSION['_form_check_']['com_content'] = crypt(time()); 
 		?>
 		<script language="javascript" type="text/javascript">
 		function submitbutton() {
@@ -1262,6 +1264,7 @@
 		<title><?php echo $mosConfig_sitename; ?> :: <?php echo $title; ?></title>
 		<link rel="stylesheet" href="templates/<?php echo $template; ?>/css/template_css.css" type="text/css" />
 		<form action="index2.php?option=com_content&task=emailsend" name="frontendForm" method="post" onSubmit="return submitbutton();">
+		<input type="hidden" name="form_check" value="<?php echo $form_check;?>">
 		<table cellspacing="0" cellpadding="0" border="0">
 		<tr>
 			<td colspan="2">
@@ -1338,4 +1341,4 @@
 		<?php
 	}
 }
-?>
+?>
\ No newline at end of file
diff -ruN 4.5.2.3/components/com_content/content.php 4.5.4/components/com_content/content.php
--- 4.5.2.3/components/com_content/content.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_content/content.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,1608 +1,1609 @@
-<?php
-/**
-* @version $Id: content.php,v 1.26 2005/02/16 17:14:40 kochp Exp $
-* @package Mambo
-* @subpackage Content
-* @copyright (C) 2000 - 2005 Miro International Pty Ltd
-* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
-* Mambo is Free Software
-*/
-
-/** ensure this file is being included by a parent file */
-defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
-
-require_once( $mainframe->getPath( 'front_html', 'com_content' ) );
-
-$id			= intval( mosGetParam( $_REQUEST, 'id', 0 ) );
-$sectionid 	= trim( mosGetParam( $_REQUEST, 'sectionid', 0 ) );
-$pop 		= intval( mosGetParam( $_REQUEST, 'pop', 0 ) );
-$task 		= trim( mosGetParam( $_REQUEST, 'task', '' ) );
-$id 		= intval( mosGetParam( $_REQUEST, 'id', 0 ) );
-$limit 		= intval( mosGetParam( $_REQUEST, 'limit', '' ) );
-$limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) );
-
-$now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 );
-
-// Editor usertype check
-$access = new stdClass();
-$access->canEdit 	= $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'all' );
-$access->canEditOwn = $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'own' );
-$access->canPublish = $acl->acl_check( 'action', 'publish', 'users', $my->usertype, 'content', 'all' );
-
-// cache activation
-$cache =& mosCache::getCache( 'com_content' );
-
-// loads function for frontpage component
-if ( $option == 'com_frontpage' ) {
-	//frontpage( $option, $gid, $pop, $now );
-	$cache->call( 'frontpage', $gid, $access, $pop, $now );
-	return;
-}
-
-switch ( strtolower( $task ) ) {
-	case 'findkey':
-		findKeyItem( $gid, $access, $pop, $option, $now );
-		break;
-
-	case 'view':
-		showItem( $id, $gid, $access, $pop, $option, $now );
-		break;
-
-	case 'section':
-		$cache->call( 'showSection', $id, $gid, $access, $now );
-		break;
-
-	case 'category':
-		$cache->call( 'showCategory', $id, $gid, $access, $sectionid, $limit, $limitstart, $now );
-		break;
-
-	case 'blogsection':
-		$cache->call('showBlogSection', $id, $gid, $access, $pop, $now );
-		break;
-
-	case 'blogcategorymulti':
-	case 'blogcategory':
-		$cache->call( 'showBlogCategory', $id, $gid, $access, $pop, $now );
-		break;
-
-	case 'archivesection':
-		showArchiveSection( $id, $gid, $access, $pop, $option );
-		break;
-
-	case 'archivecategory':
-		showArchiveCategory( $id, $gid, $access, $pop, $option, $now );
-		break;
-
-	case 'edit':
-		editItem( $id, $gid, $access, 0, $task, $Itemid );
-		break;
-
-	case 'new':
-		editItem( 0, $gid, $access, $sectionid, $task, $Itemid );
-		break;
-
-	case 'save':
-		mosCache::cleanCache( 'com_content' );
-		saveContent( $access );
-		break;
-
-	case 'cancel':
-		cancelContent( $access );
-		break;
-
-	case 'emailform':
-		emailContentForm( $id );
-		break;
-
-	case 'emailsend':
-		emailContentSend( $id );
-		break;
-
-	case 'vote':
-		recordVote ( $url , $user_rating , $cid , $database);
-		break;
-
-	default:
-		$cache->call('showBlogSection', 0, $gid, $access, $pop, $now );
-		break;
-}
-
-/**
- * Searches for an item by a key parameter
- * @param int The user access level
- * @param object Actions this user can perform
- * @param int
- * @param string The url option
- * @param string A timestamp
- */
-function findKeyItem( $gid, $access, $pop, $option, $now ) {
-	global $database;
-	$keyref = mosGetParam( $_REQUEST, 'keyref', '' );
-	$keyref = $database->getEscaped( $keyref );
-
-	$query = 'SELECT id
-		FROM #__content
-		WHERE attribs LIKE \'%keyref=' . $keyref . '%\'
-		';
-	$database->setQuery( $query );
-	$id = $database->loadResult();
-	if ($id > 0) {
-		showItem( $id, $gid, $access, $pop, $option, $now );
-	} else {
-		echo 'Key not found';
-	}
-}
-
-function frontpage( $gid, &$access, $pop, $now ) {
-	global $database, $mainframe, $my, $Itemid;
-	global $mosConfig_offset;
-
-	$noauth = !$mainframe->getCfg( 'shownoauth' );
-
-	// Parameters
-	$menu =& new mosMenu( $database );
-	$menu->load( $Itemid );
-	$params =& new mosParameters( $menu->params );
-	$orderby_sec = $params->def( 'orderby_sec', '' );
-	$orderby_pri = $params->def( 'orderby_pri', '' );
-
-	// Ordering control
-	$order_sec = _orderby_sec( $orderby_sec );
-	$order_pri = _orderby_pri( $orderby_pri );
-
-	$now = date( "Y-m-d H:i:s", time()+$mosConfig_offset*60*60 );
-
-	// query records
-	$query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, cc.name AS category, g.name AS groups"
-	. "\n FROM #__content AS a"
-	. "\n INNER JOIN #__content_frontpage AS f ON f.content_id = a.id"
-	. "\n INNER JOIN #__categories AS cc ON cc.id = a.catid"
-	. "\n INNER JOIN #__sections AS s ON s.id = a.sectionid"
-	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
-	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
-	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
-	. "\n WHERE a.state = '1'"
-	. ( $noauth ? "\n AND a.access <= '". $my->gid ."'" : '' )
-	. "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now'  )"
-	. "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )"
-	. "\n ORDER BY ". $order_pri . $order_sec
-	;
-	$database->setQuery( $query );
-	$rows = $database->loadObjectList();
-
-	// Dynamic Page Title
-	$mainframe->SetPageTitle( $menu->name );
-
-	BlogOutput( $rows, $params, $gid, $access, $pop, $menu );
-}
-
-
-function showSection( $id, $gid, &$access, $now ) {
-	global $database, $mainframe, $mosConfig_offset, $Itemid;
-
-	$noauth = !$mainframe->getCfg( 'shownoauth' );
-
-	// Paramters
-	$params = new stdClass();
-	if ( $Itemid ) {
-		$menu = new mosMenu( $database );
-		$menu->load( $Itemid );
-		$params =& new mosParameters( $menu->params );
-	} else {
-		$menu = "";
-		$params =& new mosEmpty();
-
-	}
-	$orderby = $params->get( 'orderby', '' );
-
-	$params->set( 'type', 'section' );
-
-	$params->def( 'page_title', 1 );
-	$params->def( 'pageclass_sfx', '' );
-	$params->def( 'other_cat_section', 1 );
-	$params->def( 'other_cat', 1 );
-	$params->def( 'empty_cat', 0 );
-	$params->def( 'cat_items', 1 );
-	$params->def( 'cat_description', 1 );
-	$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
-	$params->def( 'pageclass_sfx', '' );
-
-	// Ordering control
-	$orderby = _orderby_sec( $orderby );
-
-	$section = new mosSection( $database );
-	$section->load( $id );
-
-	if ( $access->canEdit ) {
-		$xwhere = '';
-		$xwhere2 = "\n AND b.state >= '0'";
-	} else {
-		$xwhere = "\n AND a.published = '1'";
-		$xwhere2 = "\n AND b.state = '1'"
-		. "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '". $now ."' )"
-		. "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '". $now ."' )"
-		;
-	}
-
-	// show/hide empty categories
-	if ( $params->get( 'empty_cat' ) ) {
-		$empty = '';
-	} else {
-		$empty = "\n HAVING COUNT( b.id ) > 0";
-	}
-
-	// Main Query
-	$query = '
-		SELECT a.*, COUNT( b.id ) AS numitems
-		FROM #__categories AS a
-		LEFT JOIN #__content AS b ON b.catid = a.id '. $xwhere2 .'
-		WHERE a.section = \'' . $section->id .'\' '. $xwhere;
-	if ($noauth) {
-		$query .= '
-		AND a.access <= '. $gid . '
-		AND b.access <= '. $gid;
-	}
-	$query .= '
-		GROUP BY a.id
-		' . $empty . '
-		ORDER BY ' . $orderby;
-
-	$database->setQuery( $query );
-	$other_categories = $database->loadObjectList();
-
-	// Dynamic Page Title
-	$mainframe->SetPageTitle( $menu->name );
-
-	HTML_content::showContentList( $section, NULL, $access, $id, NULL,  $gid, $params, NULL, $other_categories, NULL );
-}
-
-
-/**
-* @param int The category id
-* @param int The group id of the user
-* @param int The access level of the user
-* @param int The section id
-* @param int The number of items to dislpay
-* @param int The offset for pagination
-*/
-function showCategory( $id, $gid, &$access, $sectionid, $limit, $limitstart, $now  ) {
-	global $database, $mainframe, $Itemid, $mosConfig_offset, $mosConfig_list_limit;
-
-	$noauth = !$mainframe->getCfg( 'shownoauth' );
-	$selected = mosGetParam( $_POST, 'order', '' );
-
-	// Paramters
-	$params = new stdClass();
-	if ( $Itemid ) {
-		$menu = new mosMenu( $database );
-		$menu->load( $Itemid );
-		$params =& new mosParameters( $menu->params );
-	} else {
-		$menu = "";
-		$params =& new mosParameters( '' );
-	}
-
-	if ( $selected ) {
-		$orderby = $selected;
-	} else {
-		$orderby = $params->get( 'orderby', 'rdate' );
-		$selected = $orderby;
-	}
-
-	$params->set( 'type', 'category' );
-
-	$params->def( 'page_title', 1 );
-	$params->def( 'title', 1 );
-	$params->def( 'hits', $mainframe->getCfg( 'hits' ) );
-	$params->def( 'author', !$mainframe->getCfg( 'hideAuthor' ) );
-	$params->def( 'date', !$mainframe->getCfg( 'hideCreateDate' ) );
-	$params->def( 'date_format', _DATE_FORMAT_LC );
-	$params->def( 'navigation', 2 );
-	$params->def( 'display', 1 );
-	$params->def( 'display_num', $mosConfig_list_limit );
-	$params->def( 'other_cat', 1 );
-	$params->def( 'empty_cat', 0 );
-	$params->def( 'cat_items', 1 );
-	$params->def( 'cat_description', 0 );
-	$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
-	$params->def( 'pageclass_sfx', '' );
-	$params->def( 'headings', 1 );
-	$params->def( 'order_select', 1 );
-	$params->def( 'filter', 1 );
-	$params->def( 'filter_type', 'title' );
-
-	// Ordering control
-	$orderby = _orderby_sec( $orderby );
-
-	$category = new mosCategory( $database );
-	$category->load( $id );
-
-	if ( $sectionid == 0 ) {
-		$sectionid = $category->section;
-	}
-
-	if ( $access->canEdit ) {
-		$xwhere = '';
-		$xwhere2 = "\n AND b.state >= '0'";
-	} else {
-		$xwhere = "\n AND c.published='1'";
-		$xwhere2 = "\n AND b.state='1'"
-		. "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '". $now ."' )"
-		. "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '". $now ."' )"
-		;
-	}
-
-	$pagetitle = '';
-	if ( $Itemid ) {
-		$menu = new mosMenu( $database );
-		$menu->load( $Itemid );
-		$pagetitle = $menu->name;
-	} // if
-
-	// show/hide empty categories
-	$empty = '';
-	if ( !$params->get( 'empty_cat' ) )
-		$empty = "\n HAVING COUNT( b.id ) > 0";
-
-	// get the list of other categories
-	$query = "SELECT c.*, COUNT( b.id ) AS numitems"
-	. "\n FROM #__categories AS c"
-	. "\n LEFT JOIN #__content AS b ON b.catid = c.id "
-	. $xwhere2
-	. ( $noauth ? "\n AND b.access <= '". $gid ."'" : '' )
-	. "\n WHERE c.section = '". $category->section. "'"
-	. $xwhere
-	. ( $noauth ? "\n AND c.access <= '". $gid ."'" : '' )
-	. "\n GROUP BY c.id"
-	. $empty
-	. "\n ORDER BY c.ordering"
-	;
-	$database->setQuery( $query );
-	$other_categories = $database->loadObjectList();
-
-	// get the total number of published items in the category
-	// filter functionality
-	$filter = trim( mosGetParam( $_POST, 'filter', '' ) );
-	$filter = strtolower( $filter );
-	$and = '';
-	if ( $filter ) {
-		if ( $params->get( 'filter' ) ) {
-			switch ( $params->get( 'filter_type' ) ) {
-				case 'title':
-					$and = "\n AND LOWER( a.title ) LIKE '%". $filter ."%'";
-					break;
-				case 'author':
-					$and = "\n AND ( ( LOWER( u.name ) LIKE '%". $filter ."%' ) OR ( LOWER( a.created_by_alias ) LIKE '%". $filter ."%' ) )";
-					break;
-				case 'hits':
-					$and = "\n AND a.hits LIKE '%". $filter ."%'";
-					break;
-			}
-		}
-
-	}
-
-	if ( $access->canEdit ) {
-		$xwhere = "\n AND a.state >= '0'";
-	} else {
-		$xwhere = "\n AND a.state='1'"
-		. "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now' )"
-		. "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )"
-		;
-	}
-
-	$query = "SELECT COUNT(a.id) as numitems"
-	. "\n FROM #__content AS a"
-	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
-	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
-	. "\n WHERE a.catid='". $category->id ."' ". $xwhere
-	. ( $noauth ? "\n AND a.access<='". $gid ."'" : '' )
-	. "\n AND '". $category->access ."'<='". $gid ."'"
-	. $and
-	. "\n ORDER BY ". $orderby .""
-	;
-	$database->setQuery( $query );
-	$counter = $database->loadObjectList();
-	$total = $counter[0]->numitems;
-	$limit = $limit ? $limit : $params->get( 'display_num' ) ;
-	if ( $total <= $limit ) $limitstart = 0;
-
-	require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' );
-	$pageNav = new mosPageNav( $total, $limitstart, $limit );
-
-	// get the list of items for this category
-	$query = "SELECT a.id, a.title, a.hits, a.created_by, a.created_by_alias, a.created AS created, a.access, u.name AS author, a.state, g.name AS groups"
-	. "\n FROM #__content AS a"
-	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
-	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
-	. "\n WHERE a.catid='". $category->id ."' ". $xwhere
-	. ( $noauth ? "\n AND a.access<='". $gid ."'" : '' )
-	. "\n AND '". $category->access ."'<='". $gid ."'"
-	. $and
-	. "\n ORDER BY ". $orderby .""
-	. "\n LIMIT ". $limitstart .", ". $limit
-	;
-	$database->setQuery( $query );
-	$items = $database->loadObjectList();
-
-	$check = 0;
-	if ( $params->get( 'date' ) ) {
-		$order[] = mosHTML::makeOption( 'date', _ORDER_DROPDOWN_DA );
-		$order[] = mosHTML::makeOption( 'rdate', _ORDER_DROPDOWN_DD );
-		$check .= 1;
-	}
-	if ( $params->get( 'title' ) ) {
-		$order[] = mosHTML::makeOption( 'alpha', _ORDER_DROPDOWN_TA );
-		$order[] = mosHTML::makeOption( 'ralpha', _ORDER_DROPDOWN_TD );
-		$check .= 1;
-	}
-	if ( $params->get( 'hits' ) ) {
-		$order[] = mosHTML::makeOption( 'hits', _ORDER_DROPDOWN_HA );
-		$order[] = mosHTML::makeOption( 'rhits', _ORDER_DROPDOWN_HD );
-		$check .= 1;
-	}
-	if ( $params->get( 'author' ) ) {
-		$order[] = mosHTML::makeOption( 'author', _ORDER_DROPDOWN_AUA );
-		$order[] = mosHTML::makeOption( 'rauthor', _ORDER_DROPDOWN_AUD );
-		$check .= 1;
-	}
-	$order[] = mosHTML::makeOption( 'order', _ORDER_DROPDOWN_O );
-	$lists['order'] = mosHTML::selectList( $order, 'order', 'class="inputbox" size="1"  onchange="document.adminForm.submit();"', 'value', 'text', $selected );
-	if ( $check < 1 ) {
-		$lists['order'] = '';
-		$params->set( 'order_select', 0 );
-	}
-
-	$lists['task'] = 'category';
-	$lists['filter'] = $filter;
-
-	// Dynamic Page Title
-	$mainframe->SetPageTitle( $pagetitle );
-
-	HTML_content::showContentList( $category, $items, $access, $id, $sectionid, $gid, $params, $pageNav, $other_categories, $lists );
-} // showCategory
-
-
-function showBlogSection( $id=0, $gid, &$access, $pop, $now=NULL ) {
-	global $database, $mainframe, $mosConfig_offset, $Itemid;
-
-	$noauth = !$mainframe->getCfg( 'shownoauth' );
-
-	// Parameters
-	$params = new stdClass();
-	if ( $Itemid ) {
-		$menu = new mosMenu( $database );
-		$menu->load( $Itemid );
-		$params =& new mosParameters( $menu->params );
-	} else {
-		$menu = "";
-		$params =& new mosParameters( '' );
-	}
-
-	// new blog multiple section handling
-	if ( !$id ) {
-		$id		= $params->def( 'sectionid', 0 );
-	}
-
-	$where 		= _where( 1, $access, $noauth, $gid, $id, $now );
-
-	// Ordering control
-	$orderby_sec 	= $params->def( 'orderby_sec', 'rdate' );
-	$orderby_pri 	= $params->def( 'orderby_pri', '' );
-	$order_sec 	= _orderby_sec( $orderby_sec );
-	$order_pri 	= _orderby_pri( $orderby_pri );
-
-	// Main data query
-	$query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, g.name AS groups"
-	. "\n FROM #__content AS a"
-	. "\n INNER JOIN #__categories AS cc ON cc.id = a.catid"
-	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
-	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
-	. "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id"
-	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
-	. ( count( $where ) ? "\n WHERE ".implode( "\n AND ", $where ) : '' )
-	. "\n AND s.access<=$gid"
-	. "\n ORDER BY ". $order_pri . $order_sec
-	;
-	$database->setQuery( $query );
-	$rows = $database->loadObjectList();
-
-	// Dynamic Page Title
-	if ($menu) {
-		$mainframe->setPageTitle( $menu->name );
-	}
-
-	BlogOutput( $rows, $params, $gid, $access, $pop, $menu );
-}
-
-function showBlogCategory( $id=0, $gid, &$access, $pop, $now ) {
-	global $database, $mainframe, $mosConfig_offset, $Itemid;
-
-	$noauth = !$mainframe->getCfg( 'shownoauth' );
-
-	// Paramters
-	$params = new stdClass();
-	if ( $Itemid ) {
-		$menu = new mosMenu( $database );
-		$menu->load( $Itemid );
-		$params =& new mosParameters( $menu->params );
-	} else {
-		$menu = "";
-		$params =& new mosParameters( '' );
-	}
-
-	// new blog multiple section handling
-	if ( !$id ) {
-		$id 		= $params->def( 'categoryid', 0 );
-	}
-
-	$where		= _where( 2, $access, $noauth, $gid, $id, $now );
-
-	// Ordering control
-	$orderby_sec 	= $params->def( 'orderby_sec', 'rdate' );
-	$orderby_pri 	= $params->def( 'orderby_pri', '' );
-	$order_sec 	= _orderby_sec( $orderby_sec );
-	$order_pri 	= _orderby_pri( $orderby_pri );
-
-	// Main data query
-	$query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, g.name AS groups, cc.name AS category"
-	. "\n FROM #__content AS a"
-	. "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid"
-	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
-	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
-	. "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id"
-	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
-	. ( count( $where ) ? "\n WHERE ".implode( "\n AND ", $where ) : '' )
-	. "\n AND s.access <= ". $gid
-	. "\n ORDER BY ". $order_pri . $order_sec;
-	;
-	$database->setQuery( $query );
-	$rows = $database->loadObjectList();
-
-	// Dynamic Page Title
-	$mainframe->SetPageTitle( $menu->name );
-
-	BlogOutput( $rows, $params, $gid, $access, $pop, $menu );
-}
-
-function showArchiveSection( $id=NULL, $gid, &$access, $pop, $option ) {
-	global $database, $mainframe, $mosConfig_offset;
-	global $Itemid;
-
-	$noauth = !$mainframe->getCfg( 'shownoauth' );
-
-	// Paramters
-	$year 	= mosGetParam( $_REQUEST, 'year', date( 'Y' ) );
-	$month 	= mosGetParam( $_REQUEST, 'month', date( 'm' ) );
-
-	$params = new stdClass();
-	if ( $Itemid ) {
-		$menu = new mosMenu( $database );
-		$menu->load( $Itemid );
-		$params =& new mosParameters( $menu->params );
-	} else {
-		$menu = "";
-		$params =& new mosParameters( '' );
-	}
-
-	$params->set( 'intro_only', 1 );
-	$params->set( 'year', $year );
-	$params->set( 'month', $month );
-
-	// Ordering control
-	$orderby_sec = $params->def( 'orderby_sec', 'rdate' );
-	$orderby_pri = $params->def( 'orderby_pri', '' );
-	$order_sec = _orderby_sec( $orderby_sec );
-	$order_pri = _orderby_pri( $orderby_pri );
-
-	// used in query
-	$where = _where( -1, $access, $noauth, $gid, $id, NULL, $year, $month );
-
-	// checks to see if 'All Sections' options used
-	if ( $id == 0 ) {
-		$check = '';
-	} else {
-		$check = 'AND a.sectionid = '. $id ;
-	}
-	// query to determine if there are any archived entries for the section
-	$query = 	"SELECT a.id"
-	. "\n FROM #__content as a"
-	. "\n WHERE a.state = '-1'"
-	. $check
-	;
-	$database->setQuery( $query );
-	$items = $database->loadObjectList();
-	$archives = count( $items );
-
-	// Main Query
-	$query = "SELECT a.*, ROUND(v.rating_sum/v.rating_count) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, g.name AS groups"
-	. "\n FROM #__content AS a"
-	. "\n INNER JOIN #__categories AS cc ON cc.id = a.catid"
-	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
-	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
-	. "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id"
-	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
-	. ( count( $where ) ? "\n WHERE ". implode( "\n AND ", $where ) : '')
-	. "\n AND s.access <= ". $gid
-	. "\n ORDER BY ". $order_pri . $order_sec
-	;
-	$database->setQuery( $query );
-	$rows = $database->loadObjectList();
-
-	// initiate form
- 	echo '<form action="'.sefRelToAbs( 'index.php').'" method="post">';
-
-	// Dynamic Page Title
-	$mainframe->SetPageTitle( $menu->name );
-
-	if ( !$archives ) {
-		// if no archives for category, hides search and outputs empty message
-		echo '<br /><div align="center">'. _CATEGORY_ARCHIVE_EMPTY .'</div>';
-	} else {
-		BlogOutput( $rows, $params, $gid, $access, $pop, $menu, 1 );
-	}
-
- 	echo '<input type="hidden" name="id" value="'. $id .'" />';
-	echo '<input type="hidden" name="Itemid" value="'. $Itemid .'" />';
- 	echo '<input type="hidden" name="task" value="archivesection" />';
- 	echo '<input type="hidden" name="option" value="com_content" />';
- 	echo '</form>';
-}
-
-
-function showArchiveCategory( $id=0, $gid, &$access, $pop, $option, $now ) {
-	global $database, $mainframe, $mosConfig_offset;
-	global $Itemid;
-
-	// Parameters
-	$noauth = !$mainframe->getCfg( 'shownoauth' );
-	$year 	= mosGetParam( $_REQUEST, 'year', date( 'Y' ) );
-	$month 	= mosGetParam( $_REQUEST, 'month', date( 'm' ) );
-	$module = trim( mosGetParam( $_REQUEST, 'module', '' ) );
-
-	// used by archive module
-	if ( $module ) {
-		$check = '';
-	} else {
-		$check = 'AND a.catid = '. $id;
-	}
-
-	if ( $Itemid ) {
-		$menu = new mosMenu( $database );
-		$menu->load( $Itemid );
-		$params =& new mosParameters( $menu->params );
-	} else {
-		$menu = "";
-		$params =& new mosParameters( '' );
-	}
-
-	$params->set( 'year', $year );
-	$params->set( 'month', $month );
-
-	// Ordering control
-	$orderby_sec = $params->def( 'orderby', 'rdate' );
-	$order_sec = _orderby_sec( $orderby_sec );
-
-	// used in query
-	$where = _where( -2, $access, $noauth, $gid, $id, NULL, $year, $month );
-
-	// query to determine if there are any archived entries for the category
-	$query = 	"SELECT a.id"
-	. "\n FROM #__content as a"
-	. "\n WHERE a.state = '-1'"
-	. "\n ". $check
-	;
-	$database->setQuery( $query );
-	$items = $database->loadObjectList();
-	$archives = count( $items );
-
-	$query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, g.name AS groups"
-	. "\n FROM #__content AS a"
-	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
-	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
-	. "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id"
-	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
-	. ( count( $where ) ? "\n WHERE ". implode( "\n AND ", $where ) : '' )
-	. "\n AND s.access <= ". $gid
-	. "\n ORDER BY ". $order_sec
-	;
-	$database->setQuery( $query );
-	$rows = $database->loadObjectList();
-
-	// initiate form
- 	echo '<form action="'.sefRelToAbs( 'index.php').'" method="post">';
-
-	// Page Title
-	$mainframe->SetPageTitle( $menu->name );
-
-	if ( !$archives ) {
-		// if no archives for category, hides search and outputs empty message
-		echo '<br /><div align="center">'. _CATEGORY_ARCHIVE_EMPTY .'</div>';
-	} else {
-		BlogOutput( $rows, $params, $gid, $access, $pop, $menu, 1 );
-	}
-
- 	echo '<input type="hidden" name="id" value="'. $id .'" />';
-	echo '<input type="hidden" name="Itemid" value="'. $Itemid .'" />';
- 	echo '<input type="hidden" name="task" value="archivecategory" />';
- 	echo '<input type="hidden" name="option" value="com_content" />';
- 	echo '</form>';
-}
-
-
-function BlogOutput ( &$rows, &$params, $gid, &$access, $pop, &$menu, $archive=NULL ) {
-	global $mainframe, $Itemid, $task, $id, $option, $database, $mosConfig_live_site;
-
-	// parameters
-	if ( $params->get( 'page_title', 1 ) && $menu) {
-		$header = $params->def( 'header', $menu->name );
-	} else {
-		$header = '';
-	}
-	$columns = $params->def( 'columns', 2 );
-	if ( $columns == 0 ) {
-		$columns = 1;
-	}
-	$intro 				= $params->def( 'intro', 4 );
-	$leading 				= $params->def( 'leading', 1 );
-	$links 				= $params->def( 'link', 4 );
-	$pagination 			= $params->def( 'pagination', 2 );
-	$pagination_results 	= $params->def( 'pagination_results', 1 );
-	$pagination_results 	= $params->def( 'pagination_results', 1 );
-	$descrip		 		= $params->def( 'description', 1 );
-	$descrip_image	 		= $params->def( 'description_image', 1 );
-	// needed for back button for page
-	$back 				= $params->get( 'back_button', $mainframe->getCfg( 'back_button' ) );
-	// needed to disable back button for item
-	$params->set( 'back_button', 0 );
-	$params->def( 'pageclass_sfx', '' );
-	$params->set( 'intro_only', 1 );
-
-	$total = count( $rows );
-
-	// pagination support
-	$limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) );
-	$limit = $intro + $leading + $links;
-	if ( $total <= $limit ) {
-		$limitstart = 0;
-	}
-	$i = $limitstart;
-
-	// needed to reduce queries used by getItemid
-	$ItemidCount['bs'] 		= $mainframe->getBlogSectionCount();
-	$ItemidCount['bc'] 		= $mainframe->getBlogCategoryCount();
-	$ItemidCount['gbs'] 	= $mainframe->getGlobalBlogSectionCount();
-
-	// used to display section/catagory description text and images
-	// currently not supported in Archives
-	if ( $menu && $menu->componentid && ( $descrip || $descrip_image ) ) {
-		switch ( $menu->type ) {
-			case 'content_blog_section':
-				$description = new mosSection( $database );
-				$description->load( $menu->componentid );
-				break;
-
-			case 'content_blog_category':
-				$description = new mosCategory( $database );
-				$description->load( $menu->componentid );
-				break;
-
-			default:
-				$menu->componentid = 0;
-				break;
-		}
-	}
-
-	// Page Output
-	// page header
-	if ( $header ) {
-		echo '<div class="componentheading'. $params->get( 'pageclass_sfx' ) .'">'. $header .'</div>';
-	}
-
-	if ( $archive ) {
-		echo '<br />';
-		echo mosHTML::monthSelectList( 'month', 'size="1" class="inputbox"', $params->get( 'month' ) );
-		echo mosHTML::integerSelectList( 2000, 2010, 1, 'year', 'size="1" class="inputbox"', $params->get( 'year' ), "%04d" );
-		echo '<input type="submit" class="button" />';
-	}
-
-	// checks to see if there are there any items to display
-	if ( $total ) {
-		$col_with = 100 / $columns;			// width of each column
-		$width = 'width="'. $col_with .'%"';
-
-		if ( $archive ) {
-			// Search Success message
-			$msg = sprintf( _ARCHIVE_SEARCH_SUCCESS, $params->get( 'month' ), $params->get( 'year' ) );
-			echo "<br /><br /><div align='center'>". $msg ."</div><br /><br />";
-		}
-		echo '<table class="blog' . $params->get( 'pageclass_sfx' ) . '" cellpadding="0" cellspacing="0">';
-
-		// Secrion/Category Description & Image
-		if ( $menu && $menu->componentid && ( $descrip || $descrip_image ) ) {
-			$link = $mosConfig_live_site .'/images/stories/'. $description->image;
-			echo '<tr>';
-			echo '<td valign="top">';
-			if ( $descrip_image && $description->image ) {
-				echo '<img src="'. $link .'" align="'. $description->image_position .'" hspace="6" alt="" />';
-			}
-			if ( $descrip && $description->description ) {
-				echo $description->description;
-			}
-			echo '<br/><br/>';
-			echo '</td>';
-			echo '</tr>';
-		}
-
-		// Leading story output
-		if ( $leading ) {
-			echo '<tr>';
-			echo '<td valign="top">';
-			for ( $z = 0; $z < $leading; $z++ ) {
-				if ( $i >= $total ) {
-					// stops loop if total number of items is less than the number set to display as leading
-					break;
-				}
-				echo '<div>';
-				show( $rows[$i], $params, $gid, $access, $pop, $option, $ItemidCount );
-				echo '</div>';
-				$i++;
-			}
-			echo '</td>';
-			echo '</tr>';
-		}
-
-		if ( $intro && ( $i < $total ) ) {
-			echo '<tr>';
-			echo '<td valign="top">';
-			echo '<table width="100%"  cellpadding="0" cellspacing="0">';
-			// intro story output
-			for ( $z = 0; $z < $intro; $z++ ) {
-				if ( $i >= $total ) {
-					// stops loop if total number of items is less than the number set to display as intro + leading
-					break;
-				}
-
-				if ( !( $z % $columns ) || $columns == 1 ) {
-					echo '<tr>';
-				}
-
-				echo '<td valign="top" '. $width .'>';
-
-				// outputs either intro or only a link
-				if ( $z < $intro ) {
-					show( $rows[$i], $params, $gid, $access, $pop, $option, $ItemidCount );
-				} else {
-					echo '</td>';
-					echo '</tr>';
-					break;
-				}
-
-				echo '</td>';
-
-				if ( !( ( $z + 1 ) % $columns ) || $columns == 1 ) {
-					echo '</tr>';
-				}
-
-				$i++;
-			}
-
-			// this is required to output a final closing </tr> tag when the number of items does not fully
-			// fill the last row of output - a blank column is left
-			if ( $intro % $columns ) {
-				echo '</tr>';
-			}
-
-			echo '</table>';
-			echo '</td>';
-			echo '</tr>';
-		}
-
-		// Links output
-		if ( $links && ( $i < $total )  ) {
-			echo '<tr>';
-			echo '<td valign="top">';
-			echo '<div class="blog_more'. $params->get( 'pageclass_sfx' ) .'">';
-			HTML_content::showLinks( $rows, $links, $total, $i, 1, $ItemidCount );
-			echo '</div>';
-			echo '</td>';
-			echo '</tr>';
-		}
-
-		// Pagination output
-		if ( $pagination ) {
-			if ( ( $pagination == 2 ) && ( $total <= $limit ) ) {
-				// not visible when they is no 'other' pages to display
-			} else {
-				// get the total number of records
-				$limitstart = $limitstart ? $limitstart : 0;
-				require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' );
-				$pageNav = new mosPageNav( $total, $limitstart, $limit );
-				if ( $option == 'com_frontpage' ) {
-					$link = 'index.php?option=com_frontpage&amp;Itemid='. $Itemid;
-				} else if ( $archive ) {
-					$year = $params->get( 'year' );
-					$month = $params->get( 'month' );
-					$link = 'index.php?option=com_content&amp;task='. $task .'&amp;id='. $id .'&amp;Itemid='. $Itemid.'&amp;year='. $year .'&amp;month='. $month;
-				} else {
-					$link = 'index.php?option=com_content&amp;task='. $task .'&amp;id='. $id .'&amp;Itemid='. $Itemid;
-				}
-				echo '<tr>';
-				echo '<td valign="top" align="center">';
-				echo $pageNav->writePagesLinks( $link );
-				echo '<br /><br />';
-				echo '</td>';
-				echo '</tr>';
-				if ( $pagination_results ) {
-					echo '<tr>';
-					echo '<td valign="top" align="center">';
-					echo $pageNav->writePagesCounter();
-					echo '</td>';
-					echo '</tr>';
-				}
-			}
-		}
-
-		echo '</table>';
-
-	} else if ( $archive && !$total ) {
-		// Search Failure message for Archives
-		$msg = sprintf( _ARCHIVE_SEARCH_FAILURE, $params->get( 'month' ), $params->get( 'year' ) );
-		echo '<br /><br /><div align="center">'. $msg .'</div><br />';
-	} else {
-		// Generic blog empty display
-		echo _EMPTY_BLOG;
-	}
-
-	// Back Button
-	$params->set( 'back_button', $back );
-	mosHTML::BackButton ( $params );
-}
-
-
-function showItem( $uid, $gid, &$access, $pop, $option, $now ) {
-	global $database, $mainframe;
-	global $mosConfig_offset, $mosConfig_live_site, $mosConfig_MetaTitle, $mosConfig_MetaAuthor;
-
-	if ( $access->canEdit ) {
-		$xwhere='';
-	} else {
-		$xwhere = "AND (a.state = '1' OR a.state = '-1')"
-		. "\n	AND (publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now')"
-		. "\n	AND (publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now')"
-		;
-	}
-
-	$query = "SELECT a.*, ROUND(v.rating_sum/v.rating_count) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, s.name AS section, g.name AS groups"
-	. "\n FROM #__content AS a"
-	. "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid"
-	. "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'"
-	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
-	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
-	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
-	. "\n WHERE a.id='". $uid ."' ". $xwhere
-	. "\n AND a.access <= ". $gid
-	;
-	$database->setQuery( $query );
-	$row = NULL;
-
-	if ( $database->loadObject( $row ) ) {
-		$params =& new mosParameters( $row->attribs );
-		$params->set( 'intro_only', 0 );
-		$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
-		if ( $row->sectionid == 0) {
-			$params->set( 'item_navigation', 0 );
-		} else {
-			$params->set( 'item_navigation', $mainframe->getCfg( 'item_navigation' ) );
-		}
-		// loads the links for Next & Previous Button
-		if ( $params->get( 'item_navigation' ) ) {
-			$query = "SELECT a.id"
-			. "\n FROM #__content AS a"
-			. "\n WHERE a.catid = ". $row->catid.""
-			. "\n AND a.state = $row->state AND ordering < $row->ordering"
-			. ($access->canEdit ? "" : "\n AND a.access <= '". $gid ."'" )
-			. "\n ORDER BY a.ordering DESC"
-			. "\n LIMIT 1"
-			;
-			$database->setQuery( $query );
-			$row->prev = $database->loadResult();
-
-			$query = "SELECT a.id"
-			. "\n FROM #__content AS a"
-			. "\n WHERE a.catid = ". $row->catid.""
-			. "\n AND a.state = $row->state AND ordering > $row->ordering"
-			. ($access->canEdit ? "" : "\n AND a.access <= '". $gid ."'" )
-			. "\n ORDER BY a.ordering"
-			. "\n LIMIT 1"
-			;
-			$database->setQuery( $query );
-			$row->next = $database->loadResult();
-		}
-		// page title
-		$mainframe->setPageTitle( $row->title );
-		if ($mosConfig_MetaTitle=='1') {
-			$mainframe->addMetaTag( 'title' , $row->title );
-		}
-		if ($mosConfig_MetaAuthor=='1') {
-			$mainframe->addMetaTag( 'author' , $row->author );
-		}
-
-		show( $row, $params, $gid, $access, $pop, $option );
-	} else {
-		mosNotAuth();
-		return;
-	}
-}
-
-
-function show( $row, $params, $gid, &$access, $pop, $option, $ItemidCount=NULL ) {
-	global $database, $mainframe, $Itemid;
-	global $mosConfig_live_site, $mosConfig_absolute_path;
-	global $options, $cache;
-
-	$noauth = !$mainframe->getCfg( 'shownoauth' );
-
-	if ( $access->canEdit ) {
-		if ( $row->id === null || $row->access > $gid ) {
-			mosNotAuth();
-			return;
-		}
-	} else {
-		if ( $row->id === null || $row->state == 0 ) {
-			mosNotAuth();
-			return;
-		}
-		if ( $row->access > $gid ) {
-			if ( $noauth ) {
-				mosNotAuth();
-				return;
-			} else {
-				if ( !( $params->get( 'intro_only' ) ) ) {
-					mosNotAuth();
-					return;
-				}
-			}
-		}
-	}
-
-	// GC Parameters
-	$params->def( 'link_titles', $mainframe->getCfg( 'link_titles' ) );
-	$params->def( 'author', !$mainframe->getCfg( 'hideAuthor' ) );
-	$params->def( 'createdate', !$mainframe->getCfg( 'hideCreateDate' ) );
-	$params->def( 'modifydate', !$mainframe->getCfg( 'hideModifyDate' ) );
-	$params->def( 'print', !$mainframe->getCfg( 'hidePrint' ) );
-	$params->def( 'pdf', !$mainframe->getCfg( 'hidePdf' ) );
-	$params->def( 'email', !$mainframe->getCfg( 'hideEmail' ) );
-	$params->def( 'rating', $mainframe->getCfg( 'vote' ) );
-	$params->def( 'icons', $mainframe->getCfg( 'icons' ) );
-	$params->def( 'readmore', $mainframe->getCfg( 'readmore' ) );
-	// Other Params
-	$params->def( 'image', 1 );
-	$params->def( 'section', 0 );
-	$params->def( 'section_link', 0 );
-	$params->def( 'category', 0 );
-	$params->def( 'category_link', 0 );
-	$params->def( 'introtext', 1 );
-	$params->def( 'pageclass_sfx', '' );
-	$params->def( 'item_title', 1 );
-	$params->def( 'url', 1 );
-
-	// loads the link for Section name
-	if ( $params->get( 'section_link' ) ) {
-		$query = 	"SELECT a.id"
-		. "\n FROM #__menu AS a"
-		. "\n WHERE a.componentid = ". $row->sectionid.""
-		;
-		$database->setQuery( $query );
-		$_Itemid = $database->loadResult();
-		$link = sefRelToAbs( 'index.php?option=com_content&amp;task=section&amp;id='. $row->sectionid .'&amp;Itemid='.$_Itemid );
-		$row->section = '<a href="'. $link .'">'. $row->section .'</a>';
-	}
-
-	// loads the link for Category name
-	if ( $params->get( 'category_link' ) ) {
-		$query = 	"SELECT a.id"
-		. "\n FROM #__menu AS a"
-		. "\n WHERE a.componentid = ". $row->catid.""
-		;
-		$database->setQuery( $query );
-		$_Itemid = $database->loadResult();
-		$link = sefRelToAbs( 'index.php?option=com_content&amp;task=category&amp;sectionid='. $row->sectionid .'&amp;id='. $row->catid .'&amp;Itemid='.$_Itemid );
-		$row->category = '<a href="'. $link .'">'. $row->category .'</a>';
-	}
-
-	// loads current template for the pop-up window
-	$template = '';
-	if ( $pop ) {
-		$params->set( 'popup', 1 );
-		$database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" );
-		$template = $database->loadResult();
-	}
-
-	// show/hides the intro text
-	if ( $params->get( 'introtext'  ) ) {
-		$row->text = $row->introtext. ( $params->get( 'intro_only' ) ? '' : chr(13) . chr(13) . $row->fulltext);
-	} else {
-		$row->text = $row->fulltext;
-	}
-
-	// deal with the {mospagebreak} mambots
-	// only permitted in the full text area
-	$page = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) );
-
-	// record the hit
-	if ( !$params->get( 'intro_only' ) ) {
-		$obj = new mosContent( $database );
-		$obj->hit( $row->id );
-	}
-
-	$cache->call( 'HTML_content::show', $row, $params, $access, $page, $option, $ItemidCount );
-}
-
-
-function editItem( $uid, $gid, &$access, $sectionid=0, $task, $Itemid ){
-	global $database, $mainframe, $my;
-	global $mosConfig_absolute_path, $mosConfig_live_site;
-
-	$row = new mosContent( $database );
-	// load the row from the db table
-	$row->load( $uid );
-
-	// fail if checked out not by 'me'
-	if ( $row->checked_out && $row->checked_out <> $my->id ) {
-		echo"<script>alert('The module [ ".$row->title." ] is currently being edited by another person.'); window.history.go(-1); </script>";
-		exit;
-	}
-
-	if ( $uid ) {
-		// existing record
-		if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) {
-			mosNotAuth();
-			return;
-		}
-	} else {
-		// new record
-		if (!($access->canEdit || $access->canEditOwn)) {
-			mosNotAuth();
-			return;
-		}
-	}
-
-	if ( $uid ) {
-		$sectionid = $row->sectionid;
-	}
-
-	$lists = array();
-
-	// get the type name - which is a special category
-	$query = "SELECT name FROM #__sections WHERE id='$sectionid'";
-	$database->setQuery( $query );
-	$section = $database->loadResult();
-
-	if ( $uid == 0 ) {
-		$row->catid = 0;
-	}
-
-	if ( $uid ) {
-		$row->checkout( $my->id );
-		if (trim( $row->publish_down ) == "0000-00-00 00:00:00") {
-			$row->publish_down = 'Never';
-		}
-		if (trim( $row->images )) {
-			$row->images = explode( "\n", $row->images );
-		} else {
-			$row->images = array();
-		}
-		$query = "SELECT name from #__users"
-		. "\n WHERE id = ". $row->created_by
-		;
-		$database->setQuery( $query	);
-		$row->creator = $database->loadResult();
-
-		$query = "SELECT name from #__users"
-		. "\n WHERE id = ". $row->modified_by
-		;
-		$database->setQuery( $query );
-		$row->modifier = $database->loadResult();
-
-		$query = "SELECT content_id from #__content_frontpage"
-		."\n WHERE content_id = ". $row->id
-		;
-		$database->setQuery( $query );
-		$row->frontpage = $database->loadResult();
-	} else {
-		$row->sectionid 	= $sectionid;
-		$row->version 		= 0;
-		$row->state 		= 0;
-		$row->ordering 		= 0;
-		$row->images 		= array();
-		$row->publish_up 	= date( 'Y-m-d', time() );
-		$row->publish_down 	= 'Never';
-		$row->creator 		= 0;
-		$row->modifier 		= 0;
-		$row->frontpage 	= 0;
-	}
-
-
-	// calls function to read image from directory
-	$pathA 		= $mosConfig_absolute_path .'/images/stories';
-	$pathL 		= $mosConfig_live_site .'/images/stories';
-	$images 	= array();
-	$folders 	= array();
-	$folders[] 	= mosHTML::makeOption( '/' );
-	mosAdminMenus::ReadImages( $pathA, '/', $folders, $images );
-	// list of folders in images/stories/
-	$lists['folders'] 		= mosAdminMenus::GetImageFolders( $folders, $pathL );
-	// list of images in specfic folder in images/stories/
-	$lists['imagefiles']	= mosAdminMenus::GetImages( $images, $pathL );
-	// list of saved images
-	$lists['imagelist'] 	= mosAdminMenus::GetSavedImages( $row, $pathL );
-
-	// make the select list for the states
-	$states[] = mosHTML::makeOption( 0, _CMN_UNPUBLISHED );
-	$states[] = mosHTML::makeOption( 1, _CMN_PUBLISHED );
-	$lists['state'] 		= mosHTML::selectList( $states, 'state', 'class="inputbox" size="1"', 'value', 'text', intval( $row->state ) );
-
-	// build the html select list for ordering
-	$query = "SELECT ordering AS value, title AS text"
-	. "\n FROM #__content"
-	. "\n WHERE catid = '$row->catid'"
-	. "\n ORDER BY ordering"
-	;
-	$lists['ordering'] 		= mosAdminMenus::SpecificOrdering( $row, $uid, $query, 1 );
-
-	// build list of categories
-	$lists['catid'] 		= mosAdminMenus::ComponentCategory( 'catid', $sectionid, intval( $row->catid ) );
-	// build the select list for the image positions
-	$lists['_align'] 		= mosAdminMenus::Positions( '_align' );
-	// build the html select list for the group access
-	$lists['access'] 		= mosAdminMenus::Access( $row );
-
-	HTML_content::editContent( $row, $section, $lists, $images, $access, $my->id, $sectionid, $task, $Itemid );
-}
-
-
-/**
-* Saves the content item an edit form submit
-*/
-function saveContent( &$access ) {
-	global $database, $mainframe, $my;
-	global $mosConfig_absolute_path;
-
-	$row = new mosContent( $database );
-	if ( !$row->bind( $_POST ) ) {
-		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
-		exit();
-	}
-	$isNew = $row->id < 1;
-	if ( $isNew ) {
-		// new record
-		if ( !( $access->canEdit || $access->canEditOwn ) ) {
-			mosNotAuth();
-			return;
-		}
-		$row->created = date( 'Y-m-d H:i:s' );
-		$row->created_by = $my->id;
-	} else {
-		// existing record
-		if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) {
-			mosNotAuth();
-			return;
-		}
-		$row->modified = date( 'Y-m-d H:i:s' );
-		$row->modified_by = $my->id;
-	}
-	if ( trim( $row->publish_down ) == 'Never' ) {
-		$row->publish_down = '0000-00-00 00:00:00';
-	}
-
-	if (!$row->check()) {
-		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
-		exit();
-	}
-	$row->version++;
-	if (!$row->store()) {
-		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
-		exit();
-	}
-
-	// manage frontpage items
-	require_once( $mainframe->getPath( 'class', 'com_frontpage' ) );
-	$fp = new mosFrontPage( $database );
-
-	if ( mosGetParam( $_REQUEST, 'frontpage', 0 ) ) {
-
-		// toggles go to first place
-		if (!$fp->load( $row->id )) {
-			// new entry
-			$database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$row->id','1')" );
-			if (!$database->query()) {
-				echo "<script> alert('".$database->stderr()."');</script>\n";
-				exit();
-			}
-			$fp->ordering = 1;
-		}
-	} else {
-		// no frontpage mask
-		if ( !$fp->delete( $row->id ) ) {
-			$msg .= $fp->stderr();
-		}
-		$fp->ordering = 0;
-	}
-	$fp->updateOrder();
-
-	$row->checkin();
-	$row->updateOrder( "catid='$row->catid'" );
-
-	// gets section name of item
-	$database->setQuery( "SELECT s.title"
-	. "\n FROM #__sections AS s"
-	. "\n WHERE s.scope = 'content'"
-	. "\n AND s.id = '". $row->sectionid ."'"
-	);
-	// gets category name of item
-	$section = $database->loadResult();
-	$database->setQuery( "SELECT c.title"
-	. "\n FROM #__categories AS c"
-	. "\n WHERE c.id = '". $row->catid ."'"
-	);
-	$category = $database->loadResult();
-
-	if ( $isNew ) {
-		// messaging for new items
-		require_once( $mosConfig_absolute_path .'/components/com_messages/messages.class.php' );
-
-		$database->setQuery( "SELECT id FROM #__users WHERE sendEmail = '1'" );
-		$users = $database->loadResultArray();
-		foreach ($users as $user_id) {
-			$msg = new mosMessage( $database );
-			$msg->send( $my->id, $user_id, "New Item", sprintf( _ON_NEW_CONTENT, $my->username, $row->title, $section, $category ) );
-		}
-	}
-
- 	$Itemid 	= mosGetParam( $_POST, 'Returnid', '0' );
- 	$msg 	= $isNew ? _THANK_SUB : _E_ITEM_SAVED;
-	mosRedirect( 'index.php', $msg );
-}
-
-
-/**
-* Cancels an edit operation
-* @param database A database connector object
-*/
-function cancelContent( &$access ) {
-	global $database, $mainframe, $my;
-
-	$row = new mosContent( $database );
-	$row->bind( $_POST );
-
-	if ( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) {
-		$row->checkin();
-	}
-
-	$Itemid = mosGetParam( $_POST, 'Returnid', '0' );
-
-	if ( $Itemid ) {
-		mosRedirect( 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid );
-	} else {
-		mosRedirect( 'index.php' );
-	}
-}
-
-/**
-* Shows the email form for a given content item.
-*/
-function emailContentForm( $uid ) {
-	global $database, $mainframe, $my;
-
-	$row = new mosContent( $database );
-	$row->load( $uid );
-
-	if ( $row->id === null || $row->access > $my->gid ) {
-		mosNotAuth();
-		return;
-	} else {
-		$template='';
-		$database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id = '0' AND menuid = '0'" );
-		$template = $database->loadResult();
-		HTML_content::emailForm( $row->id, $row->title, $template );
-	}
-
-}
-
-
-/**
-* Shows the email form for a given content item.
-*/
-function emailContentSend( $uid ) {
-	global $database, $mainframe;
-	global $mosConfig_live_site, $mosConfig_sitename;
-	global $mosConfig_mailfrom, $mosConfig_fromname;
-
-	$_Itemid = $mainframe->getItemid( $uid, 0, 0  );
-
-	$email = trim( mosGetParam( $_POST, 'email', '' ) );
-	$yourname = trim( mosGetParam( $_POST, 'yourname', '' ) );
-	$youremail = trim( mosGetParam( $_POST, 'youremail', '' ) );
-	$subject_default = _EMAIL_INFO ." $yourname";
-	$subject = trim( mosGetParam( $_POST, 'subject', $subject_default ) );
-
-	if ( !$email || !$youremail || ( is_email( $email ) == false ) || ( is_email( $youremail ) == false ) ) {
-		echo "<script>alert (\""._EMAIL_ERR_NOINFO."\"); window.history.go(-1);</script>";
-		exit(0);
-	}
-
-	$template='';
-	$database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" );
-	$template = $database->loadResult();
-
-	// link sent in email
-	$link = sefRelToAbs( $mosConfig_live_site .'/index.php?option=com_content&task=view&id='. $uid .'&Itemid='. $_Itemid );
-
-	// message text
-	$msg = sprintf( _EMAIL_MSG, $mosConfig_sitename, $yourname, $youremail, $link );
-
-	// mail function
-	mosMail( $mosConfig_mailfrom, $mosConfig_fromname, $email, $subject, $msg );
-
-	HTML_content::emailSent( $email, $template );
-}
-
-function is_email( $email ){
-	$rBool = false;
-
-	if ( preg_match( "/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email ) ) {
-		$rBool = true;
-	}
-	return $rBool;
-}
-
-function recordVote() {
-	global $database;
-
-	$user_rating = mosGetParam( $_REQUEST, 'user_rating', 0 );
-	$url = mosGetParam( $_REQUEST, 'url', '' );
-	$cid = mosGetParam( $_REQUEST, 'cid', 0 );
-	$cid = intval( $cid );
-	$user_rating = intval( $user_rating );
-
-	if ( ( $user_rating >= 1 ) and ( $user_rating <= 5 ) ) {
-		$currip = getenv( 'REMOTE_ADDR' );
-
-		$query = "SELECT * FROM #__content_rating WHERE content_id = $cid";
-		$database->setQuery( $query );
-		$votesdb = NULL;
-		if ( !( $database->loadObject( $votesdb ) ) ) {
-			$query = "INSERT INTO #__content_rating ( content_id, lastip, rating_sum, rating_count )"
-			. "\n VALUES ( '$cid', '$currip', '$user_rating', '1' )";
-			$database->setQuery( $query );
-			$database->query() or die( $database->stderr() );;
-		} else {
-			if ($currip <> ($votesdb->lastip)) {
-				$query = "UPDATE #__content_rating"
-				. "\n SET rating_count = rating_count + 1,"
-				. "\n rating_sum = rating_sum + $user_rating,"
-				. "\n lastip = '$currip'"
-				. "\n WHERE content_id = ". $cid
-				;
-				$database->setQuery( $query );
-				$database->query() or die( $database->stderr() );
-			} else {
-				mosRedirect ( $url, _ALREADY_VOTE );
-			}
-		}
-		mosRedirect ( $url, _THANKS );
-	}
-}
-
-
-function _orderby_pri( $orderby ) {
-	switch ( $orderby ) {
-		case 'alpha':
-			$orderby = 'cc.title, ';
-			break;
-		case 'ralpha':
-			$orderby = 'cc.title DESC, ';
-			break;
-		case 'order':
-			$orderby = 'cc.ordering, ';
-			break;
-		default:
-			$orderby = '';
-			break;
-	}
-
-	return $orderby;
-}
-
-
-function _orderby_sec( $orderby ) {
-	switch ( $orderby ) {
-		case 'date':
-			$orderby = 'a.created';
-			break;
-		case 'rdate':
-			$orderby = 'a.created DESC';
-			break;
-		case 'alpha':
-			$orderby = 'a.title';
-			break;
-		case 'ralpha':
-			$orderby = 'a.title DESC';
-			break;
-		case 'hits':
-			$orderby = 'a.hits DESC';
-			break;
-		case 'rhits':
-			$orderby = 'a.hits ASC';
-			break;
-		case 'order':
-			$orderby = 'a.ordering';
-			break;
-		case 'author':
-			$orderby = 'a.created_by, u.name';
-			break;
-		case 'rauthor':
-			$orderby = 'a.created_by DESC, u.name DESC';
-			break;
-		case 'front':
-			$orderby = 'f.ordering';
-			break;
-		default:
-			$orderby = 'a.ordering';
-			break;
-	}
-
-	return $orderby;
-}
-
-/*
-* @param int 0 = Archives, 1 = Section, 2 = Category
-*/
-function _where( $type=1, &$access, &$noauth, $gid, $id, $now=NULL, $year=NULL, $month=NULL ) {
-	$where = array();
-
-	// normal
-	if ( $type > 0) {
-		$where[] = "a.state = '1'";
-		if ( !$access->canEdit ) {
-			$where[] = "( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )";
-			$where[] = "( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )";
-		}
-		if ( $noauth ) {
-			$where[] = "a.access <= '". $gid ."'";
-		}
-		if ( $id > 0 ) {
-			if ( $type == 1 ) {
-				$where[] = "a.sectionid IN ( ". $id ." ) ";
-			} else if ( $type == 2 ) {
-				$where[] = "a.catid IN ( ". $id ." ) ";
-			}
-		}
-	}
-
-	// archive
-	if ( $type < 0 ) {
-		$where[] = "a.state='-1'";
-		if ( $year ) {
-			$where[] = "YEAR( a.created ) = '". $year ."'";
-		}
-		if ( $month ) {
-			$where[] = "MONTH( a.created ) = '". $month ."'";
-		}
-		if ( $noauth ) {
-			$where[] = "a.access <= '". $gid ."'";
-		}
-		if ( $id > 0 ) {
-			if ( $type == -1 ) {
-				$where[] = "a.sectionid = '". $id ."'";
-			} else if ( $type == -2) {
-				$where[] = "a.catid = '". $id ."'";
-			}
-		}
-	}
-
-	return $where;
-}
-?>
\ No newline at end of file
+<?php
+/**
+* @version $Id: content.php,v 1.7 2005/11/24 04:28:51 csouza Exp $
+* @package Mambo
+* @subpackage Content
+* @copyright (C) 2000 - 2005 Miro International Pty Ltd
+* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
+* Mambo is Free Software
+*/
+
+/** ensure this file is being included by a parent file */
+defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
+
+require_once( $mainframe->getPath( 'front_html', 'com_content' ) );
+
+$id			= intval( mosGetParam( $_REQUEST, 'id', 0 ) );
+$sectionid 	= intval( mosGetParam( $_REQUEST, 'sectionid', 0 ) );
+$pop 		= intval( mosGetParam( $_REQUEST, 'pop', 0 ) );
+$task 		= trim( mosGetParam( $_REQUEST, 'task', '' ) );
+$limit 		= intval( mosGetParam( $_REQUEST, 'limit', '' ) );
+$limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) );
+
+$now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 );
+
+// Editor usertype check
+$access = new stdClass();
+$access->canEdit 	= $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'all' );
+$access->canEditOwn = $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'own' );
+$access->canPublish = $acl->acl_check( 'action', 'publish', 'users', $my->usertype, 'content', 'all' );
+
+// cache activation
+$cache =& mosCache::getCache( 'com_content' );
+
+// loads function for frontpage component
+if ( $option == 'com_frontpage' ) {
+	//frontpage( $option, $gid, $pop, $now );
+	$cache->call( 'frontpage', $gid, $access, $pop, $now );
+	return;
+}
+
+switch ( strtolower( $task ) ) {
+	case 'findkey':
+		findKeyItem( $gid, $access, $pop, $option, $now );
+		break;
+
+	case 'view':
+		showItem( $id, $gid, $access, $pop, $option, $now );
+		break;
+
+	case 'section':
+		$cache->call( 'showSection', $id, $gid, $access, $now );
+		break;
+
+	case 'category':
+		$cache->call( 'showCategory', $id, $gid, $access, $sectionid, $limit, $limitstart, $now );
+		break;
+
+	case 'blogsection':
+		$cache->call('showBlogSection', $id, $gid, $access, $pop, $now );
+		break;
+
+	case 'blogcategorymulti':
+	case 'blogcategory':
+		$cache->call( 'showBlogCategory', $id, $gid, $access, $pop, $now );
+		break;
+
+	case 'archivesection':
+		showArchiveSection( $id, $gid, $access, $pop, $option );
+		break;
+
+	case 'archivecategory':
+		showArchiveCategory( $id, $gid, $access, $pop, $option, $now );
+		break;
+
+	case 'edit':
+		editItem( $id, $gid, $access, 0, $task, $Itemid );
+		break;
+
+	case 'new':
+		editItem( 0, $gid, $access, $sectionid, $task, $Itemid );
+		break;
+
+	case 'save':
+		mosCache::cleanCache( 'com_content' );
+		saveContent( $access );
+		break;
+
+	case 'cancel':
+		cancelContent( $access );
+		break;
+
+	case 'emailform':
+		emailContentForm( $id );
+		break;
+
+	case 'emailsend':
+		emailContentSend( $id );
+		break;
+
+	case 'vote':
+		recordVote ( $url , $user_rating , $cid , $database);
+		break;
+
+	default:
+		$cache->call('showBlogSection', 0, $gid, $access, $pop, $now );
+		break;
+}
+
+/**
+ * Searches for an item by a key parameter
+ * @param int The user access level
+ * @param object Actions this user can perform
+ * @param int
+ * @param string The url option
+ * @param string A timestamp
+ */
+function findKeyItem( $gid, $access, $pop, $option, $now ) {
+	global $database;
+	$keyref = mosGetParam( $_REQUEST, 'keyref', '' );
+	$keyref = $database->getEscaped( $keyref );
+
+	$query = 'SELECT id
+		FROM #__content
+		WHERE attribs LIKE \'%keyref=' . $keyref . '%\'
+		';
+	$database->setQuery( $query );
+	$id = $database->loadResult();
+	if ($id > 0) {
+		showItem( $id, $gid, $access, $pop, $option, $now );
+	} else {
+		echo 'Key not found '. $keyref;
+	}
+}
+
+function frontpage( $gid, &$access, $pop, $now ) {
+	global $database, $mainframe, $my, $Itemid;
+	global $mosConfig_offset;
+
+	$noauth = !$mainframe->getCfg( 'shownoauth' );
+
+	// Parameters
+	$menu =& new mosMenu( $database );
+	$menu->load( $Itemid );
+	$params =& new mosParameters( $menu->params );
+	$orderby_sec = $params->def( 'orderby_sec', '' );
+	$orderby_pri = $params->def( 'orderby_pri', '' );
+
+	// Ordering control
+	$order_sec = _orderby_sec( $orderby_sec );
+	$order_pri = _orderby_pri( $orderby_pri );
+
+	$now = date( "Y-m-d H:i:s", time()+$mosConfig_offset*60*60 );
+
+	// query records
+	$query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, cc.name AS category, g.name AS groups"
+	. "\n FROM #__content AS a"
+	. "\n INNER JOIN #__content_frontpage AS f ON f.content_id = a.id"
+	. "\n INNER JOIN #__categories AS cc ON cc.id = a.catid"
+	. "\n INNER JOIN #__sections AS s ON s.id = a.sectionid"
+	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
+	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
+	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
+	. "\n WHERE a.state = '1'"
+	. ( $noauth ? "\n AND a.access <= '". $my->gid ."'" : '' )
+	. "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now'  )"
+	. "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )"
+	. "\n ORDER BY ". $order_pri . $order_sec
+	;
+	$database->setQuery( $query );
+	$rows = $database->loadObjectList();
+
+	// Dynamic Page Title
+	$mainframe->SetPageTitle( $menu->name );
+
+	BlogOutput( $rows, $params, $gid, $access, $pop, $menu );
+}
+
+
+function showSection( $id, $gid, &$access, $now ) {
+	global $database, $mainframe, $mosConfig_offset, $Itemid;
+
+	$noauth = !$mainframe->getCfg( 'shownoauth' );
+
+	// Paramters
+	$params = new stdClass();
+	if ( $Itemid ) {
+		$menu = new mosMenu( $database );
+		$menu->load( $Itemid );
+		$params =& new mosParameters( $menu->params );
+	} else {
+		$menu = "";
+		$params =& new mosEmpty();
+
+	}
+	$orderby = $params->get( 'orderby', '' );
+
+	$params->set( 'type', 'section' );
+
+	$params->def( 'page_title', 1 );
+	$params->def( 'pageclass_sfx', '' );
+	$params->def( 'other_cat_section', 1 );
+	$params->def( 'other_cat', 1 );
+	$params->def( 'empty_cat', 0 );
+	$params->def( 'cat_items', 1 );
+	$params->def( 'cat_description', 1 );
+	$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
+	$params->def( 'pageclass_sfx', '' );
+
+	// Ordering control
+	$orderby = _orderby_sec( $orderby );
+
+	$section = new mosSection( $database );
+	$section->load( $id );
+
+	if ( $access->canEdit ) {
+		$xwhere = '';
+		$xwhere2 = "\n AND b.state >= '0'";
+	} else {
+		$xwhere = "\n AND a.published = '1'";
+		$xwhere2 = "\n AND b.state = '1'"
+		. "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '". $now ."' )"
+		. "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '". $now ."' )"
+		;
+	}
+
+	// show/hide empty categories
+	if ( $params->get( 'empty_cat' ) ) {
+		$empty = '';
+	} else {
+		$empty = "\n HAVING COUNT( b.id ) > 0";
+	}
+
+	// Main Query
+	$query = '
+		SELECT a.*, COUNT( b.id ) AS numitems
+		FROM #__categories AS a
+		LEFT JOIN #__content AS b ON b.catid = a.id '. $xwhere2 .'
+		WHERE a.section = \'' . $section->id .'\' '. $xwhere;
+	if ($noauth) {
+		$query .= '
+		AND a.access <= '. $gid;
+	}
+	$query .= '
+		GROUP BY a.id
+		' . $empty . '
+		ORDER BY ' . $orderby;
+
+	$database->setQuery( $query );
+	$other_categories = $database->loadObjectList();
+
+	// Dynamic Page Title
+	$mainframe->SetPageTitle( $menu->name );
+
+	HTML_content::showContentList( $section, NULL, $access, $id, NULL,  $gid, $params, NULL, $other_categories, NULL );
+}
+
+
+/**
+* @param int The category id
+* @param int The group id of the user
+* @param int The access level of the user
+* @param int The section id
+* @param int The number of items to dislpay
+* @param int The offset for pagination
+*/
+function showCategory( $id, $gid, &$access, $sectionid, $limit, $limitstart, $now  ) {
+	global $database, $mainframe, $Itemid, $mosConfig_offset, $mosConfig_list_limit;
+
+	$noauth = !$mainframe->getCfg( 'shownoauth' );
+	$selected = mosGetParam( $_POST, 'order', '' );
+
+	// Paramters
+	$params = new stdClass();
+	if ( $Itemid ) {
+		$menu = new mosMenu( $database );
+		$menu->load( $Itemid );
+		$params =& new mosParameters( $menu->params );
+	} else {
+		$menu = "";
+		$params =& new mosParameters( '' );
+	}
+
+	if ( $selected ) {
+		$orderby = $selected;
+	} else {
+		$orderby = $params->get( 'orderby', 'rdate' );
+		$selected = $orderby;
+	}
+
+	$params->set( 'type', 'category' );
+
+	$params->def( 'page_title', 1 );
+	$params->def( 'title', 1 );
+	$params->def( 'hits', $mainframe->getCfg( 'hits' ) );
+	$params->def( 'author', !$mainframe->getCfg( 'hideAuthor' ) );
+	$params->def( 'date', !$mainframe->getCfg( 'hideCreateDate' ) );
+	$params->def( 'date_format', _DATE_FORMAT_LC );
+	$params->def( 'navigation', 2 );
+	$params->def( 'display', 1 );
+	$params->def( 'display_num', $mosConfig_list_limit );
+	$params->def( 'other_cat', 1 );
+	$params->def( 'empty_cat', 0 );
+	$params->def( 'cat_items', 1 );
+	$params->def( 'cat_description', 0 );
+	$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
+	$params->def( 'pageclass_sfx', '' );
+	$params->def( 'headings', 1 );
+	$params->def( 'order_select', 1 );
+	$params->def( 'filter', 1 );
+	$params->def( 'filter_type', 'title' );
+
+	// Ordering control
+	$orderby = _orderby_sec( $orderby );
+
+	$category = new mosCategory( $database );
+	$category->load( $id );
+
+	if ( $sectionid == 0 ) {
+		$sectionid = $category->section;
+	}
+
+	if ( $access->canEdit ) {
+		$xwhere = '';
+		$xwhere2 = "\n AND b.state >= '0'";
+	} else {
+		$xwhere = "\n AND c.published='1'";
+		$xwhere2 = "\n AND b.state='1'"
+		. "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '". $now ."' )"
+		. "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '". $now ."' )"
+		;
+	}
+
+	$pagetitle = '';
+	if ( $Itemid ) {
+		$menu = new mosMenu( $database );
+		$menu->load( $Itemid );
+		$pagetitle = $menu->name;
+	} // if
+
+	// show/hide empty categories
+	$empty = '';
+	if ( !$params->get( 'empty_cat' ) )
+		$empty = "\n HAVING COUNT( b.id ) > 0";
+
+	// get the list of other categories
+	$query = "SELECT c.*, COUNT( b.id ) AS numitems"
+	. "\n FROM #__categories AS c"
+	. "\n LEFT JOIN #__content AS b ON b.catid = c.id "
+	. $xwhere2
+	. ( $noauth ? "\n AND b.access <= '". $gid ."'" : '' )
+	. "\n WHERE c.section = '". $category->section. "'"
+	. $xwhere
+	. ( $noauth ? "\n AND c.access <= '". $gid ."'" : '' )
+	. "\n GROUP BY c.id"
+	. $empty
+	. "\n ORDER BY c.ordering"
+	;
+	$database->setQuery( $query );
+	$other_categories = $database->loadObjectList();
+
+	// get the total number of published items in the category
+	// filter functionality
+	$and = '';
+	if ($filter = mosGetParam( $_POST, 'filter', '' )) {
+		$filter = strtolower( $filter );
+		$filter = $database->getEscaped($filter);
+		if ( $params->get( 'filter' ) ) {
+			switch ( $params->get( 'filter_type' ) ) {
+				case 'title':
+					$and = "\n AND LOWER( a.title ) LIKE '%". $filter ."%'";
+					break;
+				case 'author':
+					$and = "\n AND ( ( LOWER( u.name ) LIKE '%". $filter ."%' ) OR ( LOWER( a.created_by_alias ) LIKE '%". $filter ."%' ) )";
+					break;
+				case 'hits':
+					$and = "\n AND a.hits LIKE '%". $filter ."%'";
+					break;
+			}
+		}
+
+	}
+
+	if ( $access->canEdit ) {
+		$xwhere = "\n AND a.state >= '0'";
+	} else {
+		$xwhere = "\n AND a.state='1'"
+		. "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now' )"
+		. "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )"
+		;
+	}
+
+	$query = "SELECT COUNT(a.id) as numitems"
+	. "\n FROM #__content AS a"
+	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
+	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
+	. "\n WHERE a.catid='". $category->id ."' ". $xwhere
+	. ( $noauth ? "\n AND a.access<='". $gid ."'" : '' )
+	. "\n AND '". $category->access ."'<='". $gid ."'"
+	. $and
+	. "\n ORDER BY ". $orderby .""
+	;
+	$database->setQuery( $query );
+	$counter = $database->loadObjectList();
+	$total = $counter[0]->numitems;
+	$limit = $limit ? $limit : $params->get( 'display_num' ) ;
+	if ( $total <= $limit ) $limitstart = 0;
+
+	require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' );
+	$pageNav = new mosPageNav( $total, $limitstart, $limit );
+
+	// get the list of items for this category
+	$query = "SELECT a.id, a.title, a.hits, a.created_by, a.created_by_alias, a.created AS created, a.access, u.name AS author, a.state, g.name AS groups"
+	. "\n FROM #__content AS a"
+	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
+	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
+	. "\n WHERE a.catid='". $category->id ."' ". $xwhere
+	. ( $noauth ? "\n AND a.access<='". $gid ."'" : '' )
+	. "\n AND '". $category->access ."'<='". $gid ."'"
+	. $and
+	. "\n ORDER BY ". $orderby .""
+	. "\n LIMIT ". $limitstart .", ". $limit
+	;
+	$database->setQuery( $query );
+	$items = $database->loadObjectList();
+
+	$check = 0;
+	if ( $params->get( 'date' ) ) {
+		$order[] = mosHTML::makeOption( 'date', _ORDER_DROPDOWN_DA );
+		$order[] = mosHTML::makeOption( 'rdate', _ORDER_DROPDOWN_DD );
+		$check .= 1;
+	}
+	if ( $params->get( 'title' ) ) {
+		$order[] = mosHTML::makeOption( 'alpha', _ORDER_DROPDOWN_TA );
+		$order[] = mosHTML::makeOption( 'ralpha', _ORDER_DROPDOWN_TD );
+		$check .= 1;
+	}
+	if ( $params->get( 'hits' ) ) {
+		$order[] = mosHTML::makeOption( 'hits', _ORDER_DROPDOWN_HA );
+		$order[] = mosHTML::makeOption( 'rhits', _ORDER_DROPDOWN_HD );
+		$check .= 1;
+	}
+	if ( $params->get( 'author' ) ) {
+		$order[] = mosHTML::makeOption( 'author', _ORDER_DROPDOWN_AUA );
+		$order[] = mosHTML::makeOption( 'rauthor', _ORDER_DROPDOWN_AUD );
+		$check .= 1;
+	}
+	$order[] = mosHTML::makeOption( 'order', _ORDER_DROPDOWN_O );
+	$lists['order'] = mosHTML::selectList( $order, 'order', 'class="inputbox" size="1"  onchange="document.adminForm.submit();"', 'value', 'text', $selected );
+	if ( $check < 1 ) {
+		$lists['order'] = '';
+		$params->set( 'order_select', 0 );
+	}
+
+	$lists['task'] = 'category';
+	$lists['filter'] = $filter;
+
+	// Dynamic Page Title
+	$mainframe->SetPageTitle( $pagetitle );
+
+	HTML_content::showContentList( $category, $items, $access, $id, $sectionid, $gid, $params, $pageNav, $other_categories, $lists );
+} // showCategory
+
+
+function showBlogSection( $id=0, $gid, &$access, $pop, $now=NULL ) {
+	global $database, $mainframe, $mosConfig_offset, $Itemid;
+
+	$noauth = !$mainframe->getCfg( 'shownoauth' );
+
+	// Parameters
+	$params = new stdClass();
+	if ( $Itemid ) {
+		$menu = new mosMenu( $database );
+		$menu->load( $Itemid );
+		$params =& new mosParameters( $menu->params );
+	} else {
+		$menu = "";
+		$params =& new mosParameters( '' );
+	}
+
+	// new blog multiple section handling
+	if ( !$id ) {
+		$id		= $params->def( 'sectionid', 0 );
+	}
+
+	$where 		= _where( 1, $access, $noauth, $gid, $id, $now );
+
+	// Ordering control
+	$orderby_sec 	= $params->def( 'orderby_sec', 'rdate' );
+	$orderby_pri 	= $params->def( 'orderby_pri', '' );
+	$order_sec 	= _orderby_sec( $orderby_sec );
+	$order_pri 	= _orderby_pri( $orderby_pri );
+
+	// Main data query
+	$query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, g.name AS groups"
+	. "\n FROM #__content AS a"
+	. "\n INNER JOIN #__categories AS cc ON cc.id = a.catid"
+	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
+	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
+	. "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id"
+	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
+	. ( count( $where ) ? "\n WHERE ".implode( "\n AND ", $where ) : '' )
+	. "\n AND s.access<=$gid"
+	. "\n ORDER BY ". $order_pri . $order_sec
+	;
+	$database->setQuery( $query );
+	$rows = $database->loadObjectList();
+
+	// Dynamic Page Title
+	if ($menu) {
+		$mainframe->setPageTitle( $menu->name );
+	}
+
+	BlogOutput( $rows, $params, $gid, $access, $pop, $menu );
+}
+
+function showBlogCategory( $id=0, $gid, &$access, $pop, $now ) {
+	global $database, $mainframe, $mosConfig_offset, $Itemid;
+
+	$noauth = !$mainframe->getCfg( 'shownoauth' );
+
+	// Paramters
+	$params = new stdClass();
+	if ( $Itemid ) {
+		$menu = new mosMenu( $database );
+		$menu->load( $Itemid );
+		$params =& new mosParameters( $menu->params );
+	} else {
+		$menu = "";
+		$params =& new mosParameters( '' );
+	}
+
+	// new blog multiple section handling
+	if ( !$id ) {
+		$id 		= $params->def( 'categoryid', 0 );
+	}
+
+	$where		= _where( 2, $access, $noauth, $gid, $id, $now );
+
+	// Ordering control
+	$orderby_sec 	= $params->def( 'orderby_sec', 'rdate' );
+	$orderby_pri 	= $params->def( 'orderby_pri', '' );
+	$order_sec 	= _orderby_sec( $orderby_sec );
+	$order_pri 	= _orderby_pri( $orderby_pri );
+
+	// Main data query
+	$query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, g.name AS groups, cc.name AS category"
+	. "\n FROM #__content AS a"
+	. "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid"
+	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
+	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
+	. "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id"
+	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
+	. ( count( $where ) ? "\n WHERE ".implode( "\n AND ", $where ) : '' )
+	. "\n AND s.access <= ". $gid
+	. "\n ORDER BY ". $order_pri . $order_sec;
+	;
+	$database->setQuery( $query );
+	$rows = $database->loadObjectList();
+
+	// Dynamic Page Title
+	$mainframe->SetPageTitle( $menu->name );
+
+	BlogOutput( $rows, $params, $gid, $access, $pop, $menu );
+}
+
+function showArchiveSection( $id=NULL, $gid, &$access, $pop, $option ) {
+	global $database, $mainframe, $mosConfig_offset;
+	global $Itemid;
+
+	$noauth = !$mainframe->getCfg( 'shownoauth' );
+
+	// Paramters
+	$year 	= mosGetParam( $_REQUEST, 'year', date( 'Y' ) );
+	$month 	= mosGetParam( $_REQUEST, 'month', date( 'm' ) );
+
+	$params = new stdClass();
+	if ( $Itemid ) {
+		$menu = new mosMenu( $database );
+		$menu->load( $Itemid );
+		$params =& new mosParameters( $menu->params );
+	} else {
+		$menu = "";
+		$params =& new mosParameters( '' );
+	}
+
+	$params->set( 'intro_only', 1 );
+	$params->set( 'year', $year );
+	$params->set( 'month', $month );
+
+	// Ordering control
+	$orderby_sec = $params->def( 'orderby_sec', 'rdate' );
+	$orderby_pri = $params->def( 'orderby_pri', '' );
+	$order_sec = _orderby_sec( $orderby_sec );
+	$order_pri = _orderby_pri( $orderby_pri );
+
+	// used in query
+	$where = _where( -1, $access, $noauth, $gid, $id, NULL, $year, $month );
+
+	// checks to see if 'All Sections' options used
+	if ( $id == 0 ) {
+		$check = '';
+	} else {
+		$check = 'AND a.sectionid = '. $id ;
+	}
+	// query to determine if there are any archived entries for the section
+	$query = 	"SELECT a.id"
+	. "\n FROM #__content as a"
+	. "\n WHERE a.state = '-1'"
+	. $check
+	;
+	$database->setQuery( $query );
+	$items = $database->loadObjectList();
+	$archives = count( $items );
+
+	// Main Query
+	$query = "SELECT a.*, ROUND(v.rating_sum/v.rating_count) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, g.name AS groups"
+	. "\n FROM #__content AS a"
+	. "\n INNER JOIN #__categories AS cc ON cc.id = a.catid"
+	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
+	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
+	. "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id"
+	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
+	. ( count( $where ) ? "\n WHERE ". implode( "\n AND ", $where ) : '')
+	. "\n AND s.access <= ". $gid
+	. "\n ORDER BY ". $order_pri . $order_sec
+	;
+	$database->setQuery( $query );
+	$rows = $database->loadObjectList();
+
+	// initiate form
+ 	echo '<form action="'.sefRelToAbs( 'index.php').'" method="post">';
+
+	// Dynamic Page Title
+	$mainframe->SetPageTitle( $menu->name );
+
+	if ( !$archives ) {
+		// if no archives for category, hides search and outputs empty message
+		echo '<br /><div align="center">'. _CATEGORY_ARCHIVE_EMPTY .'</div>';
+	} else {
+		BlogOutput( $rows, $params, $gid, $access, $pop, $menu, 1 );
+	}
+
+ 	echo '<input type="hidden" name="id" value="'. $id .'" />';
+	echo '<input type="hidden" name="Itemid" value="'. $Itemid .'" />';
+ 	echo '<input type="hidden" name="task" value="archivesection" />';
+ 	echo '<input type="hidden" name="option" value="com_content" />';
+ 	echo '</form>';
+}
+
+
+function showArchiveCategory( $id=0, $gid, &$access, $pop, $option, $now ) {
+	global $database, $mainframe, $mosConfig_offset;
+	global $Itemid;
+
+	// Parameters
+	$noauth = !$mainframe->getCfg( 'shownoauth' );
+	$year 	= mosGetParam( $_REQUEST, 'year', date( 'Y' ) );
+	$month 	= mosGetParam( $_REQUEST, 'month', date( 'm' ) );
+	$module = trim( mosGetParam( $_REQUEST, 'module', '' ) );
+
+	// used by archive module
+	if ( $module ) {
+		$check = '';
+	} else {
+		$check = 'AND a.catid = '. $id;
+	}
+
+	if ( $Itemid ) {
+		$menu = new mosMenu( $database );
+		$menu->load( $Itemid );
+		$params =& new mosParameters( $menu->params );
+	} else {
+		$menu = "";
+		$params =& new mosParameters( '' );
+	}
+
+	$params->set( 'year', $year );
+	$params->set( 'month', $month );
+
+	// Ordering control
+	$orderby_sec = $params->def( 'orderby', 'rdate' );
+	$order_sec = _orderby_sec( $orderby_sec );
+
+	// used in query
+	$where = _where( -2, $access, $noauth, $gid, $id, NULL, $year, $month );
+
+	// query to determine if there are any archived entries for the category
+	$query = 	"SELECT a.id"
+	. "\n FROM #__content as a"
+	. "\n WHERE a.state = '-1'"
+	. "\n ". $check
+	;
+	$database->setQuery( $query );
+	$items = $database->loadObjectList();
+	$archives = count( $items );
+
+	$query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, g.name AS groups"
+	. "\n FROM #__content AS a"
+	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
+	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
+	. "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id"
+	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
+	. ( count( $where ) ? "\n WHERE ". implode( "\n AND ", $where ) : '' )
+	. "\n AND s.access <= ". $gid
+	. "\n ORDER BY ". $order_sec
+	;
+	$database->setQuery( $query );
+	$rows = $database->loadObjectList();
+
+	// initiate form
+ 	echo '<form action="'.sefRelToAbs( 'index.php').'" method="post">';
+
+	// Page Title
+	$mainframe->SetPageTitle( $menu->name );
+
+	if ( !$archives ) {
+		// if no archives for category, hides search and outputs empty message
+		echo '<br /><div align="center">'. _CATEGORY_ARCHIVE_EMPTY .'</div>';
+	} else {
+		BlogOutput( $rows, $params, $gid, $access, $pop, $menu, 1 );
+	}
+
+ 	echo '<input type="hidden" name="id" value="'. $id .'" />';
+	echo '<input type="hidden" name="Itemid" value="'. $Itemid .'" />';
+ 	echo '<input type="hidden" name="task" value="archivecategory" />';
+ 	echo '<input type="hidden" name="option" value="com_content" />';
+ 	echo '</form>';
+}
+
+
+function BlogOutput ( &$rows, &$params, $gid, &$access, $pop, &$menu, $archive=NULL ) {
+	global $mainframe, $Itemid, $task, $id, $option, $database, $mosConfig_live_site;
+
+	// parameters
+	if ( $params->get( 'page_title', 1 ) && $menu) {
+		$header = $params->def( 'header', $menu->name );
+	} else {
+		$header = '';
+	}
+	$columns = $params->def( 'columns', 2 );
+	if ( $columns == 0 ) {
+		$columns = 1;
+	}
+	$intro 				= $params->def( 'intro', 4 );
+	$leading 				= $params->def( 'leading', 1 );
+	$links 				= $params->def( 'link', 4 );
+	$pagination 			= $params->def( 'pagination', 2 );
+	$pagination_results 	= $params->def( 'pagination_results', 1 );
+	$pagination_results 	= $params->def( 'pagination_results', 1 );
+	$descrip		 		= $params->def( 'description', 1 );
+	$descrip_image	 		= $params->def( 'description_image', 1 );
+	// needed for back button for page
+	$back 				= $params->get( 'back_button', $mainframe->getCfg( 'back_button' ) );
+	// needed to disable back button for item
+	$params->set( 'back_button', 0 );
+	$params->def( 'pageclass_sfx', '' );
+	$params->set( 'intro_only', 1 );
+
+	$total = count( $rows );
+
+	// pagination support
+	$limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) );
+	$limit = $intro + $leading + $links;
+	if ( $total <= $limit ) {
+		$limitstart = 0;
+	}
+	$i = $limitstart;
+
+	// needed to reduce queries used by getItemid
+	$ItemidCount['bs'] 		= $mainframe->getBlogSectionCount();
+	$ItemidCount['bc'] 		= $mainframe->getBlogCategoryCount();
+	$ItemidCount['gbs'] 	= $mainframe->getGlobalBlogSectionCount();
+
+	// used to display section/catagory description text and images
+	// currently not supported in Archives
+	if ( $menu && $menu->componentid && ( $descrip || $descrip_image ) ) {
+		switch ( $menu->type ) {
+			case 'content_blog_section':
+				$description = new mosSection( $database );
+				$description->load( $menu->componentid );
+				break;
+
+			case 'content_blog_category':
+				$description = new mosCategory( $database );
+				$description->load( $menu->componentid );
+				break;
+
+			default:
+				$menu->componentid = 0;
+				break;
+		}
+	}
+
+	// Page Output
+	// page header
+	if ( $header ) {
+		echo '<div class="componentheading'. $params->get( 'pageclass_sfx' ) .'">'. $header .'</div>';
+	}
+
+	if ( $archive ) {
+		echo '<br />';
+		echo mosHTML::monthSelectList( 'month', 'size="1" class="inputbox"', $params->get( 'month' ) );
+		echo mosHTML::integerSelectList( 2000, 2010, 1, 'year', 'size="1" class="inputbox"', $params->get( 'year' ), "%04d" );
+		echo '<input type="submit" class="button" />';
+	}
+
+	// checks to see if there are there any items to display
+	if ( $total ) {
+		$col_with = 100 / $columns;			// width of each column
+		$width = 'width="'. $col_with .'%"';
+
+		if ( $archive ) {
+			// Search Success message
+			$msg = sprintf( _ARCHIVE_SEARCH_SUCCESS, $params->get( 'month' ), $params->get( 'year' ) );
+			echo "<br /><br /><div align='center'>". $msg ."</div><br /><br />";
+		}
+		echo '<table class="blog' . $params->get( 'pageclass_sfx' ) . '" cellpadding="0" cellspacing="0">';
+
+		// Secrion/Category Description & Image
+		if ( $menu && $menu->componentid && ( $descrip || $descrip_image ) ) {
+			$link = $mosConfig_live_site .'/images/stories/'. $description->image;
+			echo '<tr>';
+			echo '<td valign="top">';
+			if ( $descrip_image && $description->image ) {
+				echo '<img src="'. $link .'" align="'. $description->image_position .'" hspace="6" alt="" />';
+			}
+			if ( $descrip && $description->description ) {
+				echo $description->description;
+			}
+			echo '<br/><br/>';
+			echo '</td>';
+			echo '</tr>';
+		}
+
+		// Leading story output
+		if ( $leading ) {
+			echo '<tr>';
+			echo '<td valign="top">';
+			for ( $z = 0; $z < $leading; $z++ ) {
+				if ( $i >= $total ) {
+					// stops loop if total number of items is less than the number set to display as leading
+					break;
+				}
+				echo '<div>';
+				show( $rows[$i], $params, $gid, $access, $pop, $option, $ItemidCount );
+				echo '</div>';
+				$i++;
+			}
+			echo '</td>';
+			echo '</tr>';
+		}
+
+		if ( $intro && ( $i < $total ) ) {
+			echo '<tr>';
+			echo '<td valign="top">';
+			echo '<table width="100%"  cellpadding="0" cellspacing="0">';
+			// intro story output
+			for ( $z = 0; $z < $intro; $z++ ) {
+				if ( $i >= $total ) {
+					// stops loop if total number of items is less than the number set to display as intro + leading
+					break;
+				}
+
+				if ( !( $z % $columns ) || $columns == 1 ) {
+					echo '<tr>';
+				}
+
+				echo '<td valign="top" '. $width .'>';
+
+				// outputs either intro or only a link
+				if ( $z < $intro ) {
+					show( $rows[$i], $params, $gid, $access, $pop, $option, $ItemidCount );
+				} else {
+					echo '</td>';
+					echo '</tr>';
+					break;
+				}
+
+				echo '</td>';
+
+				if ( !( ( $z + 1 ) % $columns ) || $columns == 1 ) {
+					echo '</tr>';
+				}
+
+				$i++;
+			}
+
+			// this is required to output a final closing </tr> tag when the number of items does not fully
+			// fill the last row of output - a blank column is left
+			if ( $intro % $columns ) {
+				echo '</tr>';
+			}
+
+			echo '</table>';
+			echo '</td>';
+			echo '</tr>';
+		}
+
+		// Links output
+		if ( $links && ( $i < $total )  ) {
+			echo '<tr>';
+			echo '<td valign="top">';
+			echo '<div class="blog_more'. $params->get( 'pageclass_sfx' ) .'">';
+			HTML_content::showLinks( $rows, $links, $total, $i, 1, $ItemidCount );
+			echo '</div>';
+			echo '</td>';
+			echo '</tr>';
+		}
+
+		// Pagination output
+		if ( $pagination ) {
+			if ( ( $pagination == 2 ) && ( $total <= $limit ) ) {
+				// not visible when they is no 'other' pages to display
+			} else {
+				// get the total number of records
+				$limitstart = $limitstart ? $limitstart : 0;
+				require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' );
+				$pageNav = new mosPageNav( $total, $limitstart, $limit );
+				if ( $option == 'com_frontpage' ) {
+					$link = 'index.php?option=com_frontpage&amp;Itemid='. $Itemid;
+				} else if ( $archive ) {
+					$year = $params->get( 'year' );
+					$month = $params->get( 'month' );
+					$link = 'index.php?option=com_content&amp;task='. $task .'&amp;id='. $id .'&amp;Itemid='. $Itemid.'&amp;year='. $year .'&amp;month='. $month;
+				} else {
+					$link = 'index.php?option=com_content&amp;task='. $task .'&amp;id='. $id .'&amp;Itemid='. $Itemid;
+				}
+				echo '<tr>';
+				echo '<td valign="top" align="center">';
+				echo $pageNav->writePagesLinks( $link );
+				echo '<br /><br />';
+				echo '</td>';
+				echo '</tr>';
+				if ( $pagination_results ) {
+					echo '<tr>';
+					echo '<td valign="top" align="center">';
+					echo $pageNav->writePagesCounter();
+					echo '</td>';
+					echo '</tr>';
+				}
+			}
+		}
+
+		echo '</table>';
+
+	} else if ( $archive && !$total ) {
+		// Search Failure message for Archives
+		$msg = sprintf( _ARCHIVE_SEARCH_FAILURE, $params->get( 'month' ), $params->get( 'year' ) );
+		echo '<br /><br /><div align="center">'. $msg .'</div><br />';
+	} else {
+		// Generic blog empty display
+		echo _EMPTY_BLOG;
+	}
+
+	// Back Button
+	$params->set( 'back_button', $back );
+	mosHTML::BackButton ( $params );
+}
+
+
+function showItem( $uid, $gid, &$access, $pop, $option, $now ) {
+	global $database, $mainframe;
+	global $mosConfig_offset, $mosConfig_live_site, $mosConfig_MetaTitle, $mosConfig_MetaAuthor;
+
+	if ( $access->canEdit ) {
+		$xwhere='';
+	} else {
+		$xwhere = "AND (a.state = '1' OR a.state = '-1')"
+		. "\n	AND (publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now')"
+		. "\n	AND (publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now')"
+		;
+	}
+
+	$query = "SELECT a.*, ROUND(v.rating_sum/v.rating_count) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, s.name AS section, g.name AS groups"
+	. "\n FROM #__content AS a"
+	. "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid"
+	. "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'"
+	. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"
+	. "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id"
+	. "\n LEFT JOIN #__groups AS g ON a.access = g.id"
+	. "\n WHERE a.id='". $uid ."' ". $xwhere
+	. "\n AND a.access <= ". $gid
+	;
+	$database->setQuery( $query );
+	$row = NULL;
+
+	if ( $database->loadObject( $row ) ) {
+		$params =& new mosParameters( $row->attribs );
+		$params->set( 'intro_only', 0 );
+		$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
+		if ( $row->sectionid == 0) {
+			$params->set( 'item_navigation', 0 );
+		} else {
+			$params->set( 'item_navigation', $mainframe->getCfg( 'item_navigation' ) );
+		}
+		// loads the links for Next & Previous Button
+		if ( $params->get( 'item_navigation' ) ) {
+			$query = "SELECT a.id"
+			. "\n FROM #__content AS a"
+			. "\n WHERE a.catid = ". $row->catid.""
+			. "\n AND a.state = $row->state AND ordering < $row->ordering"
+			. ($access->canEdit ? "" : "\n AND a.access <= '". $gid ."'" )
+			. "\n ORDER BY a.ordering DESC"
+			. "\n LIMIT 1"
+			;
+			$database->setQuery( $query );
+			$row->prev = $database->loadResult();
+
+			$query = "SELECT a.id"
+			. "\n FROM #__content AS a"
+			. "\n WHERE a.catid = ". $row->catid.""
+			. "\n AND a.state = $row->state AND ordering > $row->ordering"
+			. ($access->canEdit ? "" : "\n AND a.access <= '". $gid ."'" )
+			. "\n ORDER BY a.ordering"
+			. "\n LIMIT 1"
+			;
+			$database->setQuery( $query );
+			$row->next = $database->loadResult();
+		}
+		// page title
+		$mainframe->setPageTitle( $row->title );
+		if ($mosConfig_MetaTitle=='1') {
+			$mainframe->addMetaTag( 'title' , $row->title );
+		}
+		if ($mosConfig_MetaAuthor=='1') {
+			$mainframe->addMetaTag( 'author' , $row->author );
+		}
+
+		show( $row, $params, $gid, $access, $pop, $option );
+	} else {
+		mosNotAuth();
+		return;
+	}
+}
+
+
+function show( $row, $params, $gid, &$access, $pop, $option, $ItemidCount=NULL ) {
+	global $database, $mainframe, $Itemid;
+	global $mosConfig_live_site, $mosConfig_absolute_path;
+	global $options, $cache;
+
+	$noauth = !$mainframe->getCfg( 'shownoauth' );
+
+	if ( $access->canEdit ) {
+		if ( $row->id === null || $row->access > $gid ) {
+			mosNotAuth();
+			return;
+		}
+	} else {
+		if ( $row->id === null || $row->state == 0 ) {
+			mosNotAuth();
+			return;
+		}
+		if ( $row->access > $gid ) {
+			if ( $noauth ) {
+				mosNotAuth();
+				return;
+			} else {
+				if ( !( $params->get( 'intro_only' ) ) ) {
+					mosNotAuth();
+					return;
+				}
+			}
+		}
+	}
+
+	// GC Parameters
+	$params->def( 'link_titles', $mainframe->getCfg( 'link_titles' ) );
+	$params->def( 'author', !$mainframe->getCfg( 'hideAuthor' ) );
+	$params->def( 'createdate', !$mainframe->getCfg( 'hideCreateDate' ) );
+	$params->def( 'modifydate', !$mainframe->getCfg( 'hideModifyDate' ) );
+	$params->def( 'print', !$mainframe->getCfg( 'hidePrint' ) );
+	$params->def( 'pdf', !$mainframe->getCfg( 'hidePdf' ) );
+	$params->def( 'email', !$mainframe->getCfg( 'hideEmail' ) );
+	$params->def( 'rating', $mainframe->getCfg( 'vote' ) );
+	$params->def( 'icons', $mainframe->getCfg( 'icons' ) );
+	$params->def( 'readmore', $mainframe->getCfg( 'readmore' ) );
+	// Other Params
+	$params->def( 'image', 1 );
+	$params->def( 'section', 0 );
+	$params->def( 'section_link', 0 );
+	$params->def( 'category', 0 );
+	$params->def( 'category_link', 0 );
+	$params->def( 'introtext', 1 );
+	$params->def( 'pageclass_sfx', '' );
+	$params->def( 'item_title', 1 );
+	$params->def( 'url', 1 );
+
+	// loads the link for Section name
+	if ( $params->get( 'section_link' ) ) {
+		$query = 	"SELECT a.id"
+		. "\n FROM #__menu AS a"
+		. "\n WHERE a.componentid = ". $row->sectionid.""
+		;
+		$database->setQuery( $query );
+		$_Itemid = $database->loadResult();
+		$link = sefRelToAbs( 'index.php?option=com_content&amp;task=section&amp;id='. $row->sectionid .'&amp;Itemid='.$_Itemid );
+		$row->section = '<a href="'. $link .'">'. $row->section .'</a>';
+	}
+
+	// loads the link for Category name
+	if ( $params->get( 'category_link' ) ) {
+		$query = 	"SELECT a.id"
+		. "\n FROM #__menu AS a"
+		. "\n WHERE a.componentid = ". $row->catid.""
+		;
+		$database->setQuery( $query );
+		$_Itemid = $database->loadResult();
+		$link = sefRelToAbs( 'index.php?option=com_content&amp;task=category&amp;sectionid='. $row->sectionid .'&amp;id='. $row->catid .'&amp;Itemid='.$_Itemid );
+		$row->category = '<a href="'. $link .'">'. $row->category .'</a>';
+	}
+
+	// loads current template for the pop-up window
+	$template = '';
+	if ( $pop ) {
+		$params->set( 'popup', 1 );
+		$database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" );
+		$template = $database->loadResult();
+	}
+
+	// show/hides the intro text
+	if ( $params->get( 'introtext'  ) ) {
+		$row->text = $row->introtext. ( $params->get( 'intro_only' ) ? '' : chr(13) . chr(13) . $row->fulltext);
+	} else {
+		$row->text = $row->fulltext;
+	}
+
+	// deal with the {mospagebreak} mambots
+	// only permitted in the full text area
+	$page = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) );
+
+	// record the hit
+	if ( !$params->get( 'intro_only' ) ) {
+		$obj = new mosContent( $database );
+		$obj->hit( $row->id );
+	}
+
+	$cache->call( 'HTML_content::show', $row, $params, $access, $page, $option, $ItemidCount );
+}
+
+
+function editItem( $uid, $gid, &$access, $sectionid=0, $task, $Itemid ){
+	global $database, $mainframe, $my;
+	global $mosConfig_absolute_path, $mosConfig_live_site;
+
+	$row = new mosContent( $database );
+	// load the row from the db table
+	$row->load( $uid );
+
+	// fail if checked out not by 'me'
+	if ( $row->checked_out && $row->checked_out <> $my->id ) {
+		echo"<script>alert('The module [ ".$row->title." ] is currently being edited by another person.'); window.history.go(-1); </script>";
+		exit;
+	}
+
+	if ( $uid ) {
+		// existing record
+		if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) {
+			mosNotAuth();
+			return;
+		}
+	} else {
+		// new record
+		if (!($access->canEdit || $access->canEditOwn)) {
+			mosNotAuth();
+			return;
+		}
+	}
+
+	if ( $uid ) {
+		$sectionid = $row->sectionid;
+	}
+
+	$lists = array();
+
+	// get the type name - which is a special category
+	$query = "SELECT name FROM #__sections WHERE id='$sectionid'";
+	$database->setQuery( $query );
+	$section = $database->loadResult();
+
+	if ( $uid == 0 ) {
+		$row->catid = 0;
+	}
+
+	if ( $uid ) {
+		$row->checkout( $my->id );
+		if (trim( $row->publish_down ) == "0000-00-00 00:00:00") {
+			$row->publish_down = 'Never';
+		}
+		if (trim( $row->images )) {
+			$row->images = explode( "\n", $row->images );
+		} else {
+			$row->images = array();
+		}
+		$query = "SELECT name from #__users"
+		. "\n WHERE id = ". $row->created_by
+		;
+		$database->setQuery( $query	);
+		$row->creator = $database->loadResult();
+
+		$query = "SELECT name from #__users"
+		. "\n WHERE id = ". $row->modified_by
+		;
+		$database->setQuery( $query );
+		$row->modifier = $database->loadResult();
+
+		$query = "SELECT content_id from #__content_frontpage"
+		."\n WHERE content_id = ". $row->id
+		;
+		$database->setQuery( $query );
+		$row->frontpage = $database->loadResult();
+	} else {
+		$row->sectionid 	= $sectionid;
+		$row->version 		= 0;
+		$row->state 		= 0;
+		$row->ordering 		= 0;
+		$row->images 		= array();
+		$row->publish_up 	= date( 'Y-m-d', time() );
+		$row->publish_down 	= 'Never';
+		$row->creator 		= 0;
+		$row->modifier 		= 0;
+		$row->frontpage 	= 0;
+	}
+
+
+	// calls function to read image from directory
+	$pathA 		= $mosConfig_absolute_path .'/images/stories';
+	$pathL 		= $mosConfig_live_site .'/images/stories';
+	$images 	= array();
+	$folders 	= array();
+	$folders[] 	= mosHTML::makeOption( '/' );
+	mosAdminMenus::ReadImages( $pathA, '/', $folders, $images );
+	// list of folders in images/stories/
+	$lists['folders'] 		= mosAdminMenus::GetImageFolders( $folders, $pathL );
+	// list of images in specfic folder in images/stories/
+	$lists['imagefiles']	= mosAdminMenus::GetImages( $images, $pathL );
+	// list of saved images
+	$lists['imagelist'] 	= mosAdminMenus::GetSavedImages( $row, $pathL );
+
+	// make the select list for the states
+	$states[] = mosHTML::makeOption( 0, _CMN_UNPUBLISHED );
+	$states[] = mosHTML::makeOption( 1, _CMN_PUBLISHED );
+	$lists['state'] 		= mosHTML::selectList( $states, 'state', 'class="inputbox" size="1"', 'value', 'text', intval( $row->state ) );
+
+	// build the html select list for ordering
+	$query = "SELECT ordering AS value, title AS text"
+	. "\n FROM #__content"
+	. "\n WHERE catid = '$row->catid'"
+	. "\n ORDER BY ordering"
+	;
+	$lists['ordering'] 		= mosAdminMenus::SpecificOrdering( $row, $uid, $query, 1 );
+
+	// build list of categories
+	$lists['catid'] 		= mosAdminMenus::ComponentCategory( 'catid', $sectionid, intval( $row->catid ) );
+	// build the select list for the image positions
+	$lists['_align'] 		= mosAdminMenus::Positions( '_align' );
+	// build the html select list for the group access
+	$lists['access'] 		= mosAdminMenus::Access( $row );
+
+	HTML_content::editContent( $row, $section, $lists, $images, $access, $my->id, $sectionid, $task, $Itemid );
+}
+
+
+/**
+* Saves the content item an edit form submit
+*/
+function saveContent( &$access ) {
+	global $database, $mainframe, $my;
+	global $mosConfig_absolute_path;
+
+	$row = new mosContent( $database );
+	if ( !$row->bind( $_POST ) ) {
+		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
+		exit();
+	}
+	$isNew = $row->id < 1;
+	if ( $isNew ) {
+		// new record
+		if ( !( $access->canEdit || $access->canEditOwn ) ) {
+			mosNotAuth();
+			return;
+		}
+		$row->created = date( 'Y-m-d H:i:s' );
+		$row->created_by = $my->id;
+	} else {
+		// existing record
+		if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) {
+			mosNotAuth();
+			return;
+		}
+		$row->modified = date( 'Y-m-d H:i:s' );
+		$row->modified_by = $my->id;
+	}
+	if ( trim( $row->publish_down ) == 'Never' ) {
+		$row->publish_down = '0000-00-00 00:00:00';
+	}
+
+	if (!$row->check()) {
+		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
+		exit();
+	}
+	$row->version++;
+	if (!$row->store()) {
+		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
+		exit();
+	}
+
+	// manage frontpage items
+	require_once( $mainframe->getPath( 'class', 'com_frontpage' ) );
+	$fp = new mosFrontPage( $database );
+
+	if ( mosGetParam( $_REQUEST, 'frontpage', 0 ) ) {
+
+		// toggles go to first place
+		if (!$fp->load( $row->id )) {
+			// new entry
+			$database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$row->id','1')" );
+			if (!$database->query()) {
+				echo "<script> alert('".$database->stderr()."');</script>\n";
+				exit();
+			}
+			$fp->ordering = 1;
+		}
+	} else {
+		// no frontpage mask
+		if ( !$fp->delete( $row->id ) ) {
+			$msg .= $fp->stderr();
+		}
+		$fp->ordering = 0;
+	}
+	$fp->updateOrder();
+
+	$row->checkin();
+	$row->updateOrder( "catid='$row->catid'" );
+
+	// gets section name of item
+	$database->setQuery( "SELECT s.title"
+	. "\n FROM #__sections AS s"
+	. "\n WHERE s.scope = 'content'"
+	. "\n AND s.id = '". $row->sectionid ."'"
+	);
+	// gets category name of item
+	$section = $database->loadResult();
+	$database->setQuery( "SELECT c.title"
+	. "\n FROM #__categories AS c"
+	. "\n WHERE c.id = '". $row->catid ."'"
+	);
+	$category = $database->loadResult();
+
+	if ( $isNew ) {
+		// messaging for new items
+		require_once( $mosConfig_absolute_path .'/components/com_messages/messages.class.php' );
+
+		$database->setQuery( "SELECT id FROM #__users WHERE sendEmail = '1'" );
+		$users = $database->loadResultArray();
+		foreach ($users as $user_id) {
+			$msg = new mosMessage( $database );
+			$msg->send( $my->id, $user_id, "New Item", sprintf( _ON_NEW_CONTENT, $my->username, $row->title, $section, $category ) );
+		}
+	}
+
+ 	$Itemid 	= mosGetParam( $_POST, 'Returnid', '0' );
+ 	$msg 	= $isNew ? _THANK_SUB : _E_ITEM_SAVED;
+	mosRedirect( 'index.php', $msg );
+}
+
+
+/**
+* Cancels an edit operation
+* @param database A database connector object
+*/
+function cancelContent( &$access ) {
+	global $database, $mainframe, $my;
+
+	$row = new mosContent( $database );
+	$row->bind( $_POST );
+
+	if ( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) {
+		$row->checkin();
+	}
+
+	$Itemid = mosGetParam( $_POST, 'Returnid', '0' );
+
+	if ( $Itemid ) {
+		mosRedirect( 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid );
+	} else {
+		mosRedirect( 'index.php' );
+	}
+}
+
+/**
+* Shows the email form for a given content item.
+*/
+function emailContentForm( $uid ) {
+	global $database, $mainframe, $my;
+	$row = new mosContent( $database );
+	$row->load( $uid );
+
+	if ( $row->id === null || $row->access > $my->gid ) {
+		mosNotAuth();
+		return;
+	} else {
+		$template='';
+		$database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id = '0' AND menuid = '0'" );
+		$template = $database->loadResult();
+		HTML_content::emailForm( $row->id, $row->title, $template );		
+	}
+
+}
+
+
+/**
+* Shows the email form for a given content item.
+*/
+function emailContentSend( $uid ) {
+	global $database, $mainframe;
+	global $mosConfig_live_site, $mosConfig_sitename;
+	global $mosConfig_mailfrom, $mosConfig_fromname;
+
+	$_Itemid = $mainframe->getItemid( $uid, 0, 0  );
+
+	$email = trim( mosGetParam( $_POST, 'email', '' ) );
+	$yourname = trim( mosGetParam( $_POST, 'yourname', '' ) );
+	$youremail = trim( mosGetParam( $_POST, 'youremail', '' ) );
+	$subject_default = _EMAIL_INFO ." $yourname";
+	$subject = trim( mosGetParam( $_POST, 'subject', $subject_default ) );
+
+	$form_check = mosGetParam( $_POST, 'form_check', '' );    
+    if (empty($_SESSION['_form_check_']['com_content']) || $form_check != $_SESSION['_form_check_']['com_content']) {
+      // the form hasn't been generated by the server on this session 	
+       exit;
+    }  
+	if ( !$email || !$youremail || ( is_email( $email ) == false ) || ( is_email( $youremail ) == false ) ) {
+		echo "<script>alert (\""._EMAIL_ERR_NOINFO."\"); window.history.go(-1);</script>";
+		exit(0);
+	}
+
+	$template='';
+	$database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" );
+	$template = $database->loadResult();
+
+	// link sent in email
+	$link = sefRelToAbs( $mosConfig_live_site .'/index.php?option=com_content&task=view&id='. $uid .'&Itemid='. $_Itemid );
+	// message text
+	$msg = sprintf( _EMAIL_MSG, $mosConfig_sitename, $yourname, $youremail, $link );
+
+	// mail function
+	mosMail( $mosConfig_mailfrom, $mosConfig_fromname, $email, $subject, $msg );
+
+	HTML_content::emailSent( $email, $template );
+}
+
+function is_email( $email ){
+	$rBool = false;
+
+	if ( preg_match( "/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email ) ) {
+		$rBool = true;
+	}
+	return $rBool;
+}
+
+function recordVote() {
+	global $database;
+
+	$user_rating = mosGetParam( $_REQUEST, 'user_rating', 0 );
+	$url = mosGetParam( $_REQUEST, 'url', '' );
+	$cid = mosGetParam( $_REQUEST, 'cid', 0 );
+	$cid = intval( $cid );
+	$user_rating = intval( $user_rating );
+
+	if ( ( $user_rating >= 1 ) and ( $user_rating <= 5 ) ) {
+		$currip = getenv( 'REMOTE_ADDR' );
+
+		$query = "SELECT * FROM #__content_rating WHERE content_id = $cid";
+		$database->setQuery( $query );
+		$votesdb = NULL;
+		if ( !( $database->loadObject( $votesdb ) ) ) {
+			$query = "INSERT INTO #__content_rating ( content_id, lastip, rating_sum, rating_count )"
+			. "\n VALUES ( '$cid', '$currip', '$user_rating', '1' )";
+			$database->setQuery( $query );
+			$database->query() or die( $database->stderr() );;
+		} else {
+			if ($currip <> ($votesdb->lastip)) {
+				$query = "UPDATE #__content_rating"
+				. "\n SET rating_count = rating_count + 1,"
+				. "\n rating_sum = rating_sum + $user_rating,"
+				. "\n lastip = '$currip'"
+				. "\n WHERE content_id = ". $cid
+				;
+				$database->setQuery( $query );
+				$database->query() or die( $database->stderr() );
+			} else {
+				mosRedirect ( $url, _ALREADY_VOTE );
+			}
+		}
+		mosRedirect ( $url, _THANKS );
+	}
+}
+
+
+function _orderby_pri( $orderby ) {
+	switch ( $orderby ) {
+		case 'alpha':
+			$orderby = 'cc.title, ';
+			break;
+		case 'ralpha':
+			$orderby = 'cc.title DESC, ';
+			break;
+		case 'order':
+			$orderby = 'cc.ordering, ';
+			break;
+		default:
+			$orderby = '';
+			break;
+	}
+
+	return $orderby;
+}
+
+
+function _orderby_sec( $orderby ) {
+	switch ( $orderby ) {
+		case 'date':
+			$orderby = 'a.created';
+			break;
+		case 'rdate':
+			$orderby = 'a.created DESC';
+			break;
+		case 'alpha':
+			$orderby = 'a.title';
+			break;
+		case 'ralpha':
+			$orderby = 'a.title DESC';
+			break;
+		case 'hits':
+			$orderby = 'a.hits DESC';
+			break;
+		case 'rhits':
+			$orderby = 'a.hits ASC';
+			break;
+		case 'order':
+			$orderby = 'a.ordering';
+			break;
+		case 'author':
+			$orderby = 'a.created_by, u.name';
+			break;
+		case 'rauthor':
+			$orderby = 'a.created_by DESC, u.name DESC';
+			break;
+		case 'front':
+			$orderby = 'f.ordering';
+			break;
+		default:
+			$orderby = 'a.ordering';
+			break;
+	}
+
+	return $orderby;
+}
+
+/*
+* @param int 0 = Archives, 1 = Section, 2 = Category
+*/
+function _where( $type=1, &$access, &$noauth, $gid, $id, $now=NULL, $year=NULL, $month=NULL ) {
+	$where = array();
+
+	// normal
+	if ( $type > 0) {
+		$where[] = "a.state = '1'";
+		if ( !$access->canEdit ) {
+			$where[] = "( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )";
+			$where[] = "( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )";
+		}
+		if ( $noauth ) {
+			$where[] = "a.access <= '". $gid ."'";
+		}
+		if ( $id > 0 ) {
+			if ( $type == 1 ) {
+				$where[] = "a.sectionid IN ( ". $id ." ) ";
+			} else if ( $type == 2 ) {
+				$where[] = "a.catid IN ( ". $id ." ) ";
+			}
+		}
+	}
+
+	// archive
+	if ( $type < 0 ) {
+		$where[] = "a.state='-1'";
+		if ( $year ) {
+			$where[] = "YEAR( a.created ) = '". $year ."'";
+		}
+		if ( $month ) {
+			$where[] = "MONTH( a.created ) = '". $month ."'";
+		}
+		if ( $noauth ) {
+			$where[] = "a.access <= '". $gid ."'";
+		}
+		if ( $id > 0 ) {
+			if ( $type == -1 ) {
+				$where[] = "a.sectionid = '". $id ."'";
+			} else if ( $type == -2) {
+				$where[] = "a.catid = '". $id ."'";
+			}
+		}
+	}
+
+	return $where;
+}
+?>
diff -ruN 4.5.2.3/components/com_frontpage/frontpage.class.php 4.5.4/components/com_frontpage/frontpage.class.php
--- 4.5.2.3/components/com_frontpage/frontpage.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_frontpage/frontpage.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: frontpage.class.php,v 1.4 2005/01/06 01:13:26 eddieajau Exp $
+* @version $Id: frontpage.class.php,v 1.1 2005/07/22 01:54:45 eddieajau Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_frontpage/frontpage.php 4.5.4/components/com_frontpage/frontpage.php
--- 4.5.2.3/components/com_frontpage/frontpage.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_frontpage/frontpage.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: frontpage.php,v 1.4 2005/01/06 01:13:26 eddieajau Exp $
+* @version $Id: frontpage.php,v 1.1 2005/07/22 01:54:46 eddieajau Exp $
 * @package Mambo
 * @subpackage Content
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_login/login.html.php 4.5.4/components/com_login/login.html.php
--- 4.5.2.3/components/com_login/login.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_login/login.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: login.html.php,v 1.6 2005/01/15 06:49:01 stingrey Exp $
+* @version $Id: login.html.php,v 1.1 2005/07/22 01:54:49 eddieajau Exp $
 * @package Mambo
 * @subpackage Users
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_login/login.php 4.5.4/components/com_login/login.php
--- 4.5.2.3/components/com_login/login.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_login/login.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: login.php,v 1.6 2005/01/15 06:49:01 stingrey Exp $
+* @version $Id: login.php,v 1.1 2005/07/22 01:54:49 eddieajau Exp $
 * @package Mambo
 * @subpackage Users
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_messages/messages.class.php 4.5.4/components/com_messages/messages.class.php
--- 4.5.2.3/components/com_messages/messages.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_messages/messages.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: messages.class.php,v 1.4 2005/01/06 01:13:27 eddieajau Exp $
+* @version $Id: messages.class.php,v 1.2 2005/10/21 17:33:55 lang3 Exp $
 * @package Mambo
 * @subpackage Messages
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -67,7 +67,7 @@
 			$this->user_id_to = $to_id;
 			$this->subject = $subject;
 			$this->message = $message;
-			$this->date_time = date( "Y-m-d h:i:s" );
+			$this->date_time = date( "Y-m-d H:i:s" );
 
 			if ($this->store()) {
 				if ($domail) {
diff -ruN 4.5.2.3/components/com_newsfeeds/newsfeeds.html.php 4.5.4/components/com_newsfeeds/newsfeeds.html.php
--- 4.5.2.3/components/com_newsfeeds/newsfeeds.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_newsfeeds/newsfeeds.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /** 
-* version $Id: newsfeeds.html.php,v 1.7 2005/02/16 13:37:39 stingrey Exp $
+* version $Id: newsfeeds.html.php,v 1.1 2005/07/22 01:54:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Newsfeeds
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_newsfeeds/newsfeeds.php 4.5.4/components/com_newsfeeds/newsfeeds.php
--- 4.5.2.3/components/com_newsfeeds/newsfeeds.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_newsfeeds/newsfeeds.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /** module to display newsfeeds
-* version $Id: newsfeeds.php,v 1.10 2005/02/16 13:37:39 stingrey Exp $
+* version $Id: newsfeeds.php,v 1.1 2005/07/22 01:54:50 eddieajau Exp $
 * @package Mambo
 * @subpackage Newsfeeds
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_poll/poll.html.php 4.5.4/components/com_poll/poll.html.php
--- 4.5.2.3/components/com_poll/poll.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_poll/poll.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: poll.html.php,v 1.6 2005/01/06 01:13:27 eddieajau Exp $
+* @version $Id: poll.html.php,v 1.1 2005/07/22 01:54:53 eddieajau Exp $
 * @package Mambo
 * @subpackage Polls
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_poll/poll.php 4.5.4/components/com_poll/poll.php
--- 4.5.2.3/components/com_poll/poll.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_poll/poll.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: poll.php,v 1.7 2005/02/05 11:07:18 akede Exp $
+* @version $Id: poll.php,v 1.3 2005/08/17 05:55:46 eddieajau Exp $
 * @package Mambo
 * @subpackage Polls
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -41,7 +41,8 @@
 
 	$redirect = 1;
 
-	$sessioncookie = mosGetParam( $_REQUEST, 'sessioncookie', '' );
+	$sessionCookieName = md5( 'site'.$GLOBALS['mosConfig_live_site'] );
+	$sessioncookie = mosGetParam( $_REQUEST, $sessionCookieName, '' );
 
 	if (!$sessioncookie) {
 		echo '<h3>'. _ALERT_ENABLED .'"</h3>';
@@ -129,10 +130,9 @@
 		}
 	}
 
-	$query = "SELECT a.id, a.text, count( DISTINCT b.id ) AS hits, count( DISTINCT b.id )/COUNT( DISTINCT c.id )*100.0 AS percent"
+	$query = "SELECT a.id, a.text, count( DISTINCT b.id ) AS hits, count( DISTINCT b.id )/COUNT( DISTINCT a.id )*100.0 AS percent"
 	. "\n FROM #__poll_data AS a"
 	. "\n LEFT JOIN #__poll_date AS b ON b.vote_id = a.id"
-	. "\n LEFT JOIN #__poll_date AS c ON c.poll_id = a.pollid"
 	. "\n WHERE a.pollid='$poll->id' AND a.text <> ''"
 	. "\n GROUP BY a.id"
 	. "\n ORDER BY a.id"
@@ -164,7 +164,7 @@
 	// Adds parameter handling
 	$menu =& new mosMenu( $database );
 	$menu->load( $Itemid );
-	
+
 	$params =& new mosParameters( $menu->params );
 	$params->def( 'page_title', 1 );
 	$params->def( 'pageclass_sfx', '' );
@@ -172,7 +172,7 @@
 	$params->def( 'header', $menu->name );
 
 	$mainframe->SetPageTitle($poll->title);
-	
+
 	poll_html::showResults( $poll, $votes, $first_vote, $last_vote, $pollist, $params );
 }
 ?>
diff -ruN 4.5.2.3/components/com_registration/registration.html.php 4.5.4/components/com_registration/registration.html.php
--- 4.5.2.3/components/com_registration/registration.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_registration/registration.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: registration.html.php,v 1.4 2005/01/06 01:13:27 eddieajau Exp $
+* @version $Id: registration.html.php,v 1.2 2005/10/16 22:49:57 cauld Exp $
 * @package Mambo
 * @subpackage Users
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -49,7 +49,9 @@
 	<script language="javascript" type="text/javascript">
 		function submitbutton() {
 			var form = document.mosForm;
-			var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
+			//old method didn't really work, just excluded certain characters rather than limiting to a range of characters.
+			//var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
+			var r = new RegExp("[^A-Za-z0-9]", "i");
 
 			// do field validation
 			if (form.name.value == "") {
@@ -58,7 +60,7 @@
 				alert( "<?php echo html_entity_decode(_REGWARN_UNAME);?>" );
 			} else if (r.exec(form.username.value) || form.username.value.length < 3) {
 				alert( "<?php printf( html_entity_decode(_VALID_AZ09), html_entity_decode(_PROMPT_UNAME), 2 );?>" );
-			} else if (form.email.value == "") {
+			} else if (form.email.value == "" ) {
 				alert( "<?php echo html_entity_decode(_REGWARN_MAIL);?>" );
 			} else if (form.password.value.length < 6) {
 				alert( "<?php echo html_entity_decode(_REGWARN_PASS);?>" );
diff -ruN 4.5.2.3/components/com_registration/registration.php 4.5.4/components/com_registration/registration.php
--- 4.5.2.3/components/com_registration/registration.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_registration/registration.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: registration.php,v 1.4 2005/01/06 01:13:27 eddieajau Exp $
+* @version $Id: registration.php,v 1.2 2005/08/08 00:40:48 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -36,8 +36,8 @@
 }
 
 function lostPassForm( $option ) {
-  global $mainframe;
-  $mainframe->SetPageTitle(_PROMPT_PASSWORD);
+	global $mainframe;
+	$mainframe->SetPageTitle(_PROMPT_PASSWORD);
 	HTML_registration::lostPassForm($option);
 }
 
@@ -106,14 +106,14 @@
 	global $mosConfig_sitename, $mosConfig_live_site, $mosConfig_useractivation, $mosConfig_allowUserRegistration;
 	global $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_mailfrom, $mosConfig_fromname;
 
-	if ($mosConfig_allowUserRegistration=="0") {
+	if ($mosConfig_allowUserRegistration=='0') {
 		mosNotAuth();
 		return;
 	}
 
 	$row = new mosUser( $database );
 
-	if (!$row->bind( $_POST, "usertype" )) {
+	if (!$row->bind( $_POST, 'usertype' )) {
 		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
 		exit();
 	}
@@ -122,11 +122,11 @@
 
 	$row->id = 0;
 	$row->usertype = '';
-	$row->gid = $acl->get_group_id('Registered','ARO');
+	$row->gid = $acl->get_group_id( 'Registered', 'ARO' );
 
-	if ($mosConfig_useractivation=="1") {
+	if ($mosConfig_useractivation == '1') {
 		$row->activation = md5( mosMakePassword() );
-		$row->block = "1";
+		$row->block = '1';
 	}
 
 	if (!$row->check()) {
@@ -203,8 +203,20 @@
 
 function activate( $option ) {
 	global $database;
+	global $mosConfig_useractivation, $mosConfig_allowUserRegistration;
 
-	$activation = trim( mosGetParam( $_REQUEST, 'activation', '') );
+	if ($mosConfig_allowUserRegistration == '0' || $mosConfig_useractivation == '0') {
+		mosNotAuth();
+		return;
+	}
+
+	$activation = mosGetParam( $_REQUEST, 'activation', '' );
+	$activation = $database->getEscaped( $activation );
+
+	if (empty( $activation )) {
+		echo _REG_ACTIVATE_NOT_FOUND;
+		return;
+	}
 
 	$database->setQuery( "SELECT id FROM #__users"
 	."\n WHERE activation='$activation' AND block='1'" );
diff -ruN 4.5.2.3/components/com_rss/rss.php 4.5.4/components/com_rss/rss.php
--- 4.5.2.3/components/com_rss/rss.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_rss/rss.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: rss.php,v 1.15 2005/02/16 00:02:06 eddieajau Exp $
+* @version $Id: rss.php,v 1.1 2005/07/22 01:54:56 eddieajau Exp $
 * @package Mambo
 * @subpackage Syndicate
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -59,7 +59,7 @@
 	$info[ 'cache_time' ] 	= $params->def( 'cache_time', 3600 );
 	$info[ 'count' ]		= $params->def( 'count', 5 );
 	$info[ 'orderby' ] 		= $params->def( 'orderby', '' );
-	$info[ 'title' ] 		= $params->def( 'title', 'Powered by Mambo 4.5.2' );
+	$info[ 'title' ] 		= $params->def( 'title', 'Powered by Mambo 4.5.3' );
 	$info[ 'description' ] 	= $params->def( 'description', 'Mambo site syndication' );
 	$info[ 'image_file' ]	= $params->def( 'image_file', 'mambo_rss.png' );
 	if ( $info[ 'image_file' ] == -1 ) {
@@ -67,7 +67,7 @@
 	} else{
 		$info[ 'image' ]	= $mosConfig_live_site .'/images/M_images/'. $info[ 'image_file' ];
 	}
-	$info[ 'image_alt' ] 	= $params->def( 'image_alt', 'Powered by Mambo 4.5.2' );
+	$info[ 'image_alt' ] 	= $params->def( 'image_alt', 'Powered by Mambo 4.5.3' );
 	$info[ 'limit_text' ] 	= $params->def( 'limit_text', 1 );
 	$info[ 'text_length' ] 	= $params->def( 'text_length', 20 );
 	// get feed type from url
@@ -77,7 +77,13 @@
 	$info[ 'bookmark_file' ]	= $params->def( 'bookmark_file', '' );
 	// content to syndicate
 //	$info[ 'content' ]		= $params->def( 'content', -1 );
-	
+	// validate the feed type
+    $validFeedTypes = array('RSS2.0', '2.0', 'RSS1.0', '1.0', 'RSS0.91',
+                            '0.91', 'PIE0.1', 'MBOX', 'OPML', 'ATOM',
+                            'ATOM0.3', 'HTML', 'JAVASCRIPT', 'JS');
+    if (!in_array(strtoupper($info[ 'feed' ]), $validFeedTypes)) {
+        $info[ 'feed' ] = $validFeedTypes[0];
+    } 
 	// set filename for live bookmarks feed
 	if ( !$showFeed & $info[ 'live_bookmark' ] ) {
 		if ( $info[ 'bookmark_file' ] ) {
diff -ruN 4.5.2.3/components/com_search/search.html.php 4.5.4/components/com_search/search.html.php
--- 4.5.2.3/components/com_search/search.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_search/search.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: search.html.php,v 1.7 2005/02/16 10:43:04 akede Exp $
+* @version $Id: search.html.php,v 1.1 2005/07/22 01:54:56 eddieajau Exp $
 * @package Mambo
 * @subpackage Search
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_search/search.php 4.5.4/components/com_search/search.php
--- 4.5.2.3/components/com_search/search.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_search/search.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: search.php,v 1.11 2005/02/16 10:43:04 akede Exp $
+* @version $Id: search.php,v 1.2 2005/10/20 02:56:04 cauld Exp $
 * @package Mambo
 * @subpackage Search
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -103,11 +103,9 @@
 	
 		$_MAMBOTS->loadBotGroup( 'search' );
 		$results 	= $_MAMBOTS->trigger( 'onSearch', array( $searchword, $phrase, $ordering ) );
-		$totalRows 	= 0;
-	
 		$rows = array();
-		for ($i = 0, $n = count( $results); $i < $n; $i++) {
-			$rows = array_merge( $rows, $results[$i] );
+		foreach($results as $result) {
+			if ($result) $rows = array_merge($rows, $result);
 		}
 	
 		$totalRows = count( $rows );
@@ -125,8 +123,8 @@
 		$row = mosPrepareSearchContent( $row, 200, $needle );
 
       foreach ($searchwords as $hlword) {
-			 $row = eregi_replace( $hlword, "<span class=\"highlight\">\\0</span>", $row);
-			}
+			$row = preg_replace( '/'. preg_quote($hlword, '/'). '/i', "<span class=\"highlight\">\\0</span>", $row); 
+      		}
 	
 			if (!eregi( '^http', $rows[$i]->href )) {
 				// determines Itemid for Content items
@@ -142,7 +140,7 @@
 
 		$mainframe->setPageTitle( _SEARCH_TITLE );
 		
-		if ( $n ) {
+		if ( $totalRows ) {
 		// html output
 			search_html::display( $rows, $params );
 		} else {
diff -ruN 4.5.2.3/components/com_user/user.html.php 4.5.4/components/com_user/user.html.php
--- 4.5.2.3/components/com_user/user.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_user/user.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: user.html.php,v 1.5 2005/02/14 09:47:42 kochp Exp $
+* @version $Id: user.html.php,v 1.1 2005/07/22 01:54:57 eddieajau Exp $
 * @package Mambo
 * @subpackage Users
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_user/user.php 4.5.4/components/com_user/user.php
--- 4.5.2.3/components/com_user/user.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_user/user.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: user.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: user.php,v 1.1 2005/07/22 01:54:57 eddieajau Exp $
 * @package Mambo
 * @subpackage Users
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_weblinks/weblinks.class.php 4.5.4/components/com_weblinks/weblinks.class.php
--- 4.5.2.3/components/com_weblinks/weblinks.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_weblinks/weblinks.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: weblinks.class.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: weblinks.class.php,v 1.2 2005/07/22 03:30:09 eddieajau Exp $
 * @package Mambo
 * @subpackage Weblinks
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_weblinks/weblinks.html.php 4.5.4/components/com_weblinks/weblinks.html.php
--- 4.5.2.3/components/com_weblinks/weblinks.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_weblinks/weblinks.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: weblinks.html.php,v 1.9 2005/02/16 13:37:42 stingrey Exp $
+* @version $Id: weblinks.html.php,v 1.1 2005/07/22 01:54:57 eddieajau Exp $
 * @package Mambo
 * @subpackage Weblinks
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_weblinks/weblinks.php 4.5.4/components/com_weblinks/weblinks.php
--- 4.5.2.3/components/com_weblinks/weblinks.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_weblinks/weblinks.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: weblinks.php,v 1.8 2005/02/16 13:37:42 stingrey Exp $
+* @version $Id: weblinks.php,v 1.1 2005/07/22 01:54:57 eddieajau Exp $
 * @package Mambo
 * @subpackage Weblinks
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -245,7 +245,11 @@
 	}
 	$isNew = $row->id < 1;
 
-	$row->date = date( "Y-m-d H:i:s" );
+	$row->date = date( "Y-m-d H:i:s" );	
+	
+	$row->title = $database->getEscaped($row->title);
+        $row->catid = $database->getEscaped($row->catid);
+
 	if (!$row->check()) {
 		echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
 		exit();
@@ -277,4 +281,4 @@
 	$Itemid = mosGetParam( $_POST, 'Returnid', '' );
 	mosRedirect( 'index.php?Itemid='. $Itemid, $msg );
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/components/com_wrapper/wrapper.html.php 4.5.4/components/com_wrapper/wrapper.html.php
--- 4.5.2.3/components/com_wrapper/wrapper.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_wrapper/wrapper.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: wrapper.html.php,v 1.5 2005/01/11 16:21:10 stingrey Exp $
+* @version $Id: wrapper.html.php,v 1.1 2005/07/22 01:54:59 eddieajau Exp $
 * @package Mambo
 * @subpackage Wrapper
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/components/com_wrapper/wrapper.php 4.5.4/components/com_wrapper/wrapper.php
--- 4.5.2.3/components/com_wrapper/wrapper.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/components/com_wrapper/wrapper.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: wrapper.php,v 1.6 2005/01/15 07:04:53 stingrey Exp $
+* @version $Id: wrapper.php,v 1.1 2005/07/22 01:55:01 eddieajau Exp $
 * @package Mambo
 * @subpackage Wrapper
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
diff -ruN 4.5.2.3/configuration.php 4.5.4/configuration.php
--- 4.5.2.3/configuration.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/configuration.php	2006-08-02 17:43:38.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: configuration.php-dist,v 1.8 2005/02/12 03:47:42 kochp Exp $
+* @version $Id: configuration.php-dist,v 1.4 2005/11/25 04:46:26 csouza Exp $
 * package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -57,13 +57,14 @@
 $mosConfig_hideEmail = '0';
 $mosConfig_enable_log_items = '0';
 $mosConfig_enable_log_searches = '0';
-$mosConfig_enable_stats = '0';
+$mosConfig_enable_stats = '1';
 $mosConfig_sef = '0';
 $mosConfig_vote = '0';
 $mosConfig_gzip = '0';
 $mosConfig_multipage_toc = '0';
 $mosConfig_allowUserRegistration = '1';
 $mosConfig_error_reporting = -1;
+$mosConfig_register_globals = 1;
 $mosConfig_error_message = 'This site is temporarily unavailable.<br />Please contact your System Administrator.';
 $mosConfig_link_titles = '0';
 $mosConfig_list_limit = '10';
@@ -78,7 +79,7 @@
 $mosConfig_smtpuser = '';
 $mosConfig_smtppass = '';
 $mosConfig_smtphost = 'localhost';
-$mosConfig_back_button = '1';
+$mosConfig_back_button = '0';
 $mosConfig_item_navigation = '1';
 $mosConfig_secret = '[% password_crypt %]'; //Change this to something more secure - (ok I did ;p)
 $mosConfig_pagetitles = '1';
diff -ruN 4.5.2.3/editor/editor.htmlarea2.php 4.5.4/editor/editor.htmlarea2.php
--- 4.5.2.3/editor/editor.htmlarea2.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/editor/editor.htmlarea2.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: editor.htmlarea2.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: editor.htmlarea2.php,v 1.1 2005/07/22 01:55:01 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/editor/editor.htmlarea3.php 4.5.4/editor/editor.htmlarea3.php
--- 4.5.2.3/editor/editor.htmlarea3.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/editor/editor.htmlarea3.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: editor.htmlarea3.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: editor.htmlarea3.php,v 1.1 2005/07/22 01:55:01 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/editor/editor.php 4.5.4/editor/editor.php
--- 4.5.2.3/editor/editor.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/editor/editor.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: editor.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: editor.php,v 1.1 2005/07/22 01:55:01 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/editor/editor.wysiwygpro.php 4.5.4/editor/editor.wysiwygpro.php
--- 4.5.2.3/editor/editor.wysiwygpro.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/editor/editor.wysiwygpro.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: editor.wysiwygpro.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: editor.wysiwygpro.php,v 1.1 2005/07/22 01:55:01 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/editor/editor.xstandard.php 4.5.4/editor/editor.xstandard.php
--- 4.5.2.3/editor/editor.xstandard.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/editor/editor.xstandard.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: editor.xstandard.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: editor.xstandard.php,v 1.1 2005/07/22 01:55:01 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/globals.php 4.5.4/globals.php
--- 4.5.2.3/globals.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/globals.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,40 +1,43 @@
 <?php
 /**
-* @version $Id: globals.php,v 1.7 2005/01/24 17:48:18 troozers Exp $
+* @version $Id: globals.php,v 1.6 2005/11/26 00:43:58 csouza Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * Mambo is Free Software
 */
 
-$raw = phpversion();
-list($v_Upper,$v_Major,$v_Minor) = explode(".",$raw);
 
-if (($v_Upper == 4 && $v_Major < 1) || $v_Upper < 4) {
-	$_FILES = $HTTP_POST_FILES;
-	$_ENV = $HTTP_ENV_VARS;
-	$_GET = $HTTP_GET_VARS;
-	$_POST = $HTTP_POST_VARS;
-	$_COOKIE = $HTTP_COOKIE_VARS;
-	$_SERVER = $HTTP_SERVER_VARS;
-	$_SESSION = $HTTP_SESSION_VARS;
-	$_FILES = $HTTP_POST_FILES;
+// reads configuration.php for mosConfig_register_globals
+function config_register_globals() {
+    static $register_globals;
+    if (is_null($register_globals)) {
+        $config = implode(",", file(dirname(__FILE__).DIRECTORY_SEPARATOR.'configuration.php'));
+        preg_match('/\$mosConfig_register_globals\s*=\s*\'([0-1]?)\'/', $config, $matches);
+        $register_globals = isset($matches[1]) ? (int) $matches[1] : 1;
+    }
+    return $register_globals;
 }
 
-if (!ini_get('register_globals')) {
-	while(list($key,$value)=each($_FILES)) $GLOBALS[$key]=$value;
-	while(list($key,$value)=each($_ENV)) $GLOBALS[$key]=$value;
-	while(list($key,$value)=each($_GET)) $GLOBALS[$key]=$value;
-	while(list($key,$value)=each($_POST)) $GLOBALS[$key]=$value;
-	while(list($key,$value)=each($_COOKIE)) $GLOBALS[$key]=$value;
-	while(list($key,$value)=each($_SERVER)) $GLOBALS[$key]=$value;
-	while(list($key,$value)=@each($_SESSION)) $GLOBALS[$key]=$value;
-	foreach($_FILES as $key => $value){
-		$GLOBALS[$key]=$_FILES[$key]['tmp_name'];
-		foreach($value as $ext => $value2){
-			$key2 = $key . '_' . $ext;
-			$GLOBALS[$key2] = $value2;
-		}
-	}
+// get mosConfig_register_globals
+$config_register_globals = config_register_globals();
+
+// superglobals array
+$superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
+if (isset($_SESSION)) array_unshift ($superglobals , $_SESSION); 
+
+// Emulate register_globals on
+if (!ini_get('register_globals') && $config_register_globals) {
+   foreach ($superglobals as $superglobal) {
+       extract($superglobal, EXTR_SKIP);
+   }
+}
+// Emulate register_globals off
+elseif (ini_get('register_globals') && !$config_register_globals) {
+   foreach ($superglobals as $superglobal) {
+       foreach ($superglobal as $key => $value) {
+           unset($GLOBALS[$key]);
+       }
+   }
 }
-?>
+?>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.mambo.credits.html 4.5.4/help/454.mambo.credits.html
--- 4.5.2.3/help/454.mambo.credits.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.mambo.credits.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,291 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+
+<head>
+
+<title>Credits</title>
+
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+
+<meta name="copyright" content="(C) 2000 - 2006 The Mambo Foundation" />
+
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+
+</head>
+
+<body>
+
+<h1>Credits</h1>
+
+<h1>Contributions</h1>
+  <ul>
+  <h2>The Mambo Steering Committee (the 'MSC')</h2>
+		<li>
+			<strong>Chad Cauld</strong>: Core Development Team Leader
+		</li>
+		<li>
+		<strong>Alain Schmalz</strong>: 3rd Party Development Team Leader 
+  	</li>
+		<li>
+			<strong>Ric Shreves</strong>: Advocacy & PR Team Leader 
+		</li>
+		<li>
+			<strong>Carlos Souza</strong>: Translation Team Leader 
+		</li>
+		<li>
+			<strong>David Geller</strong>: Moderation Team Leader 
+		</li>
+		<li>
+			<strong>Richard Ong</strong>: Documentation Team Leader 
+		</li>
+		<li>
+			<strong>James Puro</strong>: QA Team Leader 
+		</li>
+<h2>Core & Maintenance Development </h2>
+		<li>
+			 Adi Setiawan 
+		</li>
+		<li>
+			 Akarawuth Tamrareang 
+		</li>
+		<li>
+		Carlos Souza
+		</li>
+		<li>
+Chad Auld
+		</li>
+		<li>
+Chanh Ong
+		</li>
+		<li>
+Giorgio Nordo
+		</li>
+		<li>
+Nalisa Sitabut
+		</li>
+		<li>
+Neil Thompson
+		</li>
+		<li>
+Richard Peter Ong
+		</li>
+		<li>
+Shaoying Su
+		</li>
+		
+		<h2>Past Contributions</h2>
+		<li>
+			Andrew Eddie, Rey Gigataras, Emir Sakic, Alex Kempkens, Andy Miller, Mitch Pirtle, Tim Broeker, Nick Designer, Brian Teeman, Andy Stewart, Peter Koch, Levis Bisson, Robert Castley, Phil Taylor, Ron Bakker, Steen Rabol, James Logan, Wee Keat, Ilias Antonopoulos, Martin Brampton, Dean Elzey, Despina Stamkou, John Kalantzis 
+		</li>
+  </ul>
+
+	<h1>Third Party Tools</h1>
+
+  <ul>
+
+		<li>
+
+
+
+				<a href="http://www.cs.ucla.edu/%7Eheng/JSCookMenu/index.html">JSCookMenu</a>
+
+				1.25
+
+				(<a href="http://www.cs.ucla.edu/%7Eheng/JSCookMenu/copyright.html">License</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://tinymce.moxiecode.com/">TinyMCE Editor</a>
+
+				2.0.6.1
+
+				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://www.engageinteractive.com/">DOMIT!</a>
+
+				1.0
+
+				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://www.phpconcept.net">PCLZip/PCLTar</a>
+
+				2.0-rc1
+
+				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://phpgacl.sf.net">phpGACL</a>
+
+				3.2.2
+
+				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://dynarch.com/mishoo/calendar.epl">Calendar</a>
+
+				0.9.2
+
+				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://www.bosrup.com/web/overlib">overLIB</a>
+
+				4.21
+
+				(<a href="http://www.bosrup.com/web/overlib/?License">License</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://www.foood.net">Foood.net Icons</a>
+
+				N/A
+
+				(<a href="http://www.foood.net/agreement.htm">License</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://webfx.eae.net/">XP-Style Tabs</a>
+
+				1.0.2
+
+				(Public Domain)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://phpmailer.sourceforge.net/">phpMailer</a>
+
+				1.72
+
+				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://www.bitfolge.de/rsscreator-en.html">Feedcreator</a>
+
+				1.71
+
+				(<a href="http://www.gnu.org/licenses/gpl.html">LGPL</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://pear.php.net">Cache_Lite</a>
+
+				1.3.1 (CVS)
+
+				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://qbnz.com/highlighter/">GeSHi</a>
+
+				1.0.4
+
+				(<a href="http://www.gnu.org/licenses/gpl.html">GPL</a>)
+
+
+
+		</li>
+
+		<li>
+
+
+
+				<a href="http://www.bitfolge.de/phpvcard-en.html">PHP VCard</a>
+
+				2.0
+
+				(<a href="http://www.gnu.org/licenses/gpl.html">LGPL</a>)
+
+
+
+		</li>
+
+	</ul>
+
+
+
+</body>
+
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.mambo.glossary.html 4.5.4/help/454.mambo.glossary.html
--- 4.5.2.3/help/454.mambo.glossary.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.mambo.glossary.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+
+<head>
+
+<title>Glossary</title>
+
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+
+</head>
+
+<body>
+
+<h1>Glossary</h1>
+
+
+
+<p><strong>Admin Templates:</strong> Administrator Templates define the lay-out of your Mambo Web site's Backend.</p><p><strong>Alt&nbsp;Tag:</strong> The&nbsp;'alt' attribute, often called the&nbsp;'alt tag' is&nbsp;a text attribute added to&nbsp;the image tag&nbsp;to&nbsp;describe the&nbsp;image contained in&nbsp;the tag. This text is&nbsp;viewable (inside a text box) when one hovers their&nbsp;mouse over an image in the Frontend of&nbsp;a&nbsp;Web&nbsp;site. </p><p><strong>Archive:</strong> Content items can be archived and managed trough the Backend. The Archive Module provides a way of displaying archived items on your Web site.</p><p><strong>Backend:</strong> The 'Backend' is the Mambo Administrator where the site administrator manages the site and it's content.</p><p><strong>Blog:</strong> A Blog style within Mambo is the listing of records in a summary form. Example: It could be by link only, or showing just the introductory text with a link to the complete text. Often the &quot;News&quot; page is written in Blog style.</p><p><strong>Category:</strong>&nbsp; A Category is the name for a collection of items that are related in some way. Example: The category 'Fish' may contain the records 'Herring', 'Haddock' and 'Stickleback'.<br /><br /><span style="font-weight: bold;">Check Out (an item):</span> When a user edits a file they 'Check it Out'. This prevents other users from being able to edit the item at the same time, thus preventing loss of data upon saving.<br /></p><p><span style="font-weight: bold;">CMT:</span> CMT is an acromyme for Components, Modules and Templates.<br /><br /><span style="font-weight: bold;">CMTM:</span> CMTM is an acromyme for Components, Modules, Templates and Mambots.<br /></p><p><strong>Components:</strong> &nbsp;Components are Mambo's content elements or applications that usually appear in the center of a three column Mambo layout, or on the right of a two column Mambo layout. Components are core elements of Mambo functionality. Mambo core components include: Banners, Contact, News Feeds, Polls and Weblinks. Members of the Mambo Community are producing third party Mambo components on a continuous basis. They are available on <a href="http://mamboforge.net/">mamboforge.net</a> for free download.</p><p><strong>Content item:</strong> Please see 'Item'<strong>.<br /><br />Content Management System (CMS):</strong> &nbsp;A CMS is a software for managing content on a Web site directly on the server.<br /><br /><span style="font-weight: bold;">Core:</span> The Mambo core is the zip-file containing the official standard Mambo installation, which can be found on Mamboforge.net and various other sites. It contains some built-in CMTM's, but can be extended with 3rd party developer's addons.<br /></p><p><strong>Database:</strong> &nbsp;A database is an organized collection of information. It contains a collection of records that you can search, sort and analyze rapidly.</p><p><strong>Elements: </strong>&nbsp;Elements are plug-ins like components, modules, templates, mambots or languages that extend your Mambo installation. These elements can already be bundled into the core or they can be third party elements.</p><p><strong>Frontend:</strong> The Frontend is the Web site that your visitors (or members) will see.</p><p><strong>Frontpage:</strong> &nbsp;The Frontpage is a built-in Component which shows all the published content items from your site marked with the parameter 'Show on Frontpage'. You may configure the display of the Frontpage by editing the menu item associated with it, usually 'Home'.<br /><br /><span style="font-weight: bold;">Global Checkin:</span> When an item is 'Checked Out' and it is not saved or cancelled correctly (e.g. in case of a connection error), it will remain 'Checked Out', and thus uneditable for all other users. Performing a 'Global Checkin' will make those items available again.<br /><br /><span style="font-weight: bold;">Intro Text:</span> When creating or editing a Content Item, the Intro Text should contain a brief introduction. This introduction will be appended by the content in the Main Text box if you have entered content there. When the Content Item is set to show on the Front Page, a 'read on' link will be shown, pointing to the full Content Item.<br /></p><p><strong></strong><span style="font-weight: bold;">Item: </span>An Item is a discrete piece of content within the Mambo hierarchy. An item can be an article, a content category, a menu item or a link.<br /><br style="font-weight: bold;" /><span style="font-weight: bold;">Main Text:</span> When creating or editing a Content Item, the Main Text box contains the text you don't want to show on the Front Page.&nbsp; It shows up after clicking the 'Read On' link in the Frontend of your site.<br /><br /><span style="font-weight: bold;">Mamber: </span>A Mamber is a general term for someone who is part of the Mambo community.<br /></p><p><strong>Mambo:</strong> &nbsp;Mambo is one of the finest Open Source Web Content Management Systems.</p><p><strong>Mambo Administrator:</strong> The Mambo Administrator is an application for administering your Mambo Web site directly on the server. It is sometimes also referred to as any of the <span style="font-weight: bold;">Administrator, Backend</span>, <span style="font-weight: bold;">Admin Section</span>, <span style="font-weight: bold;">Administration Section</span>, or the <span style="font-weight: bold;">Control Panel</span>.</p><p><strong>Mambo User (or/and User Group):</strong> &nbsp;Mambo Users can be arranged in several groups with different levels of access control. User groups with access to the Frontend include Anonymous, Registered, Author, Editor and Publisher. There are also three groups with access to the Backend: Mamager, Administrator and Super Administrator.</p><p><strong>Mambot:</strong> &nbsp;A Mambot is a small, task-oriented function that intercepts content before it is displayed and manipulates it in some way. Mambo provides a number of Mambots in the core distribution.<br /><br style="font-weight: bold;" /><span style="font-weight: bold;">Media Files:</span> Media files such as .gif, .jpg, .png or .bmp files can be used in Content Items and are organised via the Media Manager.<br /></p><p><strong>Modules:</strong> Modules extend the capabilities of Mambo giving the software new functionality.Modules are small content items that can be displayed anywhere that your template allows it to be displayed. Modules are very easy to install in the Admin Section. Mambo modules may include: Main Menu, Top menu, Template Chooser, Polls, Newsflash, Hit Counter, etc. Members of the Mambo Community are producing third party Mambo modules on a continuous basis. They are available on <a href="http://mamboforge.net/">mamboforge.net</a> for free download.<br /><br /><span style="font-weight: bold;">Newsfeeds: </span>Newsfeeds are a way of sharing content between different sites. This sharing method is meant for creating a news introduction in the way the provider wants it and it normally has a link to the provider's web site. Mambo offers you the posibility to both offer and display Newsfeeds.<br /></p><p><strong>Open Source (OS):</strong> &nbsp;Open Source is a general term describing several parts of the Free Software Licence movement.</p><p><strong>Parameters:</strong> &nbsp;Parameters can be used to alter the presentation of specific items, menu's or modules.<br /><br /><span style="font-weight: bold;">Preview: </span>The 'Preview' icon enables you to see from the Backend what your content item would look like in the Frontend of your site.<br /><br /><span style="font-weight: bold;">Projects:</span> Projects&nbsp; can be compoents, modules, templates, mambots and scripts that are freely set up and managed by their authors at http:projects.mamboserver.com.<br /></p><p><strong>Publish(ed):</strong> &nbsp;This defines the state of various parts of your Mambo installation. For example, installed Elements will only display on your Web site if they're published. Content items can be managed with a start- and end date of publishing.</p><p><strong>Record:</strong> &nbsp;A Record is a generic term for a 'row' in the database, just like a card. A record very often represents a 'piece' of content. The dynamic functionality and much of the content of Mambo relies on a database in order to function.</p><p><strong>Section:</strong> &nbsp;A Section is a collection of Categories that are related in some way. Think of it this way. A section might be called 'News', categories in this section might be 'Today's News', 'Yesterdays News' and 'Other News'.</p><p><strong>Site:</strong> &nbsp;The Mambo Site is the Web site displayed to your visitors or users, containing all the content added in the Admin Section. It is sometime referred to as the 'Frontend'.</p><p><strong>Templates:</strong> Templates define the lay-out of your Mambo Web site. You can assign different templates to various pages of your Web site.&nbsp; Templates can be created for the Frontend of your site called Site Template as well as the Backend called Administrator Templates.<br /><br /><span style="font-weight: bold;">Title:</span> This is the name which is displayed above a Content Item.<br /><br /><span style="font-weight: bold;">Title Alias: </span>This is an alternative title for Content Items. This field is not used by the Mambo core itself, but SEF scripts and dynamic title/meta scripts use it and it may have a future use.<br /></p><p><strong>Workspace:</strong> &nbsp;The Workspace is the section of the Mambo Admin Section where the business of configuration and content publishing takes place. The workspace dynamically updates as you select tools and menu options. The workspace can include: HTML editor, article and link management and several other features.</p><p><span style="font-weight: bold;">Wrapper: </span>A Wrapper is a built-in Mambo component which can display any URL in your website. This can be used to wrap an application like a forum or a gallery, individual pages as well as an entire website. An alternative name is an <span style="font-weight: bold;">Iframe</span>. <br />&nbsp;</p>
+
+
+
+</body>
+
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.mambo.support.html 4.5.4/help/454.mambo.support.html
--- 4.5.2.3/help/454.mambo.support.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.mambo.support.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Support</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2006 The Mambo Foundation" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Support</h1>
+<h2>Official Sites</h2><ul><li><a href="http://source.mambo-foundation.org">The Source</a> - the official Mambo website</li><li><a href="http://mamboxchange.com/tracker/?atid=101&group_id=5&func=browse">Bug reporting</a> - use the bug tracker on mamboxchange.org to log bugs that you find</li><li><a href="http://forum.mamboserver.com">forum.mamboserver.com</a> - The official support forum for Mambo</li><li><a href="http://source.mambo-foundation.org/Remository/">Downloads and Patches</a> - Get the Mambo source here as well as any updates</li><li><a href="http://help.mamboserver.com">help.mamboserver.com</a> - Manual, tutorials and reference material for Mambo<br /></li></ul><br /><h2>Addons for Mambo</h2><ul><li><a href="http://mamboxchange.com">mamboxchange.com</a> - - The object of Mamboxchange.com is to provide a free project management and download environment for Mambo related projects. It is one of largest central repositories on the web for everything that is to do with Mambo.<br /></li></ul><br /><br /><br />
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.mambo.whatsnew.html 4.5.4/help/454.mambo.whatsnew.html
--- 4.5.2.3/help/454.mambo.whatsnew.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.mambo.whatsnew.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+
+<head>
+
+<title>What's New in Version 4.5.4</title>
+
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+
+<meta name="copyright" content="(C) 2000 - 2006 The Mambo Foundation" />
+
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+
+</head>
+
+<body>
+
+<h1>What's New in Version 4.5.4</h1>
+The development team is focused on the next minor release of Mambo, v4.6.  However, we do realize that many users will continue to use the 4.5.x branch for some time to come.  Therefore, we have decided to updated / stabilize this branch a bit further while we work on the 4.6 branch.  Enjoy!
+
+<h1>High-Level Updates:</h1>
+1) Updated TinyMCE from v2.0.2 to 2.0.6.1<BR>
+2) Updated overLIB from 4.06 to 4.21<BR>
+3) Added 453h security patch 1 to default install.  No extra download needed.<BR>
+4) Fixed a Trash Manager issue<BR>
+5) Patched a low risk RSS vulnerability<BR>
+
+</body>
+
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.banners.client.edit.html 4.5.4/help/454.screen.banners.client.edit.html
--- 4.5.2.3/help/454.screen.banners.client.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.banners.client.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Banner: Client Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Banner: Client Manager : New / Edit</h1>
+<p>This page allow you to create or edit a banner's details.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3>
+<p><strong>Upload</strong>: Opens a new window which lets you upload an image from your computer to the images/banners folder.<br /><br /><strong>Save</strong>: Saves the content and returns to Manager.<br /><br /><strong>Close</strong>: Cancels the action. Any modification is lost. If opened to edit, the banner remains checked-in.</p><h3><span style="FONT-WEIGHT: bold">Details</span></h3><p><strong>Banner Name</strong>: Type here the name for the Banner.<br /><br /><strong>Client Name</strong>: Select from the list of configured clients.<br />&nbsp;<br /><strong>Impressions Purchased</strong>: Enter the number of times to display to banner into the input field, or tick the &quot;Unlimited&quot; checkbox for unlimited display.<br />&nbsp;<br /><strong>Banner URL</strong>: Select the banner image to be displayed from the list of available banners. Images need to be stored in the &quot;images/banners&quot; folder to be available for selection here. The selected image will be displayed at the bottom of the screen.<br />&nbsp;<br /><strong>Show Banner</strong>: Select Yes or No.<br />&nbsp;<br /><strong>Click URL</strong>: Enter here the full URL to the page which should open when the banner is clicked on.<br />&nbsp;<br /><strong>Custom banner code</strong>:&nbsp; You may enter here some code (See Developper Manual for more information).<br />&nbsp;<br /><strong>Clicks</strong>: &quot;Reset Clicks&quot; button: clicking this button will reset the click count shown on the right for the banner to 0.<br /><br /><strong>Banner Image</strong>: Image selected under &quot;Banner URL&quot; is displayed here for your convenience.<br /><br /></p>
+
+
+
+</body>
+
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.banners.client.html 4.5.4/help/454.screen.banners.client.html
--- 4.5.2.3/help/454.screen.banners.client.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.banners.client.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Banner: Client Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Banner: Client Manager</h1>
+<p>This page shows the list of Clients whose banners may be displayed on your site.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p>You &quot;select&quot; clients by clicking the checkbox at the start of each row.</p><p><strong>New</strong>:&nbsp; Click this icon to add a new client.<br /><br /><strong>Edit</strong>:&nbsp; Click this icon to edit the client's details.<br /><br /><strong>Delete</strong>: Click this icon to delete a client. You will be asked to confirm the delete operation. Select &quot;Yes&quot; to delete the client or &quot;No&quot; to cancel.</p><h3><span style="FONT-WEIGHT: bold">Columns</span></h3><p><strong>Client Name</strong>: This is the name of the client.</p><p>C<strong>ontact</strong>: Displays who is in charge for this client.<br /><br /><strong>No of active banners</strong>: displays the number of published banners for this client.<br /></p>
+
+
+</body>
+
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.banners.edit.html 4.5.4/help/454.screen.banners.edit.html
--- 4.5.2.3/help/454.screen.banners.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.banners.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Banner Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Banner Manager : New / Edit</h1>
+<p>This page allow you to create or edit a banner's details.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>Upload</strong>: Opens a new window which lets you upload an image from your computer to the images/banners folder.<br /><br /><strong>Save</strong>: Saves the content and returns to Manager.<br /><br /><strong>Close</strong>: Cancels the action. Any modification is lost. If opened to edit, the banner remains checked-in.</p><h3><span style="FONT-WEIGHT: bold">Details</span></h3><p><strong>Banner Name</strong>: Type here the name for the Banner.<br /><br /><strong>Client Name</strong>: Select from the list of configured clients.<br />&nbsp;<br /><strong>Impressions Purchased</strong>: Enter the number of times to display to banner into the input field, or tick the &quot;Unlimited&quot; checkbox for unlimited display.<br />&nbsp;<br /><strong>Banner URL</strong>: Select the banner image to be displayed from the list of available banners. Images need to be stored in the &quot;images/banners&quot; folder to be available for selection here. The selected image will be displayed at the bottom of the screen.<br />&nbsp;<br /><strong>Show Banner</strong>: Select Yes or No.<br />&nbsp;<br /><strong>Click URL</strong>: Enter here the full URL to the page which should open when the banner is clicked on.<br />&nbsp;<br /><strong>Custom banner code</strong>:&nbsp; You may enter here some code (See Developper Manual for more information).<br />&nbsp;<br /><strong>Clicks</strong>: &quot;Reset Clicks&quot; button: clicking this button will reset the click count shown on the right for the banner to 0.<br /><br /><strong>Banner Image</strong>: Image selected under &quot;Banner URL&quot; is displayed here for your convenience.<br /><br /></p>
+
+
+
+</body>
+
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.banners.html 4.5.4/help/454.screen.banners.html
--- 4.5.2.3/help/454.screen.banners.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.banners.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Banner Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Banner Manager</h1>
+<p>This page shows the list of the banners you may display on your site.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p>You &quot;select&quot; banners by clicking the checkbox at the start of each row.<br /><br /><strong>Publish and Unpublish</strong>: Click the 'Publish' or 'Unpublish' icon to publish or unpublish any number of selected banners.<br /><br /><strong>Upload</strong>: Opens a new window which lets you upload a file or an image from your computer to the images/stories folder.<br /><br /><strong>New</strong>: Click this icon to add a new banner.<br /><br /><strong>Edit</strong>: Click this icon to edit the banner's details.<br /><br /><strong>Delete</strong>: Click this icon to delete the banner.</p><h3><span style="FONT-WEIGHT: bold">Columns</span></h3><p><strong>Banner Name</strong>: This is the name of the banner. <span style="COLOR: rgb(51,51,51)">If you click on this name, you may edit the related parameters. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit ,</span><br /><br /><strong>Published</strong>: This displays whether the banner is currently Published or not for Frontend display. Click the column icon to toggle state.<br /><br /><span style="FONT-WEIGHT: bold"></span><strong>Impressions Made</strong>: This is the number of times the banner has been shown on your site.<br />&nbsp;<br /><strong>Impressions Left</strong>: This is the number of impressions left to display if a limit has been set while creating or editing a banner.<br />&nbsp;<br /><strong>Clicks</strong>: This is the number of times that particular banner has been clicked on by a user of the site.<br />&nbsp;<br /><strong>% Clicks</strong>: This is the number of clicks as a percentage ratio to the number of impressions that have been made. 1% would mean for example, that 1 in every 100 people had clicked on the banner.<br />nbsp;<br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.categories.edit.html 4.5.4/help/454.screen.categories.edit.html
--- 4.5.2.3/help/454.screen.categories.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.categories.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+
+<head>
+<title>Category Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Category Manager : New / Edit</h1>
+<p>This page lets you create or edit a Category.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>Upload</strong>: Opens a new window which lets you upload a file or an image from your computer to the images/stories folder.<br /><br /><strong>Save</strong>: Saves the category and returns to Manager.<br /><br /><strong>Apply</strong>: Saves the category and keep the page displayed to edit.<br /><br /><strong>Close</strong>: Cancels the action. Any modification is lost. If opened for edit, the Category remains checked-in.</p><h3><span style="FONT-WEIGHT: bold">Category Details</span></h3><p><strong>Category Title</strong>: Type here the name of the category as you want it to display on your site.<br /><br /><strong>Category Name</strong>: Type here the name of the category as you want it to appear in the database and the back-end.<br /><br /><strong>Section</strong>: Select here the Section you want the category to belong to. This choice will not be available once the category is Applied or Saved. Instead it will show the Section the category belongs to.<br /><br /><strong>Image</strong>: Select here an image to display next to the Category Description text. The dropdown list an image choice from the images/stories folder.<br /><br /><strong>Image position</strong>: Select here the position of the image relative to the description text. Left or right.<br /><br /><strong>Ordering</strong>: Select here the order of the category among other categories in the same section. This will reflect in the Category Manager.<br /><br /><strong>Access</strong>: This is the user access level for the category. Public, Registered or Special.<br /><br /><strong>Published</strong>: Check the box to let the item show on your site.<br /><br /><strong>Description</strong>:&nbsp; Type here a description of the Category. This text will show if decided so when the category is displayed as a table, blog or other categories.</p><h3><span style="FONT-WEIGHT: bold">Formatting content</span></h3><p>The formatting options interface depend on the Editor you are using.<br />Many editors are available as Open Source (through MamboForge) or commercial products.<br /><br />Mambo comes with 2 default editors:<br /></p><ul style="MARGIN-LEFT: 40px"><li><strong>NO WYSIWYG</strong>: This editor lets you enter text and/or HTML code directly.</li><li><strong>TinyMCE</strong>: This editor lets edit in WYSIWYG or HTML mode (See specific Help).</li></ul><p><strong>NOTE</strong>: It is advised to publish only one editor at a time in Mambot Manager and to save also that choice in Global Configuration.<br /><br /><strong>NOTE</strong>: It is not advised to use the Mambot tag { mospagebreak } in this description field.<br /><br /><br /><strong><span style="FONT-STYLE: italic">The following parameters will only show once the category is applied or saved.</span></strong></p><h3><span style="FONT-WEIGHT: bold">Link to Menu</span></h3><p>This will create a new menu Item in the menu you select.<br /><br /><strong>Select a Menu</strong>: Highlight here one the menus defined for your site.<br /><br /><strong>Select Menu Type</strong>: Select here 'Content Category Table', 'Content Category Blog' or 'Content Category Archive Blog' Menu Item types.<br /><br /><strong>Menu Item Name</strong>: The name of the Menu as it will appear on your site.<br /><br /><strong>Link to Menu</strong>: Click on this button to create the Menu Item.<br /><br /><br /><span style="FONT-WEIGHT: bold">Existing Menu Links<br /><br /></span>This displays a list of all Menu Items referencing this category.<br /><br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.categories.html 4.5.4/help/454.screen.categories.html
--- 4.5.2.3/help/454.screen.categories.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.categories.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Category Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Category Manager</h1>
+<p align="left">This page shows show a list of the Categories defined on your site. They are ordered by the section they belong to. The Select Section drop-down lets you display the categories belonging to one specific section at a time.</p>
+<p align="left">You may filter the categories by the section they belong to.<br /></p><p align="left"></p>
+<h3 align="left"><span style="FONT-WEIGHT: bold">Toolbar</span></h3>
+<p align="left">Click the icons after checking the box next to a specific Category. <br /><br /><strong>Publish and Unpublish</strong>: Same function as "Published" in the headings. You may check multiple checkboxes.<br /><br /><strong>New</strong>: Create a new Category.<br /><br /><strong>Edit</strong>: Edit an existing category parameters.<br /><br /><strong>Move</strong>: Opens a new "Move Category" window where you can choose to move the specific Category and *all its Content Items* to another existing Section. You may click multiple checkboxes here.<br /><br /><strong>Copy</strong>: Opens a new "Copy Category" window where you can choose to copy the specific Category and *all its Content Items* to another existing Section. You may click multiple checkboxes here. (The content items copied will keep the same name)<br /><br /><strong>Delete</strong>: Lets you delete the category chosen. An Alert will pop to let you confirm this choice. This action can't be performed if the category contains Content Items. In this last case, you would have to delete the Content Items first.</p>
+<h3 align="left"><span style="FONT-WEIGHT: bold">Columns</span></h3>
+<p align="left"><strong>Category Name</strong>: This is the name of a category. Click the name to edit the category parameters. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit ,<br /><br /><strong>Published</strong>: Whether a category is published or not. Click the icon to change the state.<br /><br /><strong>Order</strong>: Order of the categories on the list (this has no effect on site display). You may change it by editing 2 # conjointly and clicking on the Save Order icon in the heading. </p><p align="left"><strong>Access</strong>: This is the User access level. Oublic, Registered or Special.<br /><br /><strong>Section</strong>: The name of the Section de category belongs to. Clicking on this name lets you edit the category's section's parameters.<br /><br /><strong>Category ID</strong>: There is the ID for each category as defined in the database.<br /><br /><strong># Active</strong>: This is the number of published content items in the category.<br /><br /><strong>#Trash</strong>: Number of Content Items belonging to this category and currently in the Trash.</p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.checkin.html 4.5.4/help/454.screen.checkin.html
--- 4.5.2.3/help/454.screen.checkin.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.checkin.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Global Check-in</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Global Check-in</h1>
+<h3 align="left">Global Checkin</h3><p align="left">When a User edits a file, Mambo changes its status to, &quot;Checked Out&quot;. In effect, the file is locked and only the User who has &quot;checked it out&quot; has permission to work with it. This is a security feature that prevents two Users from editing a document at the same time, thus preventing loss of data upon saving.<br /><br />A Content Item remains 'Checked Out' until the User clicks 'Save' or 'Cancel' while editing the Content Item, at which time the Content Item is &quot;Checked In&quot;. However, if there's a connection error, the user presses the 'Back' icon in his/her browser, or the User chooses another menu item without saving or canceling the work in progress, the Content Item remains 'Checked Out'. This means no one can edit it. This is usually reported or experienced as Users being unable to edit or access items, and can be verified by looking&nbsp;at the column labeled &quot;Checked Out&quot; in the Section, Category, or Item file list .<br /><br />Mambo has a protocol, called &quot;Global Checkin&quot; that allows an administrator to unlock all Content Items that are currently &quot;Checked Out&quot;.<br /><br />To perform the &quot;Global Check In&quot;, select System -> Global Check In from the Administrator Menubar.&nbsp; After performing the &quot;Global Check In&quot;, Mambo returns a list showing how many items, and from which tables, were Checked back in.<br /><br /><strong><font color="#cc0000">WARNING:</font></strong> Be very careful in doing this as anyone who is editing a document at that very moment can have his or her work lost.</p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.config.html 4.5.4/help/454.screen.config.html
--- 4.5.2.3/help/454.screen.config.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.config.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Global Configurations</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<p><span style="FONT-WEIGHT: bold">Global Configuration</span> controls Mambo's operational settings. Changes made on this screen will update the <strong>configuration.php</strong> file. This file must be normally unwritable. Change it to writable in order for you to be able to edit your configuration. Then remember to change it back to unwritable.<br /><br />
+To the right of the write status of configuration.php is a check box labeled &quot;Make unwritable after saving.&quot; Checking this box will change the file permissions of configuration.php to unwritable once you have applied your changes. When your site is configured, it is a good idea to make configuration.php unwritable for security reasons. </p>
+<h3>Site Tab</h3>
+<p><strong>Site <span>Offline</span></strong> - With this you can effectively switch on and off your web site 'Front-end'. Use this option if you are updating modules or data, and do not wish to have your visitors view the site until you are finished. Remember to reset the &quot;Site offline&quot; option to &quot;No&quot; once you're done.</p>
+
+<p><strong><span>Offline</span> Message</strong> - When the Site <span>Offline</span> switch is in the �Yes� position, this default message will display on the 'Front-end' for your visitors to see.&nbsp; &quot;This site is down for maintenance. Please check back again soon.&quot;<br />You can change this text to whatever message you would like.</p>
+
+<p><strong>System Error Message</strong> - This message will display if the initial database connection fails.&nbsp; You can type anything you like in this box. We suggest something friendly and apologetic, stating that your site will be available again as soon as possible. You can use standard HTML code in this box also, for instance, &lt;<span>br</span> /&gt; to return a line. You might also consider adding an email address, so that your visitors can contact your System Administrator or the Webmaster.</p><p><strong>Site Name</strong> - This option allows you to set the content of the title bar for your site. It can also be displayed in your template by inserting the following code statement into your template file [Mambo_root/templates/template name/index.php] where you wish your Site Name to appear:</p><p>&lt;?php echo $_CONFIG-&gt;<span>SITENAME</span>; ?&gt;</p><p><strong>Show <span>Unauthorised</span> Links</strong> -&nbsp;With this option turned on, all visitors&nbsp;will see content to which they would not otherwise have access, (that is,<span></span> content given an Access Level of 'Registered' or 'Special'). With this option off, they will only see content with an Access Level of 'Public'.&nbsp; The access level for Content is selected under the Publishing tab in the Edit Content screen.</p>
+
+<p><strong>Allow User Registration</strong> - This option allows you to globally set whether visitors to your site can register for a user account. If the &quot;Yes&quot; radio button is chosen, the Login Form will include the prompt �No account yet? Create one�. If the &quot;No&quot; radio button is chosen, they will not be presented with an option to register.</p>
+
+<p><strong>Use New Account Activation</strong> - If the &quot;Yes&quot; radio button is chosen, an activation link will be sent to user's e-mail address. Users can not login until he has clicked on the activation link.&nbsp; If the &quot;No&quot; radio button is chosen, Users will be able to login right away without activation.</p><p><strong>Email New User Password</strong> - With this option set to 'Yes', the new user will receive an email with a password generated by Mambo. If it is set to 'No', new Users will select their own password.<br /></p>
+
+<p><strong>Require Unique Email</strong> - Select whether you want to prevent registration with duplicate e-mail addresses. In combination with user activation this option prevents users to sign up several times using the same e-mail address.</p>
+
+<p><strong>Debug Site</strong> - This option allows you to view the error messages that are  created by your site's php installation. It can be a handy tool for debugging if you are having problems and for reporting errors to your System Administrator or Web host. The levels of error reporting can be set under the Global Configuration-&gt;Server tab, and are as follows:<br />System Default, None, Simple and Maximum.</p>
+
+<p><strong>WYSIWYG Editor</strong> - Choose which of the installed Text Editors you want to use to edit Content Items. Remember that editors are installed as Mambots.<br /><br /><strong>List Length</strong> - Choose a default length for lists in the Administrator (Back-end).&nbsp;<br /><strong>NOTE</strong> that if you have previously visited a page with a list, changing this setting in Global Configuration will not be immediately visible. However, the setting you specify will be <span>honoured</span> as a default upon your next login.<br /><br /><strong><span>Favorites</span> Site Icon</strong> - This sets the icon that appears in some browsers next to the name and/or address of your site.&nbsp; By default this is the Mambo flower.&nbsp; If you want another icon to show up, you must upload another icon to replace the Mambo flower.&nbsp; Then type in the address of the image in this field.</p>
+
+<h3>Locale Tab</h3>
+
+<p><strong>Language</strong>:&nbsp; Choose the default language used on your site.&nbsp; If it is another language other than English, you must install the language files first using the Installer menu in the Back-end.<br /></p>
+
+<p><strong>Time Offset</strong>: This option sets the time offset in hours between your server location and GMT (Greenwich Mean Time - UK). Select the offset time from the dropdown menu.&nbsp; <br /></p>
+
+<p><strong>Country Locale</strong>: Type the location of your Web site.&nbsp; For instance en_GB would be the setting for the UK, el_GR for Greece.</p>
+
+<h3>Content Tab</h3><p />
+
+<p><strong>Linked Titles</strong>: Select 'Yes', if you want the title of a content item to be hyper-linked.&nbsp; Select 'No', and a 'Read On...' link will appear below the introduction text.<br /><br /><strong>Read More Link</strong>: Select &quot;Show&quot; to display the text &quot;Read more&quot; at the end of your &quot;Intro Text&quot; of your content items.<br /><br /><strong>Item Rating / Voting</strong>:&nbsp;This option allows the rating of content items.&nbsp; Choose 'Yes', and a 'Star Bar' will be shown on each content item, as well as a form for submitting your rating. <span style="FONT-WEIGHT: bold">NOTE:</span> The rating form is not shown for articles in 'Blog' lists, and the Star Bar is only shown for those items with Intro text.</p><p><strong>Author Names</strong>: Choose the radio button &quot;Show&quot;, to allow the Author's name to be shown when a Content Item is displayed. </p>
+
+<p><strong>Created Date and Time</strong>:&nbsp;Choose the radio button &quot;Show&quot;, to allow the creation date and time to be shown when a content item is displayed.</p>
+
+<p><strong>Modified Date and Time</strong>: Choose the radio button &quot;Show&quot;, to allow the last modified date and time to be shown&nbsp; when a content item is displayed.<br /><br /><strong>Hits</strong>: Choose the radio button &quot;Show&quot;, to display the number of hits an article/content has had. <br /><br /><strong>PDF Icon</strong>: Choose the radio button &quot;Show&quot;, to show the PDF maker icon on Content Items while viewing in the Front-end. <span style="FONT-WEIGHT: bold">NOTE: &nbsp;</span>This will not display at all if your media directory is not writable.</p>
+
+<p><strong>Print Icon</strong>:&nbsp; Choose the radio button &quot;Show&quot;, to show the Printer Friendly Version icon on Content Items while viewing in the Front-end.</p><p><strong>Email Icon</strong>:&nbsp; Choose the radio button &quot;Show&quot;, to show the Email Page to Friend icon on Content Items while viewing in the Front-end.<br /><br /><strong>Icons</strong>: Choose the radio button &quot;Show&quot;, when you want the hidden links to Email/Print/PDF to be icons rather than text.</p>
+
+<p><strong>Table of Contents on multi-page items</strong>: Choose the radio button &quot;Show&quot;, to show the Table of Content navigation index boxes&nbsp; for multi-page Content Items. To create page breaks in your Content Item, you must insert a page break Mambot, {<span>mospagebreak</span>} using the editor where ever you want the page breakes to occur. </p>
+
+<p><strong>Back Button</strong>:&nbsp; Choose the radio button &quot;Show&quot;,&nbsp; to allow you to show navigational back buttons on each page to make it easier for users to navigate your site.</p>
+
+<p><strong>Content Item Navigation</strong>: Choose the radio button &quot;Show&quot;, to publish&nbsp; 'Next' and 'Previous' links when viewing Content Items in a category or&nbsp; to change pages within the same article.</p>
+
+<h3>Database Tab</h3>
+
+<p><font color="#cc0000"><strong>Warning</strong></font>&nbsp;&nbsp;These are very important settings. If your Mambo web site has been installed on your behalf do not alter these settings.</p>
+
+<p><span><strong>Hostname</strong>:</span> Type '<span>localhost</span>', as this is the typical Host name</p>
+
+<p><strong>My<span>SQL</span> Username</strong>: Edit, if needed, the <span>username</span> to access your Mambo database.</p>
+
+<p><strong>My<span>SQL</span> Password</strong>:&nbsp; Edit, if needed, the password to access your Mambo database.</p><p><strong>My<span>SQL</span> Database</strong>: Edit, if needed, the name of the database your Mambo installation uses.</p>
+
+<p><strong>My<span>SQL</span> Database Prefix</strong>: Edit, if needed, the prefix used for records in your Mambo database. Typically �mos_&quot; by default. <strong>Very Important!</strong> DO NOT CHANGE UNLESS YOU HAVE A DATABASE BUILT USING TABLES WITH THE PREFIX YOU ARE SETTING!!</p>
+
+<h3>Server Tab</h3>
+
+<p>The following three items are predefined during the installation and are not configurable through this tab. The only way to change them is by manually editing the configuration.php file.</p>
+
+<p><strong>Absolute Path</strong>:&nbsp;This is the directory information used by Mambo on the server that orientates it to it's surrounding system.</p>
+
+<p><strong>Live Site</strong>:&nbsp;This is the absolute URL (web address) for your installation of Mambo. Typical value is http://www.mysite.com. <strong>Please note</strong> that the 'www.', should be there, otherwise&nbsp;you may face problems with editors. Typical Mambos, installed using cPanel, miss the 'www.', so you have to add it, by manually editing the configuration.php file.</p><p><strong>Secret Word</strong>: This is the unique word for every Mambo installation. It is used for security functions.</p>
+
+<p><strong><span>GZIP</span> Page Compression</strong>: Choose the radio button &quot;Yes&quot;, to allow your web server to send compressed data, if supported by the server, to the client web browser. This could significantly decrease the load time of your site for your visitors.</p>
+
+<p><strong>Login Session Lifetime</strong>: Type the number of seconds the Administration session should be allowed to stay live before automatic logout occurs. After automatic logout, the Administrator will be required to login again using the correct <span>username</span> and password.&nbsp; <br /><br /><span style="FONT-WEIGHT: bold">Warning: </span>If you are editing a Content Item, but have not saved your work, within the number of seconds choosen,&nbsp; you will be logged out automatically .&nbsp; <br /></p>
+
+<p><strong>Error Reporting</strong>:&nbsp;If this option is enabled under the Site tab, then using the drop down box, select the level or reporting required. Options are System Default, None, Simple and Maximum.</p>
+
+<ul><li>System Default - &nbsp;This turns Error reporting to the system default according to php.<span>ini</span> on the server.</li><li>None -&nbsp;This turns off error reporting.</li><li>Simple - &nbsp;This turns error reporting to simple options using the following options: error_reporting (E_ERROR|E_WARNING|E_PARSE)</li><li>&nbsp;Maximum - &nbsp;This turns error reporting to the Maximum level using the <span>following options</span>: error_reporting (E_ALL) <br /></li></ul>
+
+<p><strong>Register Globals</strong>: This option allows you to turn register_globals emulation on or off. The tooltip indicates the current php.ini register_globals setting for your domain. Please be advised that the recommended setting is <b>Off</b> but this may cause some 3rd party components to stop working correctly. 
+If you are experiencing problems with undefined variables within some components or modules, try setting this option to <b>On</b>.
+
+<p><strong>File Creation</strong>: By default, files created by the installation of components, modules and <span>mambots</span> inherit the server default permissions. By choosing &quot;CHMOD new files&quot;, you can over-ride the server <span>permissions</span>.
+<br /><br /><strong>Directory Creation</strong>: As with files, new directories will by default inherit the server default permissions. Choose &quot;CHMOD new directories&quot; to over- ride the server permissions.</p>
+
+<h3><span>Metadata</span> Tab</h3>
+
+<p>These settings, affect the way search engines view your site.</p>
+
+<p><strong>Global Site Meta Description</strong>:&nbsp;Type a description of your web site used to assist Search Engines. You may want to limit your description to maybe twenty words or so, depending on the Search Engine you are targeting. Make it concise and pertinent to your site's contents. You can include some of your keywords and key phrases here too. As some search engines read more than 20 words you can add one or two sentences. Make sure that the most important part of your description is in the first 20 words. </p>
+
+<p><strong>Global Site Meta Keywords</strong>: The optimal number of characters for a keyword description is said to be between 300 and 500. Do not repeat words too often and either separate your keywords with a comma or a space, or group two or three words together. 'Mambo Open Source' would be an example of this. <br /><br /><strong>Show Title Meta Tag</strong>: Shows the Title meta tag in the source code when viewing content.<br /><br /><strong>Show Author Meta Tag</strong>: Shows the Authors meta tag in the source code when viewing content.</p>
+
+<p><span style="FONT-WEIGHT: bold">NOTE: </span>The Description and Keyword Meta tags will have a bearing on how Search Engines will index your site. Some Search Engines completely ignore <span>Metadata</span> altogether. You should do some research on Search Engine Optimization if high rankings and Search Engine traffic are important to you.</p>
+
+<h3>Mail Tab</h3><p><strong>Mailer</strong>: Choose which mailer you wish to use: PHP mail function, <span>Sendmail</span> or SMTP Server.</p>
+
+<p><strong>Mail From</strong>: Choose which email address will show as the sender.</p>
+
+<p><strong>From Name</strong>: Choose what name will show as the sender.</p>
+
+<p><strong>Sendmail Path</strong>: This is the directory of the Mail server. Under Linux installations is normally /usr/sbin/sendmail. Not applicable on Windows installations.</p>
+
+<p>If you have chosen the SMTP Server as the Mailer, then you have to set the following settings. Ignore otherwise.&nbsp;</p>
+
+<p><strong>SMTP </strong><span><strong>Auth</strong>:</span> Choose &quot;Yes&quot; if SMTP Authentication is required by your host.</p><p><strong>SMTP User</strong>: If authentication is required and set above, type your <span>username</span>.</p>
+
+<p><strong>SMTP Pass</strong>:&nbsp;If authentication is required and set above, type your password.</p>
+
+<p><strong>SMTP Host</strong>: This is usually set as <span>localhost</span>, but you may need to check this with your host.</p>
+
+<h3>Cache Tab</h3>
+
+<p><strong>Caching</strong>: Choose &quot;Yes&quot; to allow for caching of certain elements within Mambo. This will generally improve the performance of your site.</p>
+
+<p><strong>Cache Folder</strong>:&nbsp;This is the folder or directory to store the cache files. This must be writable for this caching to be successfully implemented. Contact your Web Master if you have any difficulties.</p>
+
+<p><strong>Cache Time</strong>: Edit the maximum length of time, in seconds, for a cache file to be stored before it is refreshed.</p>
+
+<h3>Statistics Tab</h3>
+
+<p><strong>Statistics</strong>: Choose 'Yes', to allow the browser and visitor domain statistics to be collected on the basis of settings in&nbsp; the Content Tab. You can then access the statistics, from&nbsp;Site -&gt; Statistics.&nbsp;If this is set to 'No', the browser and visitor statistics will not be collected. If your site experiences a slight 'delay' the first time a user visits the site you should set this to 'No'.</p>
+
+<p><strong>Log Content Hits by Date</strong>: Choose &quot;Yes&quot; to enable logging of the hits on Content Items, on a daily basis. There are currently no in-built analysis routines, to complement this logging feature. <br /><span style="FONT-WEIGHT: bold">Warning: T</span>his will tend to collect masses of data over time. Be sure that your server space has the space to to store this information.&nbsp; </p>
+
+<p><strong>Log Search Strings</strong>: Choose &quot;Yes&quot; to enable logging of the search text, entered by a user. Such logging facilitates the 'tuning' of your web site, giving you an insight into how your visitors are trying to find the information they seek. Analysis reporting is provided under Site-&gt;Statistics-&gt;Search Text.</p>
+
+<h3><span>SEO</span> Tab</h3>
+
+<p><strong>Search Engine Friendly <span>URLs</span></strong>:&nbsp; This changes the way site links are presented and <span>optimises</span> them so that search engines can access more of your site. This option is ONLY available to sites hosted on Apache servers.&nbsp; Choose 'Yes' to enable Mambo to output friendly <span>URLs</span> rather than normal database generated <span>URLs</span>. If you use this option you must rename your <span>htaccess</span>.<span>txt</span> <span>file</span> to .<span>htaccess</span>.</p>
+
+<p><strong>Dynamic Page Titles</strong>: Choose &quot;Yes&quot; to set the page titles (that appear at the top of a viewers browser) to be the same as the page title they are viewing. Again this helps search engines.</p>
+
+<p><span style="FONT-WEIGHT: bold">NOTE: &nbsp;</span><strong>You must 'Save' your changes once you have finished, using the 'Save' icon in the tool bar.</strong></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.contactmanager.edit.html 4.5.4/help/454.screen.contactmanager.edit.html
--- 4.5.2.3/help/454.screen.contactmanager.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.contactmanager.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Contact Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Contact Manager : New / Edit</h1>
+<p>This page lets you create or edit contacts on your site.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar</span></h3><p><strong>Save</strong>: Click this icon to 'Save' your new or edited Contact Details.<br /><br /><strong>Cancel</strong>: Click this icon to exit the screen without saving. This takes you back to Contact Manager. The contact remains checked-in.</p><h3><span style="FONT-WEIGHT: bold">Contact Details</span></h3><p><strong>Any field left blank is not displayed. <br />Any field filled out will be included into the downloadable vCard for this Contact.</strong><br /><br /><strong>Category</strong>: Drop-down select of all published Contact categories<br /><br /><strong>Linked to User</strong>: Drop-down select of all registered users of the web site. Can be set to &quot; - No User - &quot; for independent setup of a site contact.<br /><br /><strong>Name</strong>: Type here the name of the contact as it will display on the site. Can be either a person's name, or a departement, a product, or whatever you wish.<br /><br /><strong>Contact's Position</strong>: Best used with a Name, as the title is displayed if this field is used. Example would be &quot;CEO&quot;.<br /><br /><strong>E-mail</strong>: E-mail adress for this Contact.<br /><br />The following 5 fields can be used to provide geographical access information if desired.<br /></p><ul style="MARGIN-LEFT: 40px"><li>Street Address </li><li>Town/Suburb&nbsp;</li><li>State/County</li><li>Country&nbsp;</li><li>Postal Code/ZIP </li></ul><br />The following two fields can be used to provide Phone and Fax Contact information if desired.<br /><ul style="MARGIN-LEFT: 40px"><li>Telephone &nbsp;</li><li>Fax</li></ul><p><strong>Miscellaneous Info</strong>:&nbsp; Type here any other information you wish to provide about this Contact.</p><h3><span style="FONT-WEIGHT: bold">Publishing Tab</span></h3><p><strong>Site Default</strong>: Select Yes or No to make this Contact the default for your site.<br /><br /><strong>Published</strong>: Select Yes or No to show this Contact to your visitors.<br /><br /><strong>Ordering</strong>: Contact needs to be saved first to display a drop-down select here to order this Contact in the list of published Contacts for the site. Select the Contact after which you wish to display the current Contact.<br /><br /><strong>Access</strong>: Who can view this Contact on the frontend if published. Public, Registered or Special</p><h3><span style="FONT-WEIGHT: bold">Images Tab</span></h3><p>You may select here an image (from folder images/stories) to display next to this Contact, or select &quot;- Select Image -&quot; to not display any image.<br /><br />If an image is chosen, it will show in the Preview block.</p><h3><span style="FONT-WEIGHT: bold">ParametersTab</span></h3><p>Here are various settings for what is displayed when the user clicks to view a Contact item.<br /><br /><strong>Menu Image</strong>: Allows you to set an image that would appear to the left or right of the menu item. The image must be placed in the /images/stories directory.<br /><strong>Note</strong>: This field is useless in 4.5.2.1 as this page does not concern a Menu Item. <br /><br /><strong>Page Class Suffix</strong>: Allows you to set customized styles for this page. The suffix you type here is automatically added to the CSS classes for this page.<br /><br /><strong>Print Icon</strong>: Hides or shows the icon and link to the printer-friendly format of items. The pull down lets select 'Use Global' to use the parameter as defined globally through the Site-&gt;Global Configuration, 'Hide' or 'Show'.<br /><br /><strong>Back Button</strong>: Controls whether to show or hide a &quot;Back&quot; text link that would appear on the bottom of the page and return the user to the previously viewed page. The pull down lets select 'Use Global' to use the parameter as defined globally through the Site-&gt;Global Configuration, 'Hide' or 'Show'.<br /><br />The following 12 fields defined above may be hidden or shown by checking the radio buttons:<br /></p><ul style="MARGIN-LEFT: 40px"><li>Name</li><li>Position</li><li>E-mail<br /></li><li>Street Address </li><li>Town/Suburb&nbsp;</li><li>State/County</li><li>Country&nbsp;</li><li>Postal Code/ZIP</li><li>Telephone</li><li>Fax</li><li>Misc. Info</li><li>Image</li></ul><p><strong>E-mail description</strong>: Show/Hide the description text below.<br /><br /><strong>Description text</strong>: Type here the description text for the Email form. If left blank, it will use the _EMAIL_DESCRIPTION language definition.<br /><br /><strong>E-mail Form</strong>: Show/Hide the e-mail to form.<br /><br /><strong>E-mail copy</strong>: Show/Hide the checkbox to e-mail a copy to the sender's adress.<br /><br /><strong>Drop-down</strong>: Hide or Show the drop-down select list when in full view. Whatever the contact link accessed, this will let the user choose another contact to display.<br /><br /><strong>Icons/Text</strong>: This lets you decide if the fields listed below should be introduced by an icon, the default text for the fields in the Contact Details or nothing.<br /><br />You may choose, if decided so above, a specific icon to introduce the following fields:<br /></p><ul style="MARGIN-LEFT: 40px"><li>Address</li><li>E-mail</li><li>Telephone</li><li>Fax</li><li>Misc Info</li></ul>If you choose a custom image, this image should be uploaded to the&nbsp; images/stories directory in the Media Manager<br />
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.contactmanager.html 4.5.4/help/454.screen.contactmanager.html
--- 4.5.2.3/help/454.screen.contactmanager.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.contactmanager.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Contact Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Contact Manager</h1>
+<p><span>The Contact Manager allows you to manage a list of contacts for your site. This allows visitors to find contact information for different people or departments. <br /><br />
+The list may be filtered by name and/or category.</span></p>
+<h3><span><span style="FONT-WEIGHT: bold">Toolbar Icons</span></span></h3><p><span>You &quot;select&quot; contacts by clicking the checkbox at the start of each row.</span><br /><span><br /><strong>Publish and Unpublish</strong>: Click the 'Publish' or 'Unpublish' icon to publish or unpublish any number of selected Contacts.</span><br /><br /><span><strong>New</strong>: Click the 'New' icon to create a new Contact.</span><br /><br /><span><strong>Edit</strong>: Click the 'Edit' icon to edit the Contact.</span><br /><br /><span><strong>Delete</strong>: Click the 'Delete' icon to delete the contact from the database.</span></p><h3><span><span style="FONT-WEIGHT: bold">Columns</span></span></h3><p><span><strong>Name</strong>: This is the name of the contact, this can be a person, department or whatever you wish. This is what shows up on the Frontend of the site. You can click the name to edit that contact. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit, You will not be able to edit an item if it is checked-out by another user. It must be checked-in by an administrator by going to Systems in the Menu bar--&gt;Global Checkin. It can also be checked-in by the User who has checked the item out by clicking the 'Edit' icon of the Contact item and then clicking the 'Save' or 'Close' icon in the New/Edit page.</span><br /><span></span><br /><span><strong>Published</strong>: Click on the icon to toggle Publish/Unpublish to decide whether&nbsp; the contact will be available or not on your site.</span><br /><br /><span><strong>Reorder</strong>: Click the icons to move the record up or down in the list. The order is used in both the contact manager and on the contact page the Visitor will see.</span><br /><br /><span><strong>Category</strong>: You can assign contacts to different categories. This column displays which category the contact belongs too. Click to edit the Category.</span><br /><br /><span><strong>Linked to User</strong>: If the contact is linked to a registered user of the site, the users name will appear here. Click to edit user.<br /></span></p><br />
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.content.archive.html 4.5.4/help/454.screen.content.archive.html
--- 4.5.2.3/help/454.screen.content.archive.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.content.archive.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Archive Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Archive Manager</h1>
+<p>This page shows a list of all archived Content Items.<br /><br />
+You may filter the display by Section, Category and/or Author</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p>You &quot;select&quot; items by clicking the checkbox at the start of each row.<br /><br /><strong>Unarchive</strong>: return the Item to its original location.<br /><br /><strong>Trash</strong>: Click the 'Trash' icon to put Content items in the trash bin. They are not completely removed but can't be displayed on your site. You can restore this Content Items by the Trash Manager.</p><h3><span style="FONT-WEIGHT: bold">Columns</span></h3><p><strong>Title</strong>: This is the title of the Content Item.<br /><br /><strong>Order</strong>: This shows the order of the Content Items (the &quot;Default&quot; &quot;Primary Order&quot; parameter editable through the specific Archive Menu Item). Click the arrow icons to move the item up or down in the list.<br /><br /><strong>Category</strong>: This id the Category the Item belongs to. Click to edit the Category.<br /><br /><strong>Author</strong>: THis is the name of the Author of this content. Click to edit Author.<br /><br /><strong>Date</strong>: This is the date the Item was created.<br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.content.edit.html 4.5.4/help/454.screen.content.edit.html
--- 4.5.2.3/help/454.screen.content.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.content.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Content Items : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Content Items : New / Edit</h1>
+<p>This page allows to create or edit a Content Item. On the left side there are the two editors where you can add content for the intro and main text areas. On the right are the parameteres tabs. You can hide/unhide the parameteres tabs, by clicking the 'Hide/Unhide Advanced Details' link.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>Preview</strong>: Opens a new window to preview the content as you would in the Frontend of your site.<br /><br /><strong>Upload</strong>: Opens a new window which lets you upload a file or an image from your computer to the images/stories folder.<br /><br /><strong>Save</strong>: Saves the content and returns to Manager.<br /><br /><strong>Apply</strong>: Saves the content and keep the content displayed to edit.<br /><br /><strong>Close</strong>: Cancels the action. Any modification is lost. If opened to edit, the Content Item remains checked-in.</p><h3><span style="FONT-WEIGHT: bold">Item Details</span></h3><p><strong>Title</strong>: Type here is the title of the content. This is the title as it will appear on the page or table listing this content.<br /><br /><strong>Title</strong> Alias: This field is not used by core.&nbsp; SEF scripts and dynamic title/meta scripts use it and it may have a future use.<br /><br /><strong>Section</strong>: Choose here the Section you want the item to belong to.<br /><br /><strong>Category</strong>: Choose here the category you want the item to belong to. The dropdown list will display the available Categories for the Secton chosen above.<br /><br /><strong>Intro Text (required)</strong>: Type here the introductory portion of the content. <strong>This is the part displayed in Blog Lists</strong> for both Categories and Sections. It can also be configured to be hidden when you view the content.<br /><br /><strong>Main Text (optional)</strong>: This is the body of your content. It is only shown when viewing that content in full view, and is not shown in Blog Lists.&nbsp; </p><h3><span style="FONT-WEIGHT: bold">Content Mambots</span></h3><p>Content Mambots are special tags you place in your content that Mambo parses to perform a particular action or function. These Mambots will be available (if published) even if you choose NO WYSIWYG editor in the Global Configuration. They may be published or edited through the Mambot Manager (Mambots-&gt;Site Mambots, Filter set to content).<br /><br />The two default Mambots specifically used when editing content are: <br /></p><ul style="MARGIN-LEFT: 40px"><li><strong>{ mosimage } (mosimage Mambot)</strong>: Used to tell Mambo where to place graphics in your content.</li><li><strong>{ mospagebreak } (mospaging Mambo)</strong>: Instructs Mambo to create a page break in your content. You can break your content into several pages if you like. If you do, a table of content will display to let you navigate between the different pages created.</li></ul><p><br />Buttons to insert these codes may be published or not through (Mambots-&gt;Site Mambots, Filter set to editor.xtd). You may also manually type them into your content. Remember that in order for your images to show in the content, you must insert the {mosimage} code snippet where you would like your image to be placed in your content. <br /><br /><strong>NOTE</strong>: The images in the Intro Text can be hidden for Blog Lists. This is a configurable setting for these Menu Items. Also, this is a global setting that will affect your entire web site as a default in Global Configurations. If you are having trouble getting images to display within the Intro Text and the problem keeps cropping up in Blog Lists, then make sure that the Parameters for MOSImages is set to Show for that menu entry.</p><h3><span style="FONT-WEIGHT: bold">Formatting content</span></h3><p>The formatting options interface depend on the Editor you are using.<br />Many editors are available as Open Source (through MamboForge) or commercial products.<br /><br />Mambo comes with 2 default editors:<br /></p><ul style="MARGIN-LEFT: 40px"><li><strong>NO WYSIWYG</strong>: This editor lets you enter text and/or HTML code directly.</li><li><strong>TinyMCE</strong>: This editor lets edit in WYSIWYG or HTML mode (See specific Help).</li></ul><p><strong>NOTE</strong>: It is advised to publish only one editor at a time in Mambot Manager and to save also that choice in Global Configuration.</p><h3>Parameters Tabs</h3><p><span style="FONT-WEIGHT: bold">The Attributes Area for content consists of five tabs: </span><br />Publishing, Images, Parameters, Meta Info and Link to Menu.<br /><br /><span style="FONT-WEIGHT: bold">Publishing</span><br /><span style="FONT-STYLE: italic">Publishing Info</span><br /><br /><strong>Show on Frontpage</strong>: Check the box if you want this content to be assigned to the FrontPage Component.<br /><br /><strong>Published</strong>: Check the box to let the item show on your site.<br /><br /><strong>Access Level</strong>: Choose who will be able to view this content. Public, registered or special.<br /><br /><strong>Author Alias</strong>: You can publish the author's name for a piece of content. You can choose a Registered user as displayed through the dropdown or type any name there (an author that does not have an account or content created by many authors as a group).<br /><br /><strong>Change Creator</strong>: This allows you to assign ownership of this content to another registered user.<br /><br /><strong>Ordering</strong>: Select the order in which this content is listed relative to others in this Category. The choices available in the dropdown will show once changes to the item are saved or applied.<br /><br /><strong>Override Created Date</strong>: This shows the created date for the content. You can change the date if necessary.<br /><br /><strong>Start Publishing</strong>: Select the date when this document is to be published on the web site.<br /><br /><strong>Finish Publishing</strong>: If desired, you can set the date when your content is to be expired.<br /><br /><strong>Content ID</strong>: This is the ID of the content in the database.<br /><br /><strong>State</strong>: This shows the current state of the document. It is not editable.<br /><br /><strong>Hits</strong>: This gives the number of times this content was viewed. The Reset Hits Value button allows you to reset the counter to zero.<br /><br /><strong>Revised</strong>: This shows the number of edits this content has undergone.<br /><br /><strong>Created</strong>: This is the date this content item was created.<br /><br /><strong>By</strong>: This is the name of the user that created the content item.<br /><br /><strong>Last Modified</strong>: This is the date when this content item was last modified, if ever.<br /><br /><strong>By</strong>: This is the name of the user that last modified this content, if ever. <br /><br /><br /><span style="FONT-WEIGHT: bold">Images</span><br /><span style="FONT-STYLE: italic">MOSImage Control</span><br /><br /><strong>Sub-folder</strong>: Choose here the sub-folder you want to get the images from. These are in images/stories/.<br /><br /><strong>Gallery Images</strong>: This dropdown lists the images available in the specific sub-folder. <br />Highlight one or multiple image name(s) and click on the 'Add' button.<br />The name(s) will display in the Content Images dropdown.<br /><br /><strong>Content Images</strong>: The 'up' and 'down' buttons determine the order of images if there are more than one on this page. The images will display relative to the instances of {mosimage} tags in your content.<br /><br /><strong>Edit the image selected</strong></p><p>Select an image in 'Content Images'.<br /><strong>Source</strong>: Displays the default name of the image highlighted. You may edit that name.<br /><strong>Image Align</strong>: Lets you choose between None, center, left or right.<br /><strong>Alt Text</strong>: Lets you choose an Alt Text for the image.<br /><strong>Border</strong>: Type here the number of pixels you want the border to be around the image.<br /><strong>Caption</strong>: Type here a caption for the image.<br /><strong>Caption Align</strong>: Lets you choose between None, center, left or right.<br /><strong>Width</strong>: Type here a number in pixels to override the width of the image<br /><strong>Apply</strong>: Click on this button to apply all the parameters defined for this image<br /><br /><span style="FONT-WEIGHT: bold">Parameters</span><br /><span style="FONT-STYLE: italic">Parameter Control<br /><br /></span>These parameters control what you see when you view a Content Item in full view.<br /><br /><strong>Page Class Suffix</strong>: Allows you to set customized styles for this page. The suffix you type here is automatically added to the CSS classes for this page, and will have to be defined in your template's CSS stylesheet for usage.<br /><br /><strong>Back Button</strong>: Controls whether to show or hide a &quot;Back&quot; text link that would appear on the bottom of the page and return the user to the previously viewed page. The pull down lets select 'Use Global' to use the parameter as defined globally through the Site-&gt;Global Configuration, 'Hide' or 'Show'.<br /><br /><strong>Page Title</strong>: Text to display at the top of the page.<br /><br /><strong>Show/Hide Page Title</strong>: Hides or shows the Page Title text (defined in the field described above).<br /><br /><strong>Section Name</strong>: Hides or shows the name of the section to which each item belongs. If this option is turned on, each item's section name will be shown under the item's title on the home page.<br /><br /><strong>Section Name Linkable</strong>: Enables you to make each item's section name linkable. Applies only when the Section Name option (described above) is set to 'Show.'<br /><br /><strong>Category Name</strong>: Hides or shows the name of the category to which each item belongs. If this option is turned on, each item's category name will be shown under the item's title on the home page.<br /><br /><strong>Category Name Linkable</strong>: Enables you to make each item's category name linkable. Applies only when the Category Name option (described above) is set to 'Show.'<br /><br />For each of the following eight items listed below, you can use the option selected in the Global Configuration settings (Site -&gt; Global Configuration) by selecting 'Use Global' or you can override the Global Configuration setting by selecting 'Show' or 'Hide.' Overriding the settings here for items will not affect the Global Configuration settings and will not affect the settings on the rest of the site.<br /><br /><strong>Linked Titles</strong>: Enables you to make item titles linked. The link will go to the item page.<br /><br /><strong>Item Rating</strong>: Hides or shows ratings given to home page items by your site's users.<br /><br /><strong>Author Names</strong>: Hides or shows the names of authors of items.<br /><br /><strong>Created Date and Time</strong>: Hides or shows the date and time that items were created.<br /><br /><strong>Modified Date and Time</strong>: Hides or shows the date and time that items were last modified.<br /><br /><strong>PDF Icon</strong>: Hides or shows the icon and link to the PDF version of items.<br /><br /><strong>Print Icon</strong>: Hides or shows the icon and link to the printer-friendly format of items.<br /><br /><strong>Email Icon</strong>: Hides or shows the icon and link to the page that enables users to email items to others.<br /><br /><strong>Key Reference</strong>: A text key that the item may be referenced by (like a help reference).<br /><br /><strong>Docbook Type</strong>: Experimental, do not use in production work. Associates a type of DocBook document to this item.<br /><br /><span style="FONT-WEIGHT: bold">Meta Info</span><br /><span style="FONT-STYLE: italic">Meta Data</span><br /><br /><strong>Description</strong>: This information is inserted in the headers of your content. It is commonly used by search engines.<br /><br /><strong>Keywords</strong>: These keywords are related to the header information provided for search engines, but they also provide another important function. These keywords drive the What's Related Module that provides automatic links to other content items that shares a similar keyword. <br /><br /><strong>Add Sect/Cat/Title</strong>:&nbsp; Clicking on this button is a convenient way to insert the content's information into the keywords field, including the content's title, section name, and category name. <br /><br /><span style="FONT-WEIGHT: bold">Link to Menu<br /><br /></span>This will create a 'Link - Content Item' in the menu you select.<br /><br /><strong>Select a Menu</strong>: Highlight here once the menus defined for your site.<br /><br /><strong>Menu Item Name</strong>: The name of the Menu as it will appear on your site.<br /><br /><strong>Link to Menu</strong>: Click on this button to create the Menu Item.<br /><br /><br /><span style="FONT-WEIGHT: bold">Existing Menu Items<br /><br /></span>This displays a list of all 'Link - Content Item' Menu Items referencing this content.<br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.content.html 4.5.4/help/454.screen.content.html
--- 4.5.2.3/help/454.screen.content.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.content.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Content Items Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Content Items Manager</h1>
+<p align="left">The Content Items Manager&nbsp;shows a list of the Content items on your site for a particular Content Section <span style="COLOR: rgb(255,0,0)"><span style="COLOR: rgb(0,0,0)">or for All Content Items Manager.</span></span></p>
+You may enter text in the &quot;<strong>Filter</strong>&quot; box to refine the list based on whether the text is found in the title of any item. Type in any text and press Enter. Using the Select Section, Select Category, Select Author combo boxes, you can limit the list. You can use all filter utility at once and in combination.</p><h3 align="left"><span style="FONT-WEIGHT: bold">Toolbar</span></h3><p align="left">You &quot;<strong>select</strong>&quot; items by clicking the checkbox at the start of each row.<br />&nbsp;<br /><strong>New</strong>: Click the 'New' icon to create a new Content item.<br />&nbsp;<br /><strong>Edit</strong>: Click the 'Edit' icon to edit the Content item.<br /><br /><strong>Publish and Unpublish</strong>: Click the 'Publish' or 'Unpublish' icon to publish or unpublish any number of selected Content items.<br />&nbsp;<br /><strong>Move</strong>: Click the 'Move' icon to move Content items to another Content Section or Category.<br />&nbsp;<br /><strong>Copy</strong>: Click the 'Copy' icon to copy Content items into a Content Section or Content Category.<br />&nbsp;<br /><strong>Archive</strong>: Click the 'Archive' icon to put Content items into an archived state. They are still accessible to the Frontend of your site if in published mode.<br />&nbsp;<br /><strong>Trash</strong>: Click the 'Trash' icon to put Content items in the trash bin. They are not completely removed but can't be displayed on your site. You can restore this Content items in the Trash Manager.</p><h3 align="left"><span style="FONT-WEIGHT: bold">Columns</span></h3><p align="left"><strong>Title</strong>: This is the title of the Content item. Click here to edit content. <span style="COLOR: rgb(51,51,51)">A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit. Then you have to Save or Close the item.</span><br /><br /><strong>Published</strong>: This shows whether the item is published. Hover over this icon to see a summary of the publishing information. Click to change state.<br /><br /><strong>Frontpage</strong>: This is whether this item is to be published or is published through the FrontPage Component.<br /><br /><strong>Reorder</strong>: This shows the order of Menu Items in the menu. Click the arrow icons to move the item up or down in the list.<br /><br /><strong>Order</strong>: Shows the order of Menu Items in the menu. You may change it by editing 2 # conjointly and clicking on the <strong>"Save Order" icon</strong> in the heading. <br /><br /><strong>Access</strong>: This is the user access level for the content item. Click on the Access level to switch it to another value.<br /><br /><strong>Section</strong>: This is the Section that the Content item belongs to (this shows when 'All Content Items' page is open). Click to edit the Section page.<br /><br /><strong>Category</strong>: This is the Category that the Content Item belongs to. Click to edit the category page.<br />&nbsp;<br /><strong>Author</strong>: This shows the name of the author of the Content. Click to edit the author information. </p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.cpanel.html 4.5.4/help/454.screen.cpanel.html
--- 4.5.2.3/help/454.screen.cpanel.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.cpanel.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Control Panel</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Control Panel</h1>
+<p align="left">The control panel is the first page you see when you log into the Administrators area. You can return to it by clicking Home menu item in the top menu bar.&nbsp; From the Control Panel are 9 shortcut icons to easy access the frequently used parts of the Administrator site.<br /><br />
+<b>Menu Manager</b> - Click this shortcut icon access the Menu Manager.&nbsp; You will be able&nbsp; to&nbsp; edit any of your menus.&nbsp; <br /><br />
+<b>Front Page Manager</b> -&nbsp; Click this shortcut icon to access the Front Page Manager.&nbsp; You will be able to edit which Content items appear on your Frontpage.</p>
+<p><b>Static Content Manager</b> - Click&nbsp; the shortcut icon to access the Static Content Manager.&nbsp; You will be able to edit these type of&nbsp; items.</p>
+<p><b>Section Manager</b> - Click the shortcut icon to access the Section Manager.&nbsp; You will be able to edit your Sections.</p>
+<p><b>Category Manager</b> -Click the shortcut icon to access the Category Manager. You will be able to edit your Categories.</p>
+<p><b>All Content Items</b> - Click the shortcut icon to access the All Content Items.&nbsp; All Content Items&nbsp; lists all of your Content Items.&nbsp; You will be able to edit any of your Content Items.</p>
+<p><b>Trash Manager</b> - Click this shortcut icon access the Trash manager.&nbsp; You will be able to delete permanently or to restore any items in the Trash Manager.</p>
+<p><b>Global Configuration</b> - Click this shortcut icon to access Global configuration.&nbsp; You will be able to edit any of your Web site configurations.</p>
+<p><b>Help</b> - Click this shortcut icon to view the Index of any of the Help Screens.</p><p><br />On the right side of the screen there are four tabs:<br />
+<br /><b>Logged</b> - Displays a list of users currently logged on (both in admin and the frontend). Click on a users name to go to the User Edit page for that user.<br /></p>
+<p><b>Components</b> - Click on this shortcut tab to access any of the components and component links that you wish to edit.<br /></p>
+<p><b>Popular</b> - Click on this shortcut tab to access the screen which lists in order, the most popular Content items on your site.&nbsp; This includes the date the Content item was created and the number of&nbsp; hits. Click the Content Item name to edit that item.<br /></p>
+<p><b>Latest Content</b> - Click on this shortcut tab to access the screen which lists the most recently added Content items.&nbsp; This includes the creation date and the author. Click the Content item name to edit that item.</p>
+<p><b>Menu Stats</b> - Click on this shortcut tab to access the screen which lists all menus and the number of item links in each menu.&nbsp; The number of links is the total created, not the total published. Click the name of a menu to access the screen which lists the items for that menu.</p>
+<br />
+
+</body>
+
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.frontpage.html 4.5.4/help/454.screen.frontpage.html
--- 4.5.2.3/help/454.screen.frontpage.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.frontpage.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Frontpage Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Frontpage Manager</h1>
+<p>This page shows a list of the Content items assigned to the FrontPage Component.
+</p>
+<h3>Toolbar Icons</h3><p>You may enter text in the &quot;Filter&quot; box to refine the list based on whether the text is found in the title of any Content item. Type in any text and press Enter. You may also filter per category and/or section.<br />&nbsp;<br />You &quot;Select&quot; Content items by clicking the checkbox at the start of each row.<br />&nbsp;<br /><strong>Publish and Unpublish</strong>: Click the 'Publish' or 'Unpublish' icons to publish or unpublish the selected Content items on the Frontpage.<br />&nbsp;<br /><strong>Archive</strong>: Click the 'Archive' icon to put the Content items into an archived state. They are still accessible to your Frontpage.<br />&nbsp;<br /><strong>Remove</strong>: Click the 'Remove' icon to remove Content Items from the Frontpage Component.</p><h3><span style="FONT-WEIGHT: bold">Columns</span></h3><p><strong>Title</strong>: This is the title of the Content item. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit. You will not be able to edit a Content item if it is checked out by another user. <br /><br />It must be checked back by an administrator. The administrator navigates to the menu item Systems-&gt;Global Checkin in the Menu bar. It can also be checked back in by the User who has checked the item out by clicking the 'Edit' icon of the Content item and then clicking either the 'Save' or 'Cancel' icon.<br />&nbsp;<br /><strong>Published</strong>: This shows whether the Content item is published. Hover over this icon to see a summary of the publishing information.</p><p><strong>Reorder</strong>: This shows the order of Items in the list. Click the arrow icons to move the item up or down.<br /><br /><strong>Order</strong>: Shows the order of items in the list. You may change it by editing 2 # conjointly and clicking on the "Save Order" icon next to the Column Heading "Order".<br />Note: The new ordering has an effect when&nbsp; the FrontPage Component is displayed.</p><p><strong>Access</strong>: This is the user access level. Public, Registered or Special.<br /></p><p><strong>Section</strong>: This is the section the Item belongs to. Click to edit section.<br /></p><p><strong>Category</strong>: This is the category the item belongs to. Click to edit category.<br /></p><p><strong>Author</strong>: This is the name of the author of the content item. Click to edit author.<br /></p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.installer2.html 4.5.4/help/454.screen.installer2.html
--- 4.5.2.3/help/454.screen.installer2.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.installer2.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Install/Uninstall Components, Modules and Mambots</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Install/Uninstall Components, Modules and Mambots</h1>
+
+<p align="right">-- Draft version</p><p /><p>This page will show options for Installing / Uninstalling: <br />A Component<br />A Module<br />A Mambot</p><p /><p>There are two ways to install one of these elements.</p><p /><p>Upload Package File:<br />Providing you have GZip support with PHP, you will be able to upload a zipped package file that will be automatically installed to your server. 'Browse' to the location of the&nbsp;element on your computer. Then click the 'Upload File &amp; Install' icon.</p><p /><p>To install from directory:<br />If you don't have GZip support then you may upload an unpacked archive to your host's server. Type the location of this file (it must be the absolute location) then click the 'Install' icon.</p><p /><p>To uninstall one of these elements:<br />Tick the box&nbsp;next to the Element (or multiple elements) you want to uninstall, then click the 'Delete' top menu icon.<br />A javascript alert will show: «Are you sure you want to delete selected items?<br />Click 'OK'. The page will reload displaying the word 'Success'.</p><p /><p>NOTE: The elements are totally deleted from the database.&nbsp;They cannot be recovered from the Trash Manager. In the case of a module type, ALL its instances/copies -&nbsp;are also totally deleted from the database. </p>
+
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.installer.cmm.html 4.5.4/help/454.screen.installer.cmm.html
--- 4.5.2.3/help/454.screen.installer.cmm.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.installer.cmm.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Install/Uninstall Components, Modules and Mambots</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Install/Uninstall Components, Modules and Mambots</h1>
+
+<p align="right">-- Draft version</p><p /><p>This page will show options for Installing / Uninstalling: <br />A Component<br />A Module<br />A Mambot</p><p /><p>There are two ways to install one of these elements.</p><p /><p>Upload Package File:<br />Providing you have GZip support with PHP, you will be able to upload a zipped package file that will be automatically installed to your server. 'Browse' to the location of the&nbsp;element on your computer. Then click the 'Upload File &amp; Install' icon.</p><p /><p>To install from directory:<br />If you don't have GZip support then you may upload an unpacked archive to your host's server. Type the location of this file (it must be the absolute location) then click the 'Install' icon.</p><p /><p>To uninstall one of these elements:<br />Tick the box&nbsp;next to the Element (or multiple elements) you want to uninstall, then click the 'Delete' top menu icon.<br />A javascript alert will show: «Are you sure you want to delete selected items?<br />Click 'OK'. The page will reload displaying the word 'Success'.</p><p /><p>NOTE: The elements are totally deleted from the database.&nbsp;They cannot be recovered from the Trash Manager. In the case of a module type, ALL its instances/copies -&nbsp;are also totally deleted from the database. </p>
+
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.installer.html 4.5.4/help/454.screen.installer.html
--- 4.5.2.3/help/454.screen.installer.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.installer.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Install/Uninstall a Language File or Template</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Install/Uninstall a Language File or Template</h1>
+
+<p align="right"><br />-- Draft version</p>There are two ways to install a Language file or a Template using the Mambo administration system.<p>To Upload a Language file or Template:<br />Providing you have GZip support with PHP, you will be able to upload a zipped package file that will be automatically installed to your server. &quot;Browse&quot; to the location of the element on your computer. Then click the &quot;Upload File &amp; Install&quot; icon.<br /><br />To Install From a Directory:<br />If you don't have GZip support then you may upload an unpacked archive to your host's server. Type the location of this file (it must be the absolute location) then click the 'Install' icon. <br /><br />To Uninstall:<br />If you want to delete any language go to the menu item Site-&gt; Language Manager-&gt; Site Languages and use the &quot;Delete&quot; icon.&nbsp; <br /><br />If you want to delete any template go to menu item SIte-&gt;Template Manager-&gt; Site Templates or -&gt;Administrator Templates and use the &quot;Delete&quot; icon. </p><p />
+<br />
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.installer.lang.html 4.5.4/help/454.screen.installer.lang.html
--- 4.5.2.3/help/454.screen.installer.lang.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.installer.lang.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Install/Uninstall a Language File or Template</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Install/Uninstall a Language File or Template</h1>
+
+<p align="right"><br />-- Draft version</p>There are two ways to install a Language file or a Template using the Mambo administration system.<p>To Upload a Language file or Template:<br />Providing you have GZip support with PHP, you will be able to upload a zipped package file that will be automatically installed to your server. &quot;Browse&quot; to the location of the element on your computer. Then click the &quot;Upload File &amp; Install&quot; icon.<br /><br />To Install From a Directory:<br />If you don't have GZip support then you may upload an unpacked archive to your host's server. Type the location of this file (it must be the absolute location) then click the 'Install' icon. <br /><br />To Uninstall:<br />If you want to delete any language go to the menu item Site-&gt; Language Manager-&gt; Site Languages and use the &quot;Delete&quot; icon.&nbsp; <br /><br />If you want to delete any template go to menu item SIte-&gt;Template Manager-&gt; Site Templates or -&gt;Administrator Templates and use the &quot;Delete&quot; icon. </p><p />
+<br />
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.languages.html 4.5.4/help/454.screen.languages.html
--- 4.5.2.3/help/454.screen.languages.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.languages.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Language Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Language Manager</h1>
+<p align="left">This page shows a list of the Languages for the core text on the Frontend of your site.</p><h3 align="left">Toolbar</h3><p align="left"><strong>Publish</strong>:&nbsp;To Publish a language, select the radio button next to the name of the language and click the &quot;Publish&quot; icon. </p><p><strong>New</strong>: Click the &quot;New&quot; icon to upload/install a new language to your site. You will be then taken to the Install/Uninstall screen.</p><p><strong>Edit</strong>: Click the name of the category to Edit the details, or select the radio button next to the name and click the &quot;Edit&quot; icon. Here is where you edit the Frontend language file.</p><p><strong>Delete</strong>: To delete a language, select the radio button next to the name and click the &quot;Delete&quot; icon. You will be asked to confirm the delete operation. Select the &quot;Yes&quot; icon to delete the client or the &quot;No&quot; icon to cancel. The language file will be deleted from the server.</p><p><strong>Help</strong>:&nbsp; Click the &quot;Help&quot; icon to view the Help Screen to get explanations of this screen.</p><h3>Columns</h3><p><strong>Language</strong>: This column shows the name of the languages installed.<br />&nbsp;&nbsp;&nbsp;<br /><strong>Published</strong>: This column shows the active language that is published.<br />&nbsp;&nbsp;&nbsp;<br /><strong>Version</strong>: This column shows the version of the language file.<br />&nbsp;&nbsp;&nbsp;<br /><strong>Date</strong>: This column shows the date of the language file.</p><p><strong>Author</strong>: This column shows the author of the language file.<br />&nbsp;&nbsp;&nbsp;<br /><strong>Author Email</strong>: This column shows author's email address, if available.</p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.mambots.edit.html 4.5.4/help/454.screen.mambots.edit.html
--- 4.5.2.3/help/454.screen.mambots.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.mambots.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Mambots: New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Mambots: New / Edit</h1>
+<p><span >The <span style="FONT-WEIGHT: bold">Mambots: New/Edit</span> page lets you edit the Site Mambots.</span><br  /><span >Detailed functions for each default Mambot is provided below.</span></p>
+<h3><span ></span><span style="FONT-WEIGHT: bold; ">Toolbar Icons</span></h3><p><span ><strong>Save</strong>: Click to save the parameters entered and return to the Mambot Manager.</span><br  /><br  /><span ><strong>Apply</strong>: Click to save the parameters entered AND keep the same window open for editing.</span><br  /><br  /><span ><strong>Cancel</strong>: Click to cancel any modification just made and to close the window.&nbsp; Any modification is lost. The Mambot remains checked-in.</span></p><h3><span ></span><span style="FONT-WEIGHT: bold; ">Mambot Details</span></h3><p><span ><strong>Name</strong>: Type the name of the Mambot as it will appear on the Site Mambots listing. This has no impact on your site.</span><br  /><br  /><span ><strong>Folder</strong>: This shows into which category the Mambot is placed.</span><br  /><br  /><span ><strong>Mambot file</strong>: This is the name of the Mambot file as it appears in the folder.</span><br  /><br  /><span ><strong>Mambot Order</strong>: Choose the order of the Mambot as listed in the Folder when filtering by category.</span><br  /><br  /><span ><strong>Access Level</strong>: Choose who will be able to view this content. Public, Registered or Special.</span><br  /><br  /><span ><strong>Published</strong>: Check the box to let the Mambot show on your site or provide the function it is designed to do.</span><br  /><br  /><span ><strong>Description</strong>: This is a short description on the Mambot's function.</span></p><h3><span ></span><span style="FONT-WEIGHT: bold; ">Parameters</span></h3><p><span >If available, they will be displayed here.</span></p><h3><span ></span><span style="FONT-WEIGHT: bold; ">Site Mambots provided in a default installation of Mambo</span></h3><h4><span style="FONT-WEIGHT: bold; "></span><span style="FONT-WEIGHT: bold; ">MOS Image</span></h4><p><span >Usage: </span><span style="FONT-WEIGHT: bold; ">{ mosimage }</span></p><p><span style="FONT-WEIGHT: bold; "></span>This mambot replaces <strong></strong>tag in content with specified images.&nbsp; You can insert as many of these tags as needed in your articles.&nbsp; To do this while creating or editing a content item,&nbsp; select the images on the &quot;Image&quot; tab under &quot;MOSImage Control&quot;.&nbsp; The replacement of the tags will follow the order of the images in the &quot;Content Images&quot; box.<br /><span ><span style="FONT-WEIGHT: bold">NOTE: </span>The tag described above should have no space after&nbsp; &quot;{&quot; and before &quot;}&quot;. It has been displayed with spaces here not to implement the function in this screen.</span></p><h4><span ></span><span style="FONT-WEIGHT: bold; ">GeSHi</span></h4><p><span >This displays formatted code in content items based on the GeSHi highlighting engine.</span></p><p >This is to be considered as an enhanced version of mosCode, allowing the rendering of many different programming languages with color-highlighted code by specifying the to-be-used language.</p><p ><strong>Usage</strong>: Use the &quot;pre&quot; tag and add the programming language you want to use for highlighting purposes as a parameter. Example:</p><p ><span style="FONT-WEIGHT: bold">&lt; pre lang=&quot;xml&quot; &gt;</span>your code here ... <span style="FONT-WEIGHT: bold">&lt; /pre &gt;</span></p><p >The mambot version of the GeSHi highlight code comes with the following highlighters for the most common renders installed, ready&nbsp;to be&nbsp;used:</p><ul ><li>CSS =&gt; use lang=&quot;css&quot;</li><li>Html4 Strict =&gt; use lang=&quot;html4strict&quot;</li><li>JavaScript =&gt; use lang=&quot;javascript&quot;</li><li>PHP =&gt; use lang=&quot;php&quot;</li><li>PHP Brief =&gt; use lang=&quot;php-brief&quot;</li><li>SQL =&gt; use lang=&quot;sql&quot;</li><li>XML =&gt; use lang=&quot;xml&quot;</li></ul><p >Should you need additonal languages, you may download the full package from the developer site: <a href="http://qbnz.com/highlighter/">http://qbnz.com/highlighter/</a>&nbsp;which includes over 30 languages. You should then upload the required &quot;newLanguage.php&quot; from the package into your &quot;<em>\mambots\content\geshi\geshi</em>&quot; folder.</p><p ><strong>NOTE:</strong>&nbsp; As of 4.5.2.1, this bot seems to have an incompatibility with the Email cloaking mambot.</p><h4 ><span style="FONT-WEIGHT: bold; ">Legacy Mambot Includer</span></h4><p ><span >This is support for outdated Mambo 4.5 mambots.<br /></span>This Mambot is unpublished by default; should you experience disfunctions with a particular, older mambot, try to publish it.<span style="FONT-WEIGHT: bold; ">&nbsp;</span></p><h4 ><span style="FONT-WEIGHT: bold; "></span><span style="FONT-WEIGHT: bold; ">Code Support</span></h4><p ><span >This displays formatted code in content items. No syntax highlighting. Code presented in Courier.</span></p><p ><strong>Usage:</strong> <span style="FONT-WEIGHT: bold">{ moscode }... { /moscode }</span></p><p ><span style="FONT-WEIGHT: bold"></span><strong style="FONT-WEIGHT: normal">Example</strong>: <br />{ moscode }&lt;body onload=&quot;winManage(850,700,true);&quot;&gt;&lt;a name=&quot;top&quot;&gt;&lt;/a&gt;&lt;div&gt;&lt;div id=&quot;wrapper&quot;&gt;&lt;/div&gt;&lt;/div&gt;{ /moscode }<br /><span ><span style="FONT-WEIGHT: bold">NOTE:&nbsp; </span>The tag described above should have no space after&nbsp; &quot;{&quot; and before &quot;}&quot;. It has been displayed with spaces here not to implement the function in this screen.</span></p><h4 ><span ></span><span style="FONT-WEIGHT: bold; ">MOS Rating</span></h4><p ><span >This will add the Voting functionality to Content Items.</span></p><p ><strong>NOTE:</strong> For this mambot's output to be visible, you must set &quot;<em>Item Rating/Voting</em>:&quot; to &quot;<em>Show</em>&quot; <br />through Site- &gt; Global Configuration- &gt; Content.<br /><br />Users will then be presented with a rating system from 1 to 5 at the top of a full content item.&nbsp; They will be able to cast their vote (once).</p><h4 ><span style="FONT-WEIGHT: bold; ">Email Cloaking</span></h4><p ><span >This h</span>ides all e-mails in content from spambots using javascript. It does not function for Link - URL Menu Items. By editing the mambot, you may select between 2 settings under Parameters&nbsp; -&gt; Mode:</p><ul ><li><em style="FONT-WEIGHT: bold">Nonlinkable Text</em><span style="FONT-WEIGHT: bold">&nbsp;</span>will display an email typed by the user as simple text (not linked)</li><li><em>As <span style="FONT-WEIGHT: bold">linkable mailto </span>address</em> will display the email address as a link to send an email, using the specified address.</li></ul><p>As of 4.5.2.1 these are the ways the address should be written:<br /></p><div style="MARGIN-LEFT: 40px">1. In plain text: mail@mail.com<br /></div><div style="MARGIN-LEFT: 40px">2. As a mailto: &lt;a href=&quot;mailto:mail@mail.com&quot;&gt;mail@mail.com&lt;/a&gt;<br /></div><p>Otherwise the cloaking prevents the address from being decrypted when calling the mailer.</p><h4><span style="FONT-WEIGHT: bold; ">Load Module Positions</span></h4><p><span >This loads module positions within Content.</span><br  /><span ><strong>Usage:</strong></span><span style="FONT-WEIGHT: bold; "> {mosloadposition user1} </span><span >where 'user1' is one of the positions defined for your site through Site-&gt;Templates-&gt;Modules Positions.</span><br  /><br  /><span >This means <strong>you may load any module assigned to this position at this specific place into your Content</strong> without defining the position into the Template index.php file.</span><br  /><br  /><span >Parameters lets you choose a style of HTML code to insert the module:</span></p><ul style="MARGIN-LEFT: 40px; "><li>Wrapped by Table - Column</li><li>Wrapped by Table - Horizontal</li><li>Wrapped by Divs</li><li>No wrapping, raw output</li></ul><h4><span style="FONT-WEIGHT: bold; ">MOS Pagination</span></h4><p><span >This will&nbsp;add a Table of Contents functionality to a paginated item.</span><br  /><span ><strong>Usage: { mospagebreak } or { mospagebreak title=The page title } or { mospagebreak heading=The first page } or { mospagebreak title=The page title&amp;heading=The first page } or { mospagebreak heading=The first page&amp;title=The page title }<br /></strong><br  /></span><span >A new 'contenttoc' CSS class is used to display this Table of Contents.<br /><br  /></span><span ><span style="FONT-WEIGHT: bold">NOTE:</span> The tags described above should have no space after&nbsp; &quot;{&quot; and before &quot;}&quot;. They have been displayed with spaces here not to implement the function in this screen.</span></p><h5><span ></span><span style="FONT-WEIGHT: bold; ">Parameters</span></h5><p><span style="FONT-WEIGHT: bold; "></span><span ><strong>Site Title</strong>: This lets you add or not the mambot title and heading attributes to the Site Title Tag.</span></p><h4><span ></span><span style="FONT-WEIGHT: bold; ">No WYSIWYG Editor</span></h4><p><span >This loads a basic text entry field wherever you may edit content.</span></p><h4><span style="FONT-WEIGHT: bold; ">TinyMCE Editor</span></h4><p><span >This loads this default WYSIWYG Editor wherever you may edit content.</span></p><h4><span ></span><span style="FONT-WEIGHT: bold; ">MOS Image Editor Button</span></h4><p><span >This provides the button to insert the MOS Image tag into content edit box.</span></p><h4><span style="FONT-WEIGHT: bold; ">MOS Pagebreak Editor Button</span></h4><p><span >This provides the button to insert the { mospagebreak }&nbsp; tag into content edit box.</span></p><h4><span style="FONT-WEIGHT: bold; ">Search Content</span><br style="FONT-WEIGHT: bold; " /><span style="FONT-WEIGHT: bold; ">Search Weblinks</span><br style="FONT-WEIGHT: bold; " /><span style="FONT-WEIGHT: bold; ">Search Contacts</span><br style="FONT-WEIGHT: bold; " /><span style="FONT-WEIGHT: bold; ">Search Categories</span><br style="FONT-WEIGHT: bold; " /><span style="FONT-WEIGHT: bold; ">Search Sections</span></h4><p><span >These Mambots allows searches among these items, if they are published (default).</span> </p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.mambots.html 4.5.4/help/454.screen.mambots.html
--- 4.5.2.3/help/454.screen.mambots.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.mambots.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Mambot Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Mambot Manager</h1>
+<p><span>Mambots are essentially code snippets which when called via various parameters either activate a program, script or perform a specific function. They can be as simple as a function which replaces typed text with code (such as typing to display an image in a content item) to full fledged third party libraries (such as WYSIWYG editors or other programs).<br /><br />
+<p align="left"><span>Mambots are divided into 4 types/categories that may be displayed by filtering in the filter field: <br /></span></p><ul><li>content</li><li><span>editors</span></li><li><span>editors-xtd</span></li><li><span>search</span><span></span></li></ul><h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p>Select a Mambot by clicking on the checkbox next to its name.</p><p><strong>Publish/ Unpublish</strong>: Click the icon to Publish or Unpublish the Mambot.</p><p><strong>New</strong>:&nbsp; Click the &quot;New&quot; icon to create a new Mambot. Then fill in the fields listed.</p><p><strong>Edit</strong>: Click the &quot;Edit&quot; icon to change the settings as desired.</p><p><strong>Delete</strong>: Click the &quot;Delete&quot; icon. This will uninstall it.<br /></p><p><strong>WARNING</strong>: This cannot be undone. Deleted Mambots cannot be restored as a &quot;Menu Item&quot; or &quot;Content Item&quot; can. If you have deleted a Mambot and you wish to use that Mambot again, you must re-Install the Mambot.<br /><strong>NOTE</strong>: Mambots essential to core operations cannot be deleted.</p><h3><span style="FONT-WEIGHT: bold">Columns</span></h3><p><strong>Mambot Name</strong>: This lists the names of the Mambots currently installed. Click the name to edit any of the mambots.<br /><br /><strong>Published</strong>: This shows whether the Mambot is published or unpublished. Click on the icon if you wish to toggle its state.<br /><br /><strong>Reorder</strong>:&nbsp; Click the arrow icons to move the item up or down in the list. This has no effect on the Front-end of your site.&nbsp; You only reorder to help you organize your list of mambots in the Back-end.<br /><br /><strong>Orde</strong>r: This shows the order of Mambots in relation to other Mambots of the same type. Type&nbsp; the new numbers in the order that you wish your mambots to appear in the Back-end. You can change the order any two or more mambots at the same time.&nbsp; Click the Save Order icon next to the Column Heading Order. This has no effect on the Front-end of your site.<br /><br /><strong>Access</strong>: This shows who can see or use the Mambots on the Frontend of a Web page. Choose the level of access by clicking the link to toggle through Public, Registered and Special access. <br /><br /><strong>Type</strong>: This displays the type of mambot. Types include editors, content, editors-xtd and search.<br /><br /><strong>File</strong>: This displays the mambots filename.</p><p /><p><br /></p><p /></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.mediamanager.html 4.5.4/help/454.screen.mediamanager.html
--- 4.5.2.3/help/454.screen.mediamanager.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.mediamanager.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Media Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Media Manager</h1>
+<p>The Media Manager enables you upload, delete and organise your media files within Mambo for use in various articles on your Web site. Media Manager, views only files under the /images/stories directory. If you need to upload media files in other location you have to do it through FTP.</p>
+<p><strong>Directory</strong>: The drop down box displayes the folder you are in. A forward slash (/) denotes you are in the root or top of the Media Manager directory structure. As root is considered the /images/stories directory. You can use to navigate. Alternatively you can click on any folder icon, displayed bellow as&nbsp;thumbnail.</p><p><strong>Upload</strong>: Enter the files location or click the 'Browse' button and select the file that you want to upload from your PC or workstation. Next, in the 'Directory' drop down box, select the directory that you wish to upload the file to and click the '<strong>Upload</strong>' icon. A message confirming the success of the upload will display and the file will appear in the Media Manager gallery window.</p><p><strong>Code</strong>: Clicking the thumbnail image or the pencil icon under it in the Media Manager window will enter the hyperlink code in the 'Code' text field. This can copied for pasting, for example, into a News item or other item appearing on the Frontend of your Web site.</p><p><strong>Create Directory</strong>: Enter a name for the new directory in the 'Create Directory' text box and click the '<strong>Create</strong>' icon on the toolbar. The new directory will be created and will be available for storing files.</p><p><strong>Delete</strong>: To delete a file or a directory, click the 'Trash Can' icon under the image of the file in the Media Manager window. A directory must be empty before it can be deleted.</p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.menumanager.copy.html 4.5.4/help/454.screen.menumanager.copy.html
--- 4.5.2.3/help/454.screen.menumanager.copy.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.menumanager.copy.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Menu Manager: Copy</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Menu Manager: Copy</h1>
+<p>This page lets you <strong>copy a Menu</strong> and all its Menu Items. A list displays the name of the Menu and Menu Items copied.</p>
+
+<h3><span style="FONT-WEIGHT: bold">Toolbar</span></h3><p><strong>Copy:<span style="FONT-WEIGHT: bold">&nbsp;</span></strong>A new Menu Name will be created&nbsp; in the Menu Manager list where it may be edited.<br />A new mod_mainmenu module, with the Name you have entered above, will also be created. Parameters for the created module&nbsp;can&nbsp;be edited through the 'Modules Manager [site]': Modules -&gt; Site Modules.</p><p><strong>Cancel:</strong> Click on this icon if you wish to stop the copying and cancel any action.<br /></p></span>Type here to create a new Menu Name. <br /><br />This is the identification name used by Mambo to identify this menu within the code&nbsp;so it must be unique.&nbsp; It is recommended to use no spaces within this name. For example, in the core Mambo the User Menus Menu Name is usermenu and the Main Menus Menu Name is mainmenu. <br /><span style="FONT-WEIGHT: bold"></span><br /><span style="FONT-WEIGHT: bold">New Module Name: </span>Type here a name for the Module that handles your new menu.<br /><br />This is the name given to the new mod_mainmenu module which is automatically created when you save this menu. It is also the Name of the menu as it will appear on the page if you choose to show it (this may be changed when editing the module). In the example described above these are "User Menu" and "Main Menu". </body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.menumanager.html 4.5.4/help/454.screen.menumanager.html
--- 4.5.2.3/help/454.screen.menumanager.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.menumanager.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Menu Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Menu Manager</h1>
+<p>&quot;Menus&quot; in Mambo are groups of navigational links to sections, categories, content items, components or external pages. These links are called 'Menu Items'.<br /><br />Each menu must have an identification name which is only used internally by Mambo. A menu only becomes visible on a site if it has a published mod_mainmenu module which references it.&nbsp;A menu may have multiple mod_mainmmenu modules referencing it.</p><h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>New:</strong> Click this icon to create a new Menu. You will access the &quot;Menu Details&quot; window.&nbsp; Type a Menu Name. This is the identification name used by Mambo to identify this menu within the code.&nbsp; It must be unique.&nbsp; It is recommended to use no spaces within this name. For example, in the core Mambo the User Menu's Menu Name is "usermenu" and the Main Menu's Menu Name is "mainmenu".&nbsp; <br /><br /><strong>Next:</strong> Type the Module Title. This is the name given to the new mod_mainmenu module which is automatically created when you save this menu. It is also the Name of the menu as it will appear on the page if you choose to publish it. This may be changed in the future when editing the module.&nbsp; In the example described above, these are "User Menu" and "Main Menu". Click on the 'Save" icon. Your new menu appears in the Menu Manager list.<br /><br /><strong>Edit:</strong> &nbsp;Click the radio button next to the Menu Name you want to edit.&nbsp; Then, click on the &quot;Edit&quot; icon which will take you to the Editing page.<br /><br /><strong>Copy:</strong> Click the radio button next to the Menu Name you want to copy. Then, click the "Copy" icon in the toolbar. This will duplicate the menu. You may copy any of your menus. Copying will create a new Menu Name, containing the same Menu Items as the menu copied, associated to a new Menu Module. <br /><br />A "Copy Page" will display, with the same choices as in Create New Menu. It will also state the name of the Menu being copied and a list of the Menu Items associated to the menu being copied. Fill in the fields as in the &quot;Create New Menu&quot; screen.<br /><br /><strong>Delete:</strong> Click the radio button next to the Menu Name you want to delete. Then, click the "Delete" icon in the toolbar. This will delete the Menu. A &quot;Delete Menu : Name-of-the-menu&quot; screen will display. It shows the Module(s) to be deleted (the mod_mainmenu modules associated to this Menu) and the Menu Items to be deleted. Click the Delete Icon surrounded by a dotted line. This will delete this Menu, ALL its Menu Items and ALL the Modules associated with it. A Javascript alert popup box gives you the choice to &quot;OK&quot; or to &quot;Cancel&quot; this action. <br /><br /><strong>NOTE: Deleted Menus cannot be recovered from the Trash Manager!</strong></p><h3><span style="FONT-WEIGHT: bold">Columns</span></h3><p>The headings give information on the following functions :<br /><br /><strong>Menu Name:</strong> Click on the name to edit it. This name may be the one that is given to the menu by default or the name you gave to that menu. <br /><br /><strong>Menu Items:</strong> Click on the "Edit" icon in this column to add or edit Menu Items associated with a menu. Or alternatively go to &quot;Menu-&gt;the-menu-you-choose-to-edit&quot;. A &quot;Menu Manager [the-menu-you-choose-to-edit]&quot; window will&nbsp;appear with a list of all Menu Items associated to this Menu.<br /><br /><strong>#Published:</strong> This is the number of Menu Items published.<br /><br /><strong>#Unpublished</strong>: This is the number of Menu Items unpublished.<br /><br /><strong>#Trash:</strong> This is the number of Menu Items in the Trash Manager.<br /><br /><strong>#Modules:</strong> This is the number of menu modules associated to the Menu Name.<br /></p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.menumanager.new.html 4.5.4/help/454.screen.menumanager.new.html
--- 4.5.2.3/help/454.screen.menumanager.new.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.menumanager.new.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Menu Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Menu Manager : New / Edit</h1>
+<p>Menu items have many different types depending from their role. When we create a <strong>New Menu Item</strong> we must choose his type.<br />The Menu Items are presented&nbsp;in 4 groups in this screen. &nbsp;Each group lists a specific kind of menu items.&nbsp; Some of them may be presented in more than one group.<p /></td></tr></tbody></table></p><h3><span style="FONT-WEIGHT: bold">Toolbar&nbsp;Icons</span></h3><p><strong>Next:</strong>&nbsp; After selecting&nbsp;the radio button for the type of menu item you wish to create, click the "Next" icon in the Toolbar.&nbsp;A new window will open with the name "Add Menu Item :: The-type-of-link-chosen".<br /><br /><strong>Cancel:</strong> Click on the &quot;Cancel&quot; Icon if you do not wish to create a Menu Item.<br /><br /><strong>Help:</strong> Click on the &quot;Help&quot; Icon to learn more about the New Menu Item page.</p><p>The Menu Items are presented as 4 groups in this screen. &nbsp;Each group lists a specific kind of menu items.&nbsp; Some of them may be presented in more than one group.<br /><br /><strong>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.menus.copy.html 4.5.4/help/454.screen.menus.copy.html
--- 4.5.2.3/help/454.screen.menus.copy.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.menus.copy.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Menus: Copy</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Menus: Copy</h1>
+<p>This page lets you <strong>copy a Menu</strong> and all its Menu Items. A list displays the name of the Menu and Menu Items copied.</p><h3><span style="FONT-WEIGHT: bold">Toolbar</span></h3><p><strong>Copy:<span style="FONT-WEIGHT: bold">&nbsp;</span></strong>A new Menu Name will be created&nbsp; in the Menu Manager list where it may be edited.<br />A new mod_mainmenu module, with the Name you have entered above, will also be created. Parameters for the created module&nbsp;can&nbsp;be edited through the 'Modules Manager [site]': Modules -&gt; Site Modules.</p><p><strong>Cancel:</strong> Click on this icon if you wish to stop the copying and cancel any action.<br /></p></span>Type here to create a new Menu Name. <br /><br />This is the identification name used by Mambo to identify this menu within the code&nbsp;so it must be unique.&nbsp; It is recommended to use no spaces within this name. For example, in the core Mambo the User Menus Menu Name is usermenu and the Main Menus Menu Name is mainmenu. <br /><span style="FONT-WEIGHT: bold"></span><br /><span style="FONT-WEIGHT: bold">New Module Name: </span>Type here a name for the Module that handles your new menu.<br /><br />This is the name given to the new mod_mainmenu module which is automatically created when you save this menu. It is also the Name of the menu as it will appear on the page if you choose to show it (this may be changed when editing the module). In the example described above these are User Menu and Main Menu. 
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.menus.edit.html 4.5.4/help/454.screen.menus.edit.html
--- 4.5.2.3/help/454.screen.menus.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.menus.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Menus: Edit Menu Item</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Menus: Edit Menu Item</h1>
+<p>By clicking on a menu item, you have access to the <strong>Edit Menu Item</strong> screen where you can edit his details and parameters. Every Menu Item has different parameters. Some of them though are common at all.</p>
+<h3>Toolbar Icons</h3><p><strong>Save :</strong> Click on this icon to save the parameters chosen and return&nbsp;to the Menu Manager..</p><p><strong>Apply :</strong> Click on this icon to save the parameters chosen AND keep the same&nbsp;screen open for editing.</p><p><strong>Close :</strong> Click on this icon to cancel any action in this screen.&nbsp; You will return&nbsp;to the previous screen.<br /><br /><span style="FONT-WEIGHT: bold">This&nbsp;screen is divided into 2 main parts : "Details" and "Parameters".</span> <br />These vary in function, depending from the type of Menu Item chosen. Some "Details" can also be edited through the list in the Menu Manager. Some parameters may appear&nbsp;only after clicking on the "Apply" or "Save" icon. </p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.menus.html 4.5.4/help/454.screen.menus.html
--- 4.5.2.3/help/454.screen.menus.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.menus.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Menu Manager / Main Menu</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Menu Manager / Main Menu</h1>
+<p>This page shows a list of the Menu Items associated to the menu you have just chosen.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>New :</strong> Click this icon to create a new Menu Item<span style="COLOR: rgb(255,0,0)"><br /></span><br /><strong>Edit :</strong> Click this icon to edit an existing Menu Item.<br /><br /><strong>Publish and Unpublish :</strong> These icons have the same function as the 'Published' column icon.&nbsp; Click either of these icons to publish or unpublish any items.&nbsp; You may use these icons with multiple items checked.<br /><br /><strong>Move :</strong> Click on this icon to open a new 'Move Menu Items' window where you can choose to move the specific Menu Item(s) -and children if desired- to another existing Menu. You may check multiple items to be moved at once.<br /><br /><strong>Copy :</strong> Click on this icon to open a new 'Copy Menu Items' window where you can choose to copy the specific Menu Item(s) -and children if desired- to another existing Menu. You may check multiple items to be copied at once.<br /><br /><strong>Trash :</strong> Click on this icon to send the Menu Item to the Trash Manager. You may check multiple items to be sent to the Trash Manager at once.&nbsp; The menu items may be recovered through the Admin Menu: Site-&gt;Trash Manager.&nbsp; Then, choose the Menu Items tab. <br /><br /><strong>Cancel :</strong> Click on this icon to cancel any change made in the 'Order' column if the 'Save Order' icon has not been clicked.&nbsp; You will return to the previous page.</p><h3><span style="FONT-WEIGHT: bold">Columns</span></h3><p><strong>Menu Item :</strong> This is the name of the link as it appears&nbsp;at your site.&nbsp; Click this name so that&nbsp; you can edit parameters related to this Item. <span style="COLOR: rgb(51,51,51)">A padlock icon next to it shows that it is checked-out. To check-in, click the name if it is you that has last edited the page. Then click the 'Save' or 'Cancel' icon to check back in the item.&nbsp; If another user has checked out the item, please contact him/her or the administrator of your site.</span><br /><br /><strong>Published:</strong> This shows whether the Menu Item is published or unpublished. Click&nbsp; the icon to switch its state.<br /><br /><strong>Reorder :</strong> This shows the order of Menu Items in the menu. Click the arrow icons to move the item up or down in the list.<br /><br /><strong>Order :</strong> This shows the order of Menu Items in the menu. To change the order, type in the order number&nbsp; you wish to have.&nbsp; You can change the order of any two items or more this way.&nbsp; Then click the 'Save Order' icon next to the Column Heading 'Order'. <br /><br /><strong>NOTE: The Order and Reorder&nbsp; columns show the relative positions of Parent and Children Menu Items. Moving a parent moves the children too. The order numbers are shown relatively to the Parent Item.</strong><br /><br /><strong>Access :</strong> Click the 'Access' level to toggle to another User access level for this menu item.<br /><br /><strong>Itemid:</strong> This shows the 'id' for this specific Menu Item in the database.<br /><br /><strong>Type:</strong> This is the type of link used for this Menu Item. If it is a 'Link  Content Item' or a Link  Static Content, you may directly edit the content by clicking the type of menu item.<br /><br /><strong>CID:</strong> This shows the 'componentid' for this specific Menu Item in the database.<br /><br style="FONT-WEIGHT: bold" /><span style="FONT-WEIGHT: bold">Other functions available above and below of the list: </span><br /><br /><strong>Max Levels:</strong> Select the maximum number of levels deep that the menu tree is displayed on this admin page.<br /><br /><strong>Filter:</strong> Type in the keyword to search for text in&nbsp; the Menu Item titles.<br /><br /><strong>Display #:</strong> Choose the number of menu items you wish to be displayed in the list.<br /><br /><strong>NOTE:</strong> This setting will be preserved for all lists on all screens while you are in the Administator back-end. A default value for the list length is also configurable in Global Configuration. <br /></p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.menus.move.html 4.5.4/help/454.screen.menus.move.html
--- 4.5.2.3/help/454.screen.menus.move.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.menus.move.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Menus: Move</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Menus: Move</h1>
+<table class="contentpaneopen"><tbody><tr><td valign="top" colspan="2"><p>This page lets you <strong>move</strong> one or more Menu Items to another existing Menu. If you choose to move a Parent Menu Item, &nbsp;its sub-level menus will be moved too, keeping their Parent-child relationship.&nbsp;</p><p>Check the menu item that you want to move and click on the <strong>Move</strong> icon. A new screen appears, in which you can choose the target Menu.</p><br /><span style="FONT-WEIGHT: bold">Move to Menu: <br /></span>This list&nbsp;displays all&nbsp;your existing Menus the way they look through&nbsp;the Menu Manager. You may choose to which of them&nbsp;the Menu Item(s)&nbsp;will be moved.<br /><br /><span style="FONT-WEIGHT: bold">Menu Items being moved: <br /></span>This shows a list of the Menu Items being moved.</p><h3><span style="FONT-WEIGHT: bold">Toolbar</span></h3><p><strong>Move:</strong> Click this icon to move the Menu Items.</p><p><strong>Cancel:</strong> Click this icon to abort the moving process.</p></td></tr><tr><td class="modifydate" align="left" colspan="2"></td></tr></tbody></table>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.menus.new.html 4.5.4/help/454.screen.menus.new.html
--- 4.5.2.3/help/454.screen.menus.new.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.menus.new.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Menus: New Menu Item</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Menus: New Menu Item</h1>
+<p><br />Menu items have many different types depending from their role. When we create a <strong>New Menu Item</strong> we must choose his type.<br />The Menu Items are presented&nbsp;in 4 groups in this screen. &nbsp;Each group lists a specific kind of menu items.&nbsp; Some of them may be presented in more than one group.</p><p /><p /></td></tr></tbody></table></p><h3><span style="FONT-WEIGHT: bold">Toolbar&nbsp;Icons</span></h3><p><strong>Next:</strong>&nbsp; After selecting&nbsp;the radio button for the type of menu item you wish to create, click the 'Next' icon in the Toolbar.&nbsp;A new window will open with the name 'Add Menu Item :: The-type-of-link-chosen'.<br /><br /><strong>Cancel:</strong> Click on the &quot;Cancel&quot; Icon if you do not wish to create a Menu Item.<br /><br /><strong>Help:</strong> Click on the &quot;Help&quot; Icon to learn more about the New Menu Item page.</p><p>The Menu Items are presented as 4 groups in this screen. &nbsp;Each group lists a specific kind of menu items.&nbsp; Some of them may be presented in more than one group.<br /><br /><strong>The groups are :</strong>&nbsp; Content, Components, Links and&nbsp;<!--StartFragment --> Miscellaneous.</p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.messages.conf.html 4.5.4/help/454.screen.messages.conf.html
--- 4.5.2.3/help/454.screen.messages.conf.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.messages.conf.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Messages Configuration</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Messages Configuration</h1>
+<p>There are two configuration options available to your Administrator. Use the select box to choose your option: 'YES AND NO'</p><p><strong>Lock Inbox</strong>:&nbsp;This option allows you to prevent Administrators or System processes from sending you messages. If you are the only administrator or work with a small group of admins you may choose not to use this feature at all. It is a good idea to leave the box open while you are adding new components as it will help you be aware of system processes.<br />&nbsp;<br /><strong>Mail me on new Message</strong>:&nbsp;This option will result in an email being sent to you each time you receive a new message. </p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.messages.inbox.html 4.5.4/help/454.screen.messages.inbox.html
--- 4.5.2.3/help/454.screen.messages.inbox.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.messages.inbox.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+
+<head>
+
+<title>Messages Inbox</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Messages Inbox</h1>
+<div style="TEXT-ALIGN: left">This menu option displays your current Inbox.</div><div style="TEXT-ALIGN: left"></div><div style="TEXT-ALIGN: left"></div><div style="TEXT-ALIGN: left"></div><div style="TEXT-ALIGN: left"></div><div style="TEXT-ALIGN: left"></div><div style="TEXT-ALIGN: left">To <strong>View a message</strong>, click the hyperlinked 'Subject' of the desired message. Details of the message will be shown. Click the 'Back' icon in the toolbar to return to your Inbox.<br />&nbsp;<br />To <strong>Create a new message</strong>, click the 'New' icon in the toolbar. Select the Recipient from the list and enter the desired subject and Message. Click the 'Save' icon to send the message. Click the 'Cancel' icon to abort the operation.<br />&nbsp;<br />To <strong>delete a message</strong>, select the checkbox next to the Subject of the message, (or multiple messages), that you want to delete. Click the 'Delete' icon in the toolbar. An alert box will ask you to confirm the operation.<br />&nbsp;<br /><strong>Private messaging is only supported to or between Users in a group that has access to the Admin Section</strong>.<br />&nbsp; </div></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.modules.edit.html 4.5.4/help/454.screen.modules.edit.html
--- 4.5.2.3/help/454.screen.modules.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.modules.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Modules: Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Modules: Edit</h1>
+<p><span >This page displays the editable parameters for Modules in Mambo. <br /></span></p><p><span ><span style="FONT-WEIGHT: bold"></span></span></p><h3><span ><span style="FONT-WEIGHT: bold"></span></span><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><span ><strong>Preview</strong>: Click on the &quot;Preview&quot; icon to preview only typed modules.</span></p><p style="TEXT-ALIGN: left"><span ></span><span ><strong>Save</strong>: Click on the &quot;Save&quot; icon to save the parameters you have chosen and to go back to the 'Menu Manager [the-menu-you-chose-to-edit]'.<br /><br  /></span><span ><strong>Apply</strong>: Click on the &quot;Apply&quot; icon to save the parameters you have chosen and to keep the same window open for editing.<br /><br  /></span><span ><strong>Close</strong>: Click on the &quot;Close&quot; icon to cancel the action and to close the &quot;Modules: Edit&quot; window.</span></p><h3 style="TEXT-ALIGN: left"><span ></span><span style="FONT-WEIGHT: bold">Details</span></h3><p><span >(same for all modules)<br /><br /></span><strong>Title</strong>: Type or Edit the title of the module that you wish to display on the Front-end or Back-end of your site.</p><p ><strong>Show title</strong>: Choose if you wish for the &quot;Title&quot; to display or not on the Front-end or Back-end of your site.</p><p ><strong>Position</strong>: Choose which position, on the Front-end or Back-end of your site, the module will display in.</p><p ><strong>Module order</strong>: Choose the order the module will appear among modules assigned to the Front-end or Back-end of your site.</p><p ><strong>Access Level</strong>: Choose who can view this module. Public (everyone can view it), Registered (only registered users can view it), or Special (only special users can view it, as defined under the User Manager in Site -&gt; User Manager -&gt; Add/Edit Users).</p><p ><strong>Published</strong>: Choose &quot;Yes&quot; to publish the module on the Frontend of your Web site (if chosen Position is available in the template) or &quot;No&quot;&nbsp; to unpublish the module.<br /></p><p ><strong>ID</strong>: This is the ID number for the module item. This is allocated by the Mambo site system when the module is saved. </p><p ><strong>Description</strong>: This is a short description of the functions provided by the Module Type.</p><h3><span >Pages / Items: </span></h3><p><span >(same for any module) Choose which pages</span><span > you want the module to be displayed on.</span></p><h3><span ></span><span style="FONT-WEIGHT: bold">Parameters</span></h3><p><span ><strong>Count:</strong> The number of items to display (the default is 10)</span></p><p><span ><strong>Module Class Suffix (available for all module)</strong>: Type (if needed) the suffix to be aplied to the CSS class of the module (table.moduletable) to allow individual module styling.</span></p></span></p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.modules.html 4.5.4/help/454.screen.modules.html
--- 4.5.2.3/help/454.screen.modules.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.modules.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Module Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Module Manager</h1>
+<p align="left">Modules are modular elements used to display information items or interactive features throughout a Mambo Site. The main characteristic is to be positioned off content in pre-established positions ruled by the corresponding template (Front-end or Back-end templates for Site and Administrator areas respectively). </p><p align="left">Examples of modules are Menus, Login and Search forms. Simple HTML Modules can be created directly from the Module Manager. In more complicated cases, they will have to be installed. There are hundreds of modules already programmed for Mambo, written by various Mambo community members.&nbsp; You will find them on the Mambo projects site, <a href="http://mamboforge.net/"><font color="#77689d" size="1">mamboforge.net</font></a>. They are free and available for download.</p><p align="left">The <strong>Module Manager</strong> displays the installed modules.&nbsp; You can manage them by clicking on the appropriate icon in the Tool Bar.</p><h3 align="left"><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p align="left"><span ><strong>Publish:</strong> Click on the 'Publish' icon to publish your modules on the Front-end of your Web site.</span><br  /><br  /><span ><strong>Unpublish:</strong> Click on the 'Unpublish' icon to unpublish your modules on the Front-end of your Web site.</span></p><p  align="left"><strong>Copy:</strong> Click on the 'Copy' icon to make a copy of the selected module. This enables it to be displayed in more than one place on the Front-end of your Web site. A new version is created with the name 'Copy of (the name of the module you copied)'. You can rename it.<br /><br /><strong>New:</strong> Click on the &quot;New&quot; icon to create a custom module with a &quot;User&quot; type.&nbsp; This is a very useful module which may be used to display Content (this content is not related to Sections, Categories or Static Content Items) or an&nbsp; RSS Feed. It can be used as a text box, image module or even to include&nbsp;customized code.</p><p  align="left"><strong>Edit:</strong> Click on the 'Edit' icon to edit or modify the module. Clicking the linked name will also perform this function. This enables you to change the attributes of a module like it's title, it's position, the order in which it appears on the page, access level and whether it is published or not. From this page you will also be able to change the location the module appears on the Front-end of your site and any parameters that apply to the module.</p><p  align="left"><span ><strong>Delete:</strong>&nbsp;Click on the 'Delete' icon to delete/uninstall a module from your system.</span><br  /><span ><strong>NOTE:</strong> You cannot delete the 'last' module of a particular 'type' on this screen. If you want to delete a specific type of module, go to the Install/Uninstall screen as explained above.</span><br  /><br  /><span ><strong>Help:</strong> Click on the 'Help' icon to view the help screen&nbsp;for this page.</span></p><h3  align="left"><span ></span><span style="FONT-WEIGHT: bold">Column Descriptions</span></h3><p  align="left"><span style="FONT-WEIGHT: bold"></span><span ><strong>Check Box/Padlock:</strong> Click this to select the module. A padlock icon will replace the Check Box if&nbsp;the item is&nbsp;checked-out. This means the module is unavailable to other managers. If you have checked-out the item, click the name to go to the Edit screen.&nbsp; You can either click the Save or the Cancel icon to check back in the module.&nbsp; If this module has been checked out by another manager/administrator, please contact the administrator of your site for him/her to Check-in the&nbsp;module.&nbsp;</span></p><p  align="left"><span ><strong>Module Name:</strong> This is the title of the module. It is editable and&nbsp;will be displayed on the Front-end of your Web site if you choose so.&nbsp; </span></p><p  align="left"><span ><strong>Published:</strong> This tells you if the module contents will show on the Front-end of your Web site. Click the 'blue' arrow icon or 'red' cross to toggle the status.</span><br  /><br  /><span ><strong>Reorder:</strong> This column allows you to change the relevant order that the modules display on the Front-end of your Web page(s). Click the 'up' or 'down' arrows to increase or decrease the module order by one position.</span></p><p  align="left"><strong>Order :</strong> This shows the order of the modules as displayed in the Front-end of your site.<br />To modify this order, type in the number that you would like to have them presented.&nbsp; Then, click on the Save Order icon next to the Column Heading Order.</p><p  align="left"><strong>Access:</strong> This shows who can see the modules on the Front-end of a Web page. Clicking the link will toggle through Public/Registered/Special.<br /><br /><strong>Position:</strong> This shows which template positions the module will display in. Some common Template positions are - User1, Left, Right, and Top. <br /><strong>NOTE:</strong> You can only assign the module position to one that is already coded into your template<br /><br /><strong>Pages:</strong> This shows which pages the module will display on. Options include All, Varies or None.<br /><strong>NOTE:</strong> This is not applicable to Administrator modules. Click on the Edit icon in the Toolbar to edit this.<br /><br /><strong>ID:</strong> This is the ID number for the module item. This is allocated by the Mambo site system when the module instance is saved.<br /><br /><strong>Type:</strong> This is the type of module. An example is mod_mainmenu which is the 'type' of module used for the User Menu and the Main Menu module instances.&nbsp;<br /><br />At the bottom of the list you may see a pagination feature, which will allow you to navigate to the next set of modules in the list. You can also set the number of modules displayed on a page by selecting the number in the drop down box at the bottom of the screen.<br /><br />Filtering functions are available at the top-right of the list. To filter the displayed modules by Position and module type, select from the Select Position and/or Select Type drop down menu. You can refine your filter by typing in the keyword that you wish to filter in the field box. </body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.modules.new.html 4.5.4/help/454.screen.modules.new.html
--- 4.5.2.3/help/454.screen.modules.new.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.modules.new.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Modules: New</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Modules: New</h1>
+<p>The <strong>User module</strong> is a custom module&nbsp;created when clicking the 'New' icon in the Module Manager.<br />You may use this module to display Content (this content is not related to Sections, Categories or Static Content Items) or an RSS Feed.<br /><br /><strong>Type: mod_user</strong></p><h3><span style="FONT-WEIGHT: bold">Details</span></h3><p><strong>Title</strong>: Type or edit the title of the module to display on the Front-end or Back-end of your site.<br /><br /><strong>Show title</strong>: Choose if you want the Title to display or not on on the Front-end or Back-end of your site.<br /><br /><strong>Position</strong>: Choose which position that you want this module to display in. This is determined the positions available in your templates.<br /><br /><strong>Module order</strong>: Choose the order this module will appear among modules assigned to the same position in your templates.<br /><br /><strong>Access Level</strong>: Choose who can view this module. Public, Registered or Special.<br /><br /><strong>Published</strong>: Choose if the module contents will show on the Front-end of your Web site (if the chosen Position is available in the template).<br /><br /><strong>ID</strong>: This is the ID number for the module item. This is auto-allocated by the Mambo system when the module is saved.</p><p><font color="#000000"><strong>Description:</strong> This is a short description of the functions provided by the Module Type.</font></p><h3>Pages / Items: </h3><p>Choose which pages the module should be displayed on.</p><h3><span style="FONT-WEIGHT: bold">Parameters</span></h3><p><span style="FONT-WEIGHT: bold"></span><strong>Module Class Suffix</strong>: Add a suffix if needed to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.<br /><br /><strong>This information concerns RSS Feeds:<br /><br />RSS URL</strong>: Enter here the URL of the RSSfeed you want to display on your site.<br /><br /><strong>Feed description</strong>: Choose to show or not the description text for the whole Feed.<br /><br /><strong>Feed Image</strong>: Choose to show or not the image associated with the whole feed.<br /><br /><strong>Items</strong>: Enter the number of RSS Items to display. If this number is higher than the number fixed by the Syndicating site, the latter one will be used.<br /><br /><strong>Item description</strong>: Type the description or intro text for individual News Items.<br /><br /><strong>Word Count</strong>: Choose the the maximum number of visible words available from the description of the New Item. 0 means all text will be displayed.</p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="FONT-SIZE: 8.5pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB"><font color="#000000"><strong>Enable Cache:</strong> Select to cache or not the content of this module.<br style="mso-special-character: line-break" /><br style="mso-special-character: line-break" /></font></span></p><p /><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><strong><font color="#000000">This information does not concern RSS Feeds:</font></strong><b><br /></span></b><br /><font color="#000000"><strong>Custom Output:</strong> Here you may enter any text&nbsp; or code you like that you wish to display it's output&nbsp; in this module anywhere on the pages of your site. <br /><b>NOTE: </b>This content may not be accessed through a Menu Item.</font></p><p /><p><br /></p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.newsfeeds.edit.html 4.5.4/help/454.screen.newsfeeds.edit.html
--- 4.5.2.3/help/454.screen.newsfeeds.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.newsfeeds.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>News Feeds Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>News Feeds Manager : New / Edit</h1>
+<p>This page lets you create or edit a News Feed Item.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>Save</strong>: Click this icon to save the created or modified News Feed.<br /><br /><strong>Cancel</strong>: Cancels any change or creation. When clicking while editing, the item will remain checked-in.</p><h3><span style="FONT-WEIGHT: bold">Details</span></h3><p><strong>Name</strong>: Type here the name of the News Feed as it will appear on your site.<br /><br /><strong>Category</strong>: Select here the News Feed Category you want this News Feed to belong to.<br /><br /><strong>Link</strong>: Enter here the link to the feed as provided by the source. This is generally obtained by mouseover and copy the link through the RSS Feed icons on the site concerned.<br /><br /><strong>Number of Articles</strong>: Type here the maximum number of Articles to display. If the provider has decided of a lower number, the lower number will be used.<br /><br /><strong>Cache Time (in seconds)</strong>: Type here the time between refreshes, in seconds.<br /><br /><strong>Ordering</strong>: This is the order the Item will display in the News Feed Manager. Defaults to last when created, may be changed when editing.<br /><br /><strong>Published</strong>: Click the radio button to decide whether this News Feed will display or not on your site.<br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.newsfeeds.html 4.5.4/help/454.screen.newsfeeds.html
--- 4.5.2.3/help/454.screen.newsfeeds.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.newsfeeds.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>News Feeds Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>News Feeds Manager</h1>
+<p align="center" width="550" border="0" hspace="0" vspace="0" height="299"><table class="hs_table"><tbody><tr><td class="hs_header01"><p><strong>News Feeds Manager</strong></p></td></tr><tr><td class="hs_header02"></td></tr></tbody></table></p><p><span >This page displays a list of the News Feeds you may provide to the users of your site.</span><br  /><span >These Newsfeeds may be displayed through a Menu Item link.</span><br /><br />Alternatively, you may also display News Feeds individually through the Custom/User Module.<br /></p><h3><span >Toolbar Icons</span></h3><p><span >You &quot;select&quot; News Feeds by clicking the checkbox at the start of each row.</span><br  /><span >&nbsp;</span><br  /><span ><strong>Publish and Unpublish</strong>: Click the 'Publish' or 'Unpublish' icon to publish or unpublish any number of selected News Feeds.</span><br  /><br  /><span ><strong>New</strong>: Click the 'New' icon to create a new News Feed.</span><br  /><span >&nbsp;</span><br  /><span ><strong>Edit</strong>: Click the 'Edit' icon to edit the News Feed.</span><br  /><span >&nbsp;</span><br  /><span ><strong>Delete</strong>: Click the 'Delete' icon to delete one or multiple Newfeeds.</span></p><h3><span ></span><span >Columns</span></h3><p><span ><strong>News Feed</strong>:&nbsp; Name of the News Feed as it appears on your site. If you click on this name, you may edit the related parameters. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit ,</span><br  /><br  /><span ><strong>Published</strong>: This shows whether the News Feed is published or unpublished. By clicking on the icon, you may switch its state.</span><br  /><br  /><span ><strong>Reorder</strong>: This shows the order of News Feeds in the list. Click the arrow icons to move the item up or down in the list. This ordering may be changed by editing the related Menu Item parameters.</span><br  /><br  /><span ><strong>Category</strong>: This is the category the News Feed belongs to. Click to edit.</span><br  /><br  /><span ><strong>#Articles</strong>: This shows the number of Articles to display on your site as defined in the parameters for the News Feed.</span><br  /><br  /><span ><strong>Cache time</strong>: This is the time between refreshes as defined in the parameters for the News Feed.</span><br /></p><br />
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.polls.edit.html 4.5.4/help/454.screen.polls.edit.html
--- 4.5.2.3/help/454.screen.polls.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.polls.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Poll Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Poll Manager : New / Edit</h1>
+<p>This page lets you create or edit a poll for your site.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>Preview</strong>: Clicking this icon will open a pop-up window with a preview of the poll as it will appear on your site: title, options, and vote/results buttons.<br /><br /><strong>Save</strong>: Saves the new / edited poll and returns to Manager.<br /><br /><strong>Close</strong>: Cancels the action. Any modification is lost. If opened to edit, the poll remains checked-in.</p><h3><span style="FONT-WEIGHT: bold">Details</span></h3><p><strong>Title</strong>: Type here the title question of the poll as it will appear on your site (100 characters max).<br /><br /><strong>Lag</strong>: Enter here the number of seconds users have to wait before being able to vote in the same poll again. This interval is&nbsp;expressed in seconds. The default value is 86400 (24 hours).&nbsp; <br /></p><ul style="MARGIN-LEFT: 40px"><li>For 24 hours use: 86400.</li><li>For 12 hours use: 43200.&nbsp; </li><li>For 6 hours use: 21600.</li><li>For 1 hour use: 3600.</li></ul><p><strong>Options</strong>: (input fields 1 to 12) Fill in here the various options the user can select from to cast his vote. Empty items will not be displayed. Users may select only one of the possible answers.<br /><br /><span style="FONT-WEIGHT: bold">NOTE:</span> You may add additional options after the poll has commenced. Deleting options will corrupt the data, so you should create a new poll.<br /><br /><span style="COLOR: rgb(255,0,0)"><strong>Warning</strong>: </span>As of 03/02/05 this is bugged because you are allowed to save a poll without items, which will generate a mysql error. <span style="FONT-WEIGHT: bold">You should at least have two options filled out.</span><br /><br /><strong>Show on menu items</strong>: Select here which page(s) the poll should be displayed on. Allows to link the poll to specific menu items only. Works together with the &quot;Polls&quot; Module (mod_poll) which will display the configured polls. You may select multiple Menu Item Links.<br /><br /><span style="FONT-WEIGHT: bold">NOTE:</span> This means that polls assigned to specific Menu Items must have the 'Polls' module assigned to the same Menu Items to be displayed (Modules-&gt; Site Modules).<br /><br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.polls.html 4.5.4/help/454.screen.polls.html
--- 4.5.2.3/help/454.screen.polls.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.polls.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Poll Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Poll Manager</h1>
+<p style="TEXT-ALIGN: left">This page shows show a list of the Polls you may display on your site.</p><p style="TEXT-ALIGN: left" />
+<h3 style="TEXT-ALIGN: left"><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p style="TEXT-ALIGN: left">You &quot;select&quot; Polls by clicking the checkbox at the start of each row.<br /><br /><strong>Publish and Unpublish</strong>: Click the 'Publish' or 'Unpublish' icon to publish or unpublish any number of selected polls.<br /><br /><strong>New</strong>: Click this icon to add a new poll.<br /><br /><strong>Edit</strong>: Click this icon to edit the poll's details.<br /><br /><strong>Delete</strong>: Click this icon to delete the poll.</p><h3 style="TEXT-ALIGN: left"><span style="FONT-WEIGHT: bold">Columns</span></h3><p style="TEXT-ALIGN: left"><strong>Poll Title</strong>: This is the name of the poll. If you click on this name, you may edit the related parameters. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit ,<br />&nbsp;<br /><strong>Published</strong>: This shows whether the poll is published. Click the icon to toggle the state of the poll.<br />&nbsp;<br /><strong>Options</strong>: This is the number of options in the poll.<br /><br /><strong>Lag</strong>: Time in seconds between votes of the same user for the same poll. <br />&nbsp; </p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.sections.edit.html 4.5.4/help/454.screen.sections.edit.html
--- 4.5.2.3/help/454.screen.sections.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.sections.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Sections Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Sections Manager : New / Edit</h1>
+<p>This page lets you create or edit a Section.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>Upload</strong>: Opens a new window which lets you upload a file or an image from your computer to the images/stories folder.<br /><br /><strong>Save</strong>: Saves the section and returns to Manager.<br /><br /><strong>Apply</strong>: Saves the section and keep the page displayed to edit.<br /><br /><strong>Cancel</strong>: Cancels the action. Any modification is lost. If opened for edit, the Section remains checked-in.</p><h3><span style="FONT-WEIGHT: bold">Section Details</span></h3><p><strong>Section Title</strong>: Type here the name of the section as you want it to display on your site.<br /><br /><strong>Section Name</strong>: Type here the name of the section as you want it to appear in the database and the back-end.<br /><br /><strong>Image</strong>: Select here an image to display next to the Section Description text. The dropdown lists an image choice from the images/stories folder.<br /><br /><strong>Image position</strong>: Select here the position of the image relative to the description text. Left or right.<br /><br /><strong>Ordering</strong>: Select here the order of the section among other sections. This will reflect in the Section Manager. New sections default to the last place. Ordering can be changed after applied or saved.<br /><br /><strong>Access</strong>: This is the user access level for the category. Public, Registered or Special.<br /><br /><strong>Published</strong>: Check the box to let the item show on your site.<br /><br /><strong>Description</strong>:&nbsp; Type here a description of the Section. This text will show if decided so when the section is displayed as a table, blog or other sections.</p><h3><span style="FONT-WEIGHT: bold">Formatting content</span></h3><p>The formatting options interface depend on the Editor you are using.<br />Many editors are available as Open Source (through MamboForge) or commercial products.<br /><br />Mambo comes with 2 default editors:<br /></p><ul style="MARGIN-LEFT: 40px"><li><strong>NO WYSIWYG</strong>: This editor lets you enter text and/or HTML code directly.</li><li><strong>TinyMCE</strong>: This editor lets edit in WYSIWYG or HTML mode (See specific Help).</li></ul><p><strong>NOTE</strong>: It is advised to publish only one editor at a time in Mambot Manager and to save also that choice in Global Configuration.<br /><br /><strong>NOTE</strong>: It is not advised to use the Mambot tag { mospagebreak } in this description field.<br /><br /><strong><span style="FONT-STYLE: italic">The following parameters will only show once the section is applied or saved.</span><br /></strong><br /><span style="FONT-WEIGHT: bold">Link to Menu<br /><br /></span>This will create a new menu Item in the menu you select.<br /><br /><strong>Select a Menu</strong>: Highlight here one the menus defined for your site.<br /><br /><strong>Select Menu Type</strong>: Select here 'SEction List', 'Section Blog' or 'Section Archive Blog' Menu Item types.<br /><br /><strong>Menu Item Name</strong>: The name of the Menu as it will appear on your site.<br /><br /><strong>Link to Menu</strong>: Click on this button to create the Menu Item.<br /><br /><br /><span style="FONT-WEIGHT: bold">Existing Menu Links<br /><br /></span>This displays a list of all Menu Items referencing this section.<br /><br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.sections.html 4.5.4/help/454.screen.sections.html
--- 4.5.2.3/help/454.screen.sections.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.sections.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Section Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Section Manager</h1>
+<p align="center" width="550" border="0" hspace="0" vspace="0" height="299"><table class="hs_table"><tbody><tr><td class="hs_header01"><p><strong>Sections Manager</strong></p></td></tr><tr><td class="hs_header02"></td></tr></tbody></table></p><p  align="left">This page shows show a list of the Sections defined on your site. </p><h3  align="left"><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p  align="left">Click the icons after checking the box next to a specific Section. <br /><br /><strong>Publish and Unpublish</strong>: Same function as 'Published' in the headings. You may check multiple checkboxes.<br /><br /><strong>New</strong>: Create a new Section.<br /><br /><strong>Edit</strong>: Edit an existing section parameters.<br /><br /><strong>Copy</strong>: Opens a new 'Copy Section' window where you can choose to copy the specific Section and *all its Content Items* to a new Section. This will copy the Categories listed and all the items within the categories (also listed) to the new Section created.<br /><br /><strong>Delete</strong>: Lets you delete the section chosen. An Alert will pop to let you confirm this choice. This action can't be performed if the section contains Content Items. In this last case, you would have to delete the Content Items and Categories first.</p><h3  align="left"><span style="FONT-WEIGHT: bold">Columns</span></h3><p  align="left"><strong>Section Name</strong>: This is the name of a section. Click the name to edit the section parameters. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit ,<br /><br /><strong>Published</strong>: Whether a section is published or not. Click the icon to change the state.<br /><br /><strong>Reorder</strong>: This shows the order of Sections in the list. Click the arrow icons to move the item up or down.<br /><br /><strong>Order</strong>: Shows the order of Sections in the list. You may change it by editing 2 # conjointly and clicking on the 'Save Order' icon next to the Column Heading 'Order'.<br />Note: the new ordering has an effect when Sections lists are provided in the Frontend of your site.</p><p  align="left"><strong>Access</strong>: This is the User access level.<br /><br /><strong>Section ID</strong>: This is the ID for each section as defined in the database.</p><p  align="left"><strong># Categories</strong>: This is the number of categories defined for the specific section.<br /></p><p  align="left"><strong># Active</strong>: This is the number of published content items in the section.<br /><br /><strong>#Trash</strong>: Number of Content Items belonging to this section and currently in the Trash.</p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.staticcontent.edit.html 4.5.4/help/454.screen.staticcontent.edit.html
--- 4.5.2.3/help/454.screen.staticcontent.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.staticcontent.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Static Content Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Static Content Manager : New / Edit</h1>
+<p>This page allows to create or edit a Content Item. On the left side there are the two editors where you can add content for the intro and main text areas. On the right are the parameteres tabs. You can hide/unhide the parameteres tabs, by clicking the 'Hide/Unhide Advanced Details' link.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>Preview</strong>: Opens a new window to preview the content as you would in the Frontend of your site.<br /><br /><strong>Upload</strong>: Opens a new window which lets you upload a file or an image from your computer to the images/stories folder.<br /><br /><strong>Save</strong>: Saves the content and returns to Manager.<br /><br /><strong>Apply</strong>: Saves the content and keep the content displayed to edit.<br /><br /><strong>Close</strong>: Cancels the action. Any modification is lost. If opened to edit, the Content Item remains checked-in.</p><h3><span style="FONT-WEIGHT: bold">Item Details</span></h3><p><strong>Title</strong>: Type here is the title of the content. This is the title as it will appear on the page or table listing this content.<br /><br /><strong>Title</strong> Alias: This field is not used by core.&nbsp; SEF scripts and dynamic title/meta scripts use it and it may have a future use.<br /><br /><strong>Section</strong>: Choose here the Section you want the item to belong to.<br /><br /><strong>Category</strong>: Choose here the category you want the item to belong to. The dropdown list will display the available Categories for the Secton chosen above.<br /><br /><strong>Intro Text (required)</strong>: Type here the introductory portion of the content. <strong>This is the part displayed in Blog Lists</strong> for both Categories and Sections. It can also be configured to be hidden when you view the content.<br /><br /><strong>Main Text (optional)</strong>: This is the body of your content. It is only shown when viewing that content in full view, and is not shown in Blog Lists.&nbsp; </p><h3><span style="FONT-WEIGHT: bold">Content Mambots</span></h3><p>Content Mambots are special tags you place in your content that Mambo parses to perform a particular action or function. These Mambots will be available (if published) even if you choose NO WYSIWYG editor in the Global Configuration. They may be published or edited through the Mambot Manager (Mambots-&gt;Site Mambots, Filter set to content).<br /><br />The two default Mambots specifically used when editing content are: <br /></p><ul style="MARGIN-LEFT: 40px"><li><strong>{ mosimage } (mosimage Mambot)</strong>: Used to tell Mambo where to place graphics in your content.</li><li><strong>{ mospagebreak } (mospaging Mambo)</strong>: Instructs Mambo to create a page break in your content. You can break your content into several pages if you like. If you do, a table of content will display to let you navigate between the different pages created.</li></ul><p><br />Buttons to insert these codes may be published or not through (Mambots-&gt;Site Mambots, Filter set to editor.xtd). You may also manually type them into your content. Remember that in order for your images to show in the content, you must insert the {mosimage} code snippet where you would like your image to be placed in your content. <br /><br /><strong>NOTE</strong>: The images in the Intro Text can be hidden for Blog Lists. This is a configurable setting for these Menu Items. Also, this is a global setting that will affect your entire web site as a default in Global Configurations. If you are having trouble getting images to display within the Intro Text and the problem keeps cropping up in Blog Lists, then make sure that the Parameters for MOSImages is set to Show for that menu entry.</p><h3><span style="FONT-WEIGHT: bold">Formatting content</span></h3><p>The formatting options interface depend on the Editor you are using.<br />Many editors are available as Open Source (through MamboForge) or commercial products.<br /><br />Mambo comes with 2 default editors:<br /></p><ul style="MARGIN-LEFT: 40px"><li><strong>NO WYSIWYG</strong>: This editor lets you enter text and/or HTML code directly.</li><li><strong>TinyMCE</strong>: This editor lets edit in WYSIWYG or HTML mode (See specific Help).</li></ul><p><strong>NOTE</strong>: It is advised to publish only one editor at a time in Mambot Manager and to save also that choice in Global Configuration.</p><h3>Parameters Tabs</h3><p><span style="FONT-WEIGHT: bold">The Attributes Area for content consists of five tabs: </span><br />Publishing, Images, Parameters, Meta Info and Link to Menu.<br /><br /><span style="FONT-WEIGHT: bold">Publishing</span><br /><span style="FONT-STYLE: italic">Publishing Info</span><br /><br /><strong>Show on Frontpage</strong>: Check the box if you want this content to be assigned to the FrontPage Component.<br /><br /><strong>Published</strong>: Check the box to let the item show on your site.<br /><br /><strong>Access Level</strong>: Choose who will be able to view this content. Public, registered or special.<br /><br /><strong>Author Alias</strong>: You can publish the author's name for a piece of content. You can choose a Registered user as displayed through the dropdown or type any name there (an author that does not have an account or content created by many authors as a group).<br /><br /><strong>Change Creator</strong>: This allows you to assign ownership of this content to another registered user.<br /><br /><strong>Ordering</strong>: Select the order in which this content is listed relative to others in this Category. The choices available in the dropdown will show once changes to the item are saved or applied.<br /><br /><strong>Override Created Date</strong>: This shows the created date for the content. You can change the date if necessary.<br /><br /><strong>Start Publishing</strong>: Select the date when this document is to be published on the web site.<br /><br /><strong>Finish Publishing</strong>: If desired, you can set the date when your content is to be expired.<br /><br /><strong>Content ID</strong>: This is the ID of the content in the database.<br /><br /><strong>State</strong>: This shows the current state of the document. It is not editable.<br /><br /><strong>Hits</strong>: This gives the number of times this content was viewed. The Reset Hits Value button allows you to reset the counter to zero.<br /><br /><strong>Revised</strong>: This shows the number of edits this content has undergone.<br /><br /><strong>Created</strong>: This is the date this content item was created.<br /><br /><strong>By</strong>: This is the name of the user that created the content item.<br /><br /><strong>Last Modified</strong>: This is the date when this content item was last modified, if ever.<br /><br /><strong>By</strong>: This is the name of the user that last modified this content, if ever. <br /><br /><br /><span style="FONT-WEIGHT: bold">Images</span><br /><span style="FONT-STYLE: italic">MOSImage Control</span><br /><br /><strong>Sub-folder</strong>: Choose here the sub-folder you want to get the images from. These are in images/stories/.<br /><br /><strong>Gallery Images</strong>: This dropdown lists the images available in the specific sub-folder. <br />Highlight one or multiple image name(s) and click on the 'Add' button.<br />The name(s) will display in the Content Images dropdown.<br /><br /><strong>Content Images</strong>: The 'up' and 'down' buttons determine the order of images if there are more than one on this page. The images will display relative to the instances of {mosimage} tags in your content.<br /><br /><strong>Edit the image selected</strong></p><p>Select an image in 'Content Images'.<br /><strong>Source</strong>: Displays the default name of the image highlighted. You may edit that name.<br /><strong>Image Align</strong>: Lets you choose between None, center, left or right.<br /><strong>Alt Text</strong>: Lets you choose an Alt Text for the image.<br /><strong>Border</strong>: Type here the number of pixels you want the border to be around the image.<br /><strong>Caption</strong>: Type here a caption for the image.<br /><strong>Caption Align</strong>: Lets you choose between None, center, left or right.<br /><strong>Width</strong>: Type here a number in pixels to override the width of the image<br /><strong>Apply</strong>: Click on this button to apply all the parameters defined for this image<br /><br /><span style="FONT-WEIGHT: bold">Parameters</span><br /><span style="FONT-STYLE: italic">Parameter Control<br /><br /></span>These parameters control what you see when you view a Content Item in full view.<br /><br /><strong>Page Class Suffix</strong>: Allows you to set customized styles for this page. The suffix you type here is automatically added to the CSS classes for this page, and will have to be defined in your template's CSS stylesheet for usage.<br /><br /><strong>Back Button</strong>: Controls whether to show or hide a &quot;Back&quot; text link that would appear on the bottom of the page and return the user to the previously viewed page. The pull down lets select 'Use Global' to use the parameter as defined globally through the Site-&gt;Global Configuration, 'Hide' or 'Show'.<br /><br /><strong>Page Title</strong>: Text to display at the top of the page.<br /><br /><strong>Show/Hide Page Title</strong>: Hides or shows the Page Title text (defined in the field described above).<br /><br /><strong>Section Name</strong>: Hides or shows the name of the section to which each item belongs. If this option is turned on, each item's section name will be shown under the item's title on the home page.<br /><br /><strong>Section Name Linkable</strong>: Enables you to make each item's section name linkable. Applies only when the Section Name option (described above) is set to 'Show.'<br /><br /><strong>Category Name</strong>: Hides or shows the name of the category to which each item belongs. If this option is turned on, each item's category name will be shown under the item's title on the home page.<br /><br /><strong>Category Name Linkable</strong>: Enables you to make each item's category name linkable. Applies only when the Category Name option (described above) is set to 'Show.'<br /><br />For each of the following eight items listed below, you can use the option selected in the Global Configuration settings (Site -&gt; Global Configuration) by selecting 'Use Global' or you can override the Global Configuration setting by selecting 'Show' or 'Hide.' Overriding the settings here for items will not affect the Global Configuration settings and will not affect the settings on the rest of the site.<br /><br /><strong>Linked Titles</strong>: Enables you to make item titles linked. The link will go to the item page.<br /><br /><strong>Item Rating</strong>: Hides or shows ratings given to home page items by your site's users.<br /><br /><strong>Author Names</strong>: Hides or shows the names of authors of items.<br /><br /><strong>Created Date and Time</strong>: Hides or shows the date and time that items were created.<br /><br /><strong>Modified Date and Time</strong>: Hides or shows the date and time that items were last modified.<br /><br /><strong>PDF Icon</strong>: Hides or shows the icon and link to the PDF version of items.<br /><br /><strong>Print Icon</strong>: Hides or shows the icon and link to the printer-friendly format of items.<br /><br /><strong>Email Icon</strong>: Hides or shows the icon and link to the page that enables users to email items to others.<br /><br /><strong>Key Reference</strong>: A text key that the item may be referenced by (like a help reference).<br /><br /><strong>Docbook Type</strong>: Experimental, do not use in production work. Associates a type of DocBook document to this item.<br /><br /><span style="FONT-WEIGHT: bold">Meta Info</span><br /><span style="FONT-STYLE: italic">Meta Data</span><br /><br /><strong>Description</strong>: This information is inserted in the headers of your content. It is commonly used by search engines.<br /><br /><strong>Keywords</strong>: These keywords are related to the header information provided for search engines, but they also provide another important function. These keywords drive the What's Related Module that provides automatic links to other content items that shares a similar keyword. <br /><br /><strong>Add Sect/Cat/Title</strong>:&nbsp; Clicking on this button is a convenient way to insert the content's information into the keywords field, including the content's title, section name, and category name. <br /><br /><span style="FONT-WEIGHT: bold">Link to Menu<br /><br /></span>This will create a 'Link - Content Item' in the menu you select.<br /><br /><strong>Select a Menu</strong>: Highlight here once the menus defined for your site.<br /><br /><strong>Menu Item Name</strong>: The name of the Menu as it will appear on your site.<br /><br /><strong>Link to Menu</strong>: Click on this button to create the Menu Item.<br /><br /><br /><span style="FONT-WEIGHT: bold">Existing Menu Items<br /><br /></span>This displays a list of all 'Link - Content Item' Menu Items referencing this content.<br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.staticcontent.html 4.5.4/help/454.screen.staticcontent.html
--- 4.5.2.3/help/454.screen.staticcontent.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.staticcontent.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Static Content Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Static Content Manager</h1>
+<p >The Static Content Manager&nbsp;shows a list of the Static Content items on your site.<br />Static Content Items are not part of a section or category. They cannot be added to a blog, category or section page. The only way to display them on your site is through a Menu.</p><p >You may enter text in the &quot;<strong>Filter</strong>&quot; box to refine the list based on whether the text is found in the title of any item. Type in any text and press Enter. You may also &quot;<strong>Order</strong>&quot; the list by a specific ordering and/or Author.</p>
+<h3 ><span style="FONT-WEIGHT: bold">Toolbar Actions</span></h3><p >You &quot;select&quot; items by clicking the checkbox at the start of each row.<br />&nbsp;<br /><strong>New</strong>: Click the 'New' icon to create a new Static Content item.<br />&nbsp;<br /><strong>Edit</strong>: Click the 'Edit' icon to edit the Static Content item.<br /><br /><strong>Publish and Unpublish</strong>: Click the 'Publish' or 'Unpublish' icon to publish or unpublish any number of selected Static Content items.<br />&nbsp;<br /><strong>Trash</strong>: Click the 'Trash' icon to put the Static Content items in the trash bin. They are not completely removed but can't be displayed on your site. You can restore this Static Content items in the Trash Manager.</p><h3 ><span style="FONT-WEIGHT: bold">Columns</span></h3><p ><strong>Title</strong>: This is the title of the Content item. Click here to edit content. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit ,<br /><br /><strong>Published</strong>: This shows whether the item is published. Hover over this icon to see a summary of the publishing information. Click to change state.<br /><br /><strong>Order</strong>: Shows the order of Static Content Items in list. You may change it by editing 2 # conjointly and clicking on the 'Save Order' icon next to the Column Heading 'Order'.<br /><br /><strong>Access</strong>: This is the user access level for the menu item. Click on the Access level to switch it to another value.</p><p ><strong>ID</strong>: This is the ID of the item in the database.</p><p ><strong>Links</strong>: This is the # of Link - Static Content Items for this item in your menus.<br />&nbsp;<br /><strong>Author</strong>: This shows the name of the author of the Static Content. Click to edit the author information.<br /><br /><strong>Date</strong>: This is the date the item was created.<br /></p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.stats.searches.html 4.5.4/help/454.screen.stats.searches.html
--- 4.5.2.3/help/454.screen.stats.searches.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.stats.searches.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Search Engine Text</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Search Engine Text</h1>
+This page lists the logged search text that visitors have used on your site. <p><strong><font color="#ff0000">You must enable the &quot;Log Search Strings&quot; option in the &quot;Statistics&quot; tab of Global Configuration for this data to be collected.</font></strong></p><p>The list shows:</p><p><strong>Search Text</strong>: This is the string or phrase the site visitor entered. <br />&nbsp;<br /><strong>Times Requested</strong>: This is the number of times this text has been entered.<br />&nbsp;<br /><strong>Results Returned</strong>: This is the number of search items that would appear if you performed the search now.<br />&nbsp;<br />Some results to look at are words or phrases that are commonly searched for, but return no results. You should assess whether you have content that is applicable. If necessary, add keywords using the Meta Info tab for that content item.</p><p>Other results to look for are misspelt words or related words. For example, if a common search word is 'dark' but it is commonly misspelt as 'drak' then you may consider putting 'drak' in the keywords section. You may also have content about a waste facility where you might add common alternative terms in the meta keywords such as 'trash' or 'dump'.</p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.syndicate.html 4.5.4/help/454.screen.syndicate.html
--- 4.5.2.3/help/454.screen.syndicate.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.syndicate.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Syndication Settings</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Syndication Settings</h1>
+<p align="center" width="550" border="0" hspace="0" vspace="0" height="299"><table class="hs_table"><tbody><tr><td class="hs_header01"><p><strong>Syndication Settings</strong></p></td></tr><tr><td class="hs_header02"></td></tr></tbody></table></p><p class="auto"  align="left">To&nbsp;syndicate your site is&nbsp;to make the Content Items from your Web&nbsp;site assigned to the FrontPage Component&nbsp; available for&nbsp;syndication via&nbsp;a&nbsp;distributable file. Other site owners can display this information in their web sites.</p><p class="auto"  align="left"><strong>Cache:</strong> Yes&nbsp;or&nbsp;No? Choose the&nbsp;'Yes' radio button to&nbsp;create and&nbsp;display a&nbsp;new News Feed dependant on&nbsp;the value set&nbsp;in&nbsp;the Cache Time field. Choose the&nbsp;'No' radio button to&nbsp;display a&nbsp;new News Feed each time an&nbsp;item is&nbsp;added to&nbsp;the FrontPage Component and&nbsp;each time the&nbsp;News Feed is&nbsp;accessed by&nbsp;another server. <br /><strong><br /><span style="COLOR: rgb(255,0,0)">Warning:</span></strong> Setting Cache to&nbsp;'No' will cause your News Feed to&nbsp;be checked every time someone visits any&nbsp;site where your News Feed is&nbsp;syndicated. This can&nbsp;potentially cause excessive bandwidth usage as&nbsp;well as&nbsp;extreme draw on&nbsp;your server resources.<br /><br /><strong>Cache Time</strong>: This is&nbsp;the number of&nbsp;seconds before your site's database is&nbsp;checked for&nbsp;updates. The&nbsp;default in&nbsp;Mambo is&nbsp;3600 seconds, or&nbsp;60 minutes. After this time has&nbsp;elapsed, the&nbsp;News Feed will refresh itself from your database thus displaying any&nbsp;new items you&nbsp;have published&nbsp; through the FrontPage Component to&nbsp;your News Feed.</p><a  name="p310-5"></a><p class="auto"  align="left"><strong>#Items:</strong> Type the&nbsp;number of&nbsp;items you&nbsp;would like to&nbsp;syndicate and&nbsp;display in&nbsp;your News Feed. <strong></strong><br /><br /><strong>Title:</strong> Type the&nbsp;title you&nbsp;wish to&nbsp;display above your articles within your syndicated News Feed when it&nbsp;is displayed on&nbsp;those sites and&nbsp;pages which syndicate your News Feed. The title will appear as a link to your site.<br /><br /><strong>Description:</strong> Type a&nbsp;brief statement to&nbsp;describe your News Feed. If none is entered, it will default to &quot;Mambo site syndication&quot;.<br /><br /><strong>Image:</strong> Select an&nbsp;image from the&nbsp;<span class="nobr">drop-down</span> menu to&nbsp;be included in&nbsp;your News Feed.&nbsp; If you do not have an image, you can upload one via the Media Manager.<br /><br /><strong>Image Alt:</strong> Type the&nbsp;text for&nbsp;the alt tag&nbsp;to&nbsp;compliment the&nbsp;image you've selected for&nbsp;inclusion in&nbsp;the News Feed via&nbsp;the Image <span class="nobr">drop-down</span> menu.<br /><br /><strong>Limit Text:</strong> Yes&nbsp;or&nbsp;No? Choose the&nbsp;'Yes' radio button if&nbsp;you wish to&nbsp;limit the&nbsp;Text Length field. Choose the&nbsp;'No' radio button to&nbsp;force the&nbsp;value in&nbsp;the Text Length field to&nbsp;be ignored, thus displaying the&nbsp;entire contents of&nbsp;each item.<a name="p310-11"></a></p><p class="auto"  align="left"><strong>Text Length:</strong> Type the&nbsp;number of&nbsp;words to&nbsp;display per&nbsp;News Feed item. <br /><strong>NOTE:</strong> The&nbsp;Limit Text radio button must be&nbsp;set to&nbsp;'YES' to&nbsp;activate this function.<br /></p><p class="auto"  align="left"><strong>Order</strong>: Order that the items -as listed in the FrontPage Manager- will be displayed. <br /></p><ul><li><span >'Default': Arranges items according to the order set in the FrontPage Manager.</span></li><li><span >'FrontPage Ordering': Same as above.</span></li><li><span >'Oldest first': Arranges items in chronological order, with the oldest items first.</span></li><li><span >'Most recent first': Arranges items in chronological order, with the newest items first.</span></li><li><span >'Title Alphabetical': Arranges items by title in alphabetical order.</span></li><li><span >'Title Reverse-Alphabetical': Arranges items in reverse-alphabetical order.</span></li><li><span >'Author Alphabetical': Arranges items by author in alphabetical order.</span></li><li><span >'Author Reverse-Alphabetical': Arranges items by author in reverse alphabetical order.</span></li><li><span >'Most Hits': Arranges items according to the number of hits, with the items with the most hits first.</span></li><li><span >'Least Hits': Arranges items according to the number of hits, with the items with the least hits first.</span></li></ul><span ><br /><strong>Live Bookmarks</strong>: Activate support for Firefox Live Bookmark functionality.<br />Bookmark File: Special file name. If none is entered, will use the default file.</span> </body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.system.info.html 4.5.4/help/454.screen.system.info.html
--- 4.5.2.3/help/454.screen.system.info.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.system.info.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>System Information</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>System Information</h1>
+<p>The information is displayed in a tabbed format with three main sections of content.</p><p><strong>System Info Tab</strong>: This a broad snapshot of the server and versions of the current installation components of your Mambo site. Here you will find your PHP build and version, your MySQL database version along with the Mambo version and relevant settings that your server has set that might interfere with your current site installation. Here, you will also find the contents of your Mambo Configuration file. This file is produced when you perform the installation of Mambo on your server, and is changed when you make changes to in the global configuration section of the Administration of Mambo. This file defines many of the global variables that Mambo uses to execute. You can not edit the file from here, but it does allow you to look at your current settings to find problems or to copy the information for a support post on the forum on <a href="http://www.mamboserver.com/">www.mamboserver.com</a>.<br />&nbsp;<br /><strong>PHP Info Tab</strong>: PHP is the server side scripting language that Mambo runs on. This language is installed and executes on the server, and therefore all the settings are made on that server. Everything you ever wanted to know about the PHP installation on your Mambo server is listed here. How much control you have over changing this information depends on whether you own the server or if your server host is willing to work with you on needed changes. The PHP tab will allow you to look at all the settings and variables that define your PHP installation. It is a good practice to insure that you know what requirements are needed for any 'Third Party' Components that you plan to use with Mambo. You can then check for those requirements here.&nbsp;<br />&nbsp;<br /><strong>Permissions Tab</strong>:&nbsp;Displays a list of all critical Mambo directories that should be writable in order for Mambo to function correctly.&nbsp;If you find a directory that is not writable, you should change it to writable. You cannot do it from here. You have to do it using your FTP&nbsp;client, or asking your hoster to do it for you.<br /></p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.templates.assign.html 4.5.4/help/454.screen.templates.assign.html
--- 4.5.2.3/help/454.screen.templates.assign.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.templates.assign.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Templates: Assign</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Templates: Assign</h1>
+<p>This page lets you assign the template chosen to specific Menu Items/pages.<br /><br />The&nbsp;list displays all your Menu Items grouped per menu.</p><p>You can select multiple Menu Items, by holding the CTRL key while clicking.</p><p>This will override de default template for the pages chosen. <br /><br />If you choose '<strong>None</strong>', the Default template will be used for all&nbsp; Menu Items/pages. </p><h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>Save</strong>: Saves your choice and returns to the Template Manager.<br /><br /><strong>Cancel</strong>: Cancels the action and returns to the Template Manager.</p><p><strong>Help</strong>: This Help Screen.<br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.templates.html 4.5.4/help/454.screen.templates.html
--- 4.5.2.3/help/454.screen.templates.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.templates.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Template Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Template Manager</h1>
+<p>Using Template Manager you can&nbsp;view all the installed templates. You can also assign and edit Templates. Templates affect the way your site looks. You have to set one as the default. You can assign other templates to Menu Items/pages you choose. That way, you can change if you wish, the way your site looks, based on the context.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar</span></h3><p>Select a template by checking the radio button next to its name.<br /><br /><strong>Default</strong>: Assigns this default template to all Menu Items/pages. That will be the main template. It will be used, unless it is overridden by an assigned template.<br /><br /><strong>Assign</strong>: Opens a page where you can assign this template to specific Menu Items/pages. This will override the default template for the pages chosen. If you choose 'None', it will act the same way as the 'Default' parameter. <br />This function is not available for Administrator templates.<br /><br /><strong>NOTE</strong>: Both the assigned and the default template will get overridden by the Template Chooser module in the Frontend, if used. Any template displayed on this list will show in the Template Chooser module.<br />&nbsp;<br /><strong>New</strong>: Lets upload/install a new template to your site.<br />&nbsp;<br /><strong>Edit HTML</strong>: Lets edit the templates/the-template-chosen/index.php file. This is the file loaded in the FrontEnd when a user opens your site.<br /><br /><strong>Edit CSS</strong>: Lets edit the templates/the-template-chosen/css/template_css.css file which contains the CSS classes definitions for this specific template<br />&nbsp;<br /><strong>Delete</strong>: Lets you delete a template. You will be asked to confirm the delete operation. Select 'Yes' to delete or 'No' to cancel. The template will be&nbsp;permanently deleted from the database.</p><p><strong>Help</strong>: Shows this Help Screen.<br />&nbsp;<br />The Administrator Templates can be choosen by clicking the &quot;Default&quot; icon. Administrator Templates are not assignable to any pages.</p><h3><span style="FONT-WEIGHT: bold">Table Columns</span></h3><p><strong>Name</strong>: This is the name of the template. If you mouseover this name -and the 'Preview template' on top right of the list is checked-, a preview of the template is displayed.<br />&nbsp;<br /><strong>Default</strong>: This is the template that is currently published as the site template (only one can be published at a time).<br />&nbsp;<br /><strong>Assigned</strong>: This tells us whether the template is dynamically assigned to one of the pages on the site.<br />&nbsp;<br /><strong>Version</strong>: This is the template version.<br />&nbsp;<br /><strong>Date</strong>: This is the creation date of the template.<br />&nbsp;<br /><strong>Author URL</strong>: A URL provided by the author.<br />&nbsp;<br /><br /></p></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.templates.modules.html 4.5.4/help/454.screen.templates.modules.html
--- 4.5.2.3/help/454.screen.templates.modules.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.templates.modules.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Module Positions</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Module Positions</h1>
+<p align="left">The Module Positions page allows you to enter details of the module positions you have used in your template. All the default module positions are already entered and in general it is unlikely you would need to change this.<br /><br />Should you want to use positions that do not pre-exist in the default Mambo setup you can simply add a name for a module position and a description. The description is optional.</p><p align="left"><br /><br />To create a new module position in your template, you insert this basic code into your template to be able to assign modules to a specific position.<br /></p><p><strong>&lt;?php mosLoadModules ( 'position' ); ?&gt;</strong></p><p align="left">The word 'position' is to be changed to whichever position you define on this page. The name of the positin must&nbsp;not has any spaces.</p><p align="left">Each module position you define in your template, must have an entry in module positions screen. Otherwise it wan't function.<br /><br />When you click on <strong>Site -&gt; Preview -&gt; Inline with Position</strong>, you may visualize your Home page with blocks displaying the Positions used in the template assigned to the Home page. </p><p align="left" /></body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.trashmanager.html 4.5.4/help/454.screen.trashmanager.html
--- 4.5.2.3/help/454.screen.trashmanager.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.trashmanager.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Trash Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Trash Manager</h1>
+<p>This screen shows&nbsp;a list of the Content Items that is in the 'Trash bin'. Trash bin is the equivelant of the 'Recycle bin' on Windows. There are two tabs. <strong>Content Items tab</strong>, displays all the content items that have been trashed. <strong>Menu Items tab</strong>, displays all the Menu Items that have been trashed.</p>
+<h3>Toolbar</h3><p><strong>Restore</strong>: Select an item from the table and click the Restore icon to undelet it. The item will be returned to its original position, and by default, it will be unpublished.</p><p><strong>Delete</strong>: Select an item from the table and click the delete icon, to<strong> permanently delete</strong> it.</p><p><strong>Help</strong>: You see this help screen</p><h3>Table</h3><p><strong>Title</strong>: This is the title of the trashed item<br />&nbsp;&nbsp;&nbsp; <br /><strong>Section</strong>: This is the section of the trashed item.<br />&nbsp;&nbsp;&nbsp; <br /><strong>Category</strong>: This is the category of the trashed item.<br />&nbsp;&nbsp;&nbsp; <br /><strong>ID</strong>: This is the ID of the trashed item.<br />&nbsp;&nbsp;&nbsp; <br /><strong>Menu</strong>: The menu this menu item belongs</p><p><strong>Type</strong>: The type of menu item</p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.users.edit.html 4.5.4/help/454.screen.users.edit.html
--- 4.5.2.3/help/454.screen.users.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.users.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>User Manager - Add or Edit Users</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>User Manager - Add or Edit Users</h1>
+<p>This screen is used to either add a new user or edit an existing one.</p>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><strong>Save</strong>: Lets save the creation/modification and return to User Manager.</p><p><strong>Apply</strong>: Saves the creation/modification and keeps the screen open for editing.<br /></p><p><strong>Cancel</strong>: Cancels the action and lets the User checked-in.</p><h3><span style="FONT-WEIGHT: bold">User Details</span></h3><p><strong>Name</strong>: Type here the name of the user as it will be listed in the User Manager.</p><p><strong>Username</strong>: Type here The Username as it has to be entered for login.</p><p><strong>Email</strong>: Type here the user's e-mail adress.</p><p><strong>New Password</strong>: Type here the user's password. If you want to change a user's password you can enter here the new one, and retype it on the next field.</p><p><strong>Verify Password</strong>: Type here the user's password.<br /></p><p><strong>Group</strong>: Choose here a type of user. Please see below for detailed information.</p><br /></p><p><span style="TEXT-DECORATION: underline"></span><strong>Block User</strong>: Prevents or lets user login.</p><p><strong>Receive Submission Emails</strong>: Enable or not an e-mail be sent to the administrator when the user has submitted some content.<br /></p><p><strong>Register Date</strong>: Displays the date the user has been registered.<br /></p><p><strong>Last Visit Date</strong>: Displays the date on which this user has last logged in.</p><h3><span style="FONT-WEIGHT: bold">Contact Information</span></h3><p>These informations are only present when editing a user and only if the contact has been created in the Contacts Component and linked to the user (Components -&gt; Contact -&gt; Manage Contacts). If this has been done the information will be displayed and a link at the bottom of the box provides a direct access to the Edit Contact page for that contact.</p><p />
+<h1>Access Control Levels</h1> 
+<p>Registered users of a Mambo site belong to several groups. These groups are divided into two main gategories: Frontend and Backend. Users belonging to Frontend groups have only access to the Front end. Users belonging to&nbsp;Backend&nbsp;groups have only access both&nbsp;to the Front end and to the Back end.</p><p>Groups, are the way Mambo uses to set priviliges and access rights to users. Based on them, users, can view, have access to info for registered users, or edit/add/delete content&nbsp;using the frontend or backend interface.&nbsp;</p><h3>Frontend groups</h3><p><strong>Registered - </strong>This group allows the user to login to the Frontend interface.</p><p><strong>Author -</strong> This group allows a user to post content, usually via a link in the User Menu.</p><p><strong>Editor - </strong>This group allows a user to post and edit any content item from the Frontend.</p><p><strong>Publisher -</strong> This group allows a user to post, edit and publish any content item from the Frontend.</p><h3>Backend groups or Administration section groups</h3><p><span style="FONT-WEIGHT: bold">Manager</span>- This group allows access to content creation and system information.<br />Administration Menus accessed:</p><ul><li>Help (general), including System Info.<br /></li><li>Site: Media Manager, Preview.</li><li>Menu: Edit existing Menus, including creating Menu Items. All related functions.</li><li>Content: Content Managers, Static Content Manager, Section Manager, Category Manager, FrontPage Manager and Archives Manager. All related functions.</li></ul><p><strong>Administrator -</strong> This group allows access to most administration functions.<br />All functions accessed by <span style="FONT-WEIGHT: bold">Manager</span>, plus:</p><ul><li>Site: Statistics, Trash Manager, User Manager (may create/edit/delete any type of user except SuperAdministrator; Note: as of 4.5.2.1, may also delete an other administrator bug corrected in 4.5.3.)</li><li>Menu: Menu Manager</li><li>Modules, Components, Mambots: Install/Uninstall, Create, Edit. Except Mass mail Component.<br /></li></ul><p><strong>Super Administrator - </strong>This group allows access to all administration functions.<br />All functions accessed by <span style="FONT-WEIGHT: bold">Manager </span>and <span style="FONT-WEIGHT: bold">Administrator</span>, plus:<br /><br /></p><ul><li>Site: Global Configuration, Language Manager, Template Manager, User Manager (may create/edit any type of user, may delete any user except SuperAdministrator; Note 1: SuperAdministrator may be deleted through the database; Note 2: as of 4.5.2.1, details for SuperAdministrator may be changed by another SuperAdministrator bug).</li><li>Components: Mass Mail.<br /></li><li>Messages: Inbox, Configuration.</li><li>System: Clear Cache (if Cache has been enabled in Global Configuration), Global Checkin.</li></ul> 
+ </body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.users.massmail.html 4.5.4/help/454.screen.users.massmail.html
--- 4.5.2.3/help/454.screen.users.massmail.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.users.massmail.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Mass Mail Users</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Mass Mail Users</h1>
+<p>This page allow you to send a mail a message to one or more groups of Users.</p>
+<h3>Details</h3><p><strong>Group</strong>: Make a selection from the list. Select &quot;All User Groups&quot; to mail the message to all users. Only one selection can be made from this list.<br />&nbsp;<br /><strong>Mail to Child Groups</strong>: Check this box to automatically include all of the child groups of the selected group. For example, if you select the &quot;Editor&quot; group and check this box, all users in the Publisher group will also be included in the mass mail.<br />&nbsp;<br /><strong>Subject</strong>: Type a subject for the message.<br />&nbsp;<br /><strong>Message</strong>: Type the body of the message<br />&nbsp;<br />When you are finished, click the&nbsp;<strong>Send Mail&nbsp;icon</strong> to mail the message or <strong>Cancel </strong>to abort the mail.<br />&nbsp;<br /><strong>NOTE</strong>: Only a user in the Super Administrator group is permitted to use this feature.<br />&nbsp;</p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.weblink.edit.html 4.5.4/help/454.screen.weblink.edit.html
--- 4.5.2.3/help/454.screen.weblink.edit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.weblink.edit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Web Link Manager : New / Edit</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Web Link Manager : New / Edit</h1>
+<div align="left">This page allow you to add or edit the details for a Web Link.</div>
+<h3><span style="FONT-WEIGHT: bold">Toolbar Icons</span></h3><p><span style="FONT-WEIGHT: bold"></span><strong>Save</strong>: Saves the Web Link and returns to Manager.<br /><br /><strong>Close</strong>: Cancels the action. Any modification is lost. If opened for edit, the Web Link remains checked-in.</p><h3><span style="FONT-WEIGHT: bold">Details</span></h3><p><strong>Name</strong>: Type here the name of the Weblink as it will appear on your site.<br />&nbsp;<br /><strong>Category</strong>: Select the desired category.<br />&nbsp;<br /><strong>URL</strong>: Type here the URL address of the Web Link.<br />&nbsp;<br /><strong>Description</strong>: Add a text description for the Web Link.<br />&nbsp;<br /><strong>Ordering</strong>: Choose here the order of the Web Link in the specific category as it will appear on the site when displayed through the Table - Weblink Category Menu Item.<br />&nbsp;<br /><strong>Approved</strong>: Decides here if a proposed Web Linl is approved by the Administrator and able to be published.<br />&nbsp;<br /><strong>Published</strong>: This is whether the Web Link is published or not.</p><h3><span style="FONT-WEIGHT: bold">Parameters</span></h3><p><strong>Target</strong>: Decides whether clicking on the link will open it in the same Window (Parent Window with Browser Navigation), in a New Window with Browser Navigation or in a New Window without Browser Navigation.<br /></p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/454.screen.weblink.html 4.5.4/help/454.screen.weblink.html
--- 4.5.2.3/help/454.screen.weblink.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/help/454.screen.weblink.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
+<head>
+<title>Web Link Manager</title>
+<link href="css/help.css" rel="stylesheet" type="text/css" />
+<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
+<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
+</head>
+<body>
+<h1>Web Link Manager</h1>
+<p align="left">Weblink Manager is the place from where you can add or administer the Web Links you&nbsp;present on your site. You can create new Web Links, publish, unpublish or&nbsp;delete them.&nbsp;&nbsp;</p><p>This page shows a list of the Web Links.<br />&nbsp;<br /><strong>Title</strong>: This is the name of the Web Link. Click the name to edit the Web Link.<br />&nbsp;<br /><strong>Category</strong>: This is the category that the Web Link is assigned to.<br />&nbsp;<br /><strong>Hits</strong>: This is the number of hits that the Web Link has received.<br />&nbsp;<br /><strong>Checked Out</strong>: This shows the name of a user if this Web Link item is 'Checked Out'. You will not be able to edit an item if it is checked out by another user. It must be checked&nbsp;back in by an administrator by going to Systems in the Menu bar -&gt; Global Checkin. It can also be checked back in by the User who has checked the item out by clicking the 'Edit' icon of the Web Link item and then clicking the the 'Save' or 'Cancel' icon.<br />&nbsp;<br /><strong>Approved</strong>: This is whether the Web Link has been approved for publication. Remeber that user submitted links are not automatically approved.<br />&nbsp;<br /><strong>Reorder</strong>: Click the icons to move the record up or down in the list.<br />&nbsp;<br />To <strong>Publish</strong> or <strong>Unpublish</strong> one or more Web Links, select the checkbox(es) next to the name of the Web Link(s) and click either the 'Publish' or 'Unpublish' icon.<br />&nbsp;<br />Click the 'New' icon to <strong>add a new category</strong>.<br />&nbsp;<br />Click the name of the Web Link to <strong>edit the details</strong>, or select the check box next to the name and <strong>click the 'Edit' icon</strong>.<br />&nbsp;<br />To <strong>delete a Web Link</strong>, select the check box next to the name and click the 'Delete' icon. You will be asked to confirm the delete operation. Select 'Yes' to delete the Web Link or 'No' to cancel.<br />&nbsp; </p>
+</body>
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/css/help.css 4.5.4/help/css/help.css
--- 4.5.2.3/help/css/help.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/css/help.css	2006-08-01 01:34:25.000000000 -0500
@@ -1,25 +1,34 @@
-body {
-	font-family: verdana, arial, sans-serif;
-	font-size: 9pt;
-}
-
-h1 { 
-	color: #fea540;
-	font-size: 1.5em;
-    border-left: 25px solid #fea540;
-	border-bottom: 1px solid #fea540;
-	padding: 0 0 2px 5px;
-}
-
-h2 { 
-	color: #fea540;    
-	font-size: 1.3em;
-	margin: 1ex 0; 
-}
-
-pre {
-	text-align: left;
-	background-color: #fff;
-	border-left: 1px solid #aaa;
-	padding: 5px;
-}
\ No newline at end of file
+body {
+	font-family: verdana, arial, sans-serif;
+	font-size: 9pt;
+}
+
+h1 { 
+	color: #990000;
+	font-size: 1.5em;
+  border-left: 25px solid #cc0000;
+	border-bottom: 2px solid #cc0000;
+	padding: 0 0 2px 5px;
+}
+
+h2 { 
+	color: #990000;    
+	font-size: 1.3em;
+	margin: 1ex 0; 
+}
+
+h3 { 
+	color: #006699;    
+	font-size: 1.2em;
+	margin: 1ex 0; 
+  border-left: 10px solid #fea540;
+	padding: 0 0 2px 5px;
+}
+
+
+pre {
+	text-align: left;
+	background-color: #fff;
+	border-left: 1px solid #aaa;
+	padding: 5px;
+}
diff -ruN 4.5.2.3/help/mambo.credits.html 4.5.4/help/mambo.credits.html
--- 4.5.2.3/help/mambo.credits.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/mambo.credits.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,174 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Credits</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Credits</h1>
-
-<h1>Contributions</h1>
-  <ul>
-		<li>
-			<strong>Andrew Eddie</strong>: Project Director
-		</li>
-
-		<li>
-			<strong>Rey Gigataras</strong>: Mambo Developer
-		</li>
-
-		<li>
-			<strong>Emir Sakic</strong>: Mambo Developer
-		</li>
-
-		<li>
-			<strong>Alex Kempkens</strong>: Mambo Developer
-		</li>
-
-		<li>
-			<strong>Andy Miller</strong>: Mambo Developer
-		</li>
-
-		<li>
-			<strong>Mitch Pirtle</strong>: Database/PHP Developer
-		</li>
-
-		<li>
-			<strong>Tim Broeker</strong>: Web Standards
-		</li>
-
-		<li>
-			<strong>Nick Designer</strong>: Web Design
-		</li>
-
-		<li>
-			<strong>Michelle Bisson</strong>: Documentation Manager
-		</li>
-
-		<li>
-			<strong>Brian Teeman</strong>: Counsellor
-		</li>
-
-		<li>
-			<strong>Andy Stewart</strong>: Maintainer
-		</li>
-
-		<li>
-			<strong>Peter Koch</strong>: Maintainer
-		</li>
-
-		<li>
-			<strong>Levis Bisson</strong>: Maintainer
-		</li>
-
-		<li>
-			<strong>Past Contributions</strong>: Robert Castley, Phil Taylor, Ron Bakker, Steen Rabol, James Logan
-		</li>
-  </ul>
-	<h1>Third Party Tools</h1>
-  <ul>
-		<li>
-
-				<a href="http://www.cs.ucla.edu/%7Eheng/JSCookMenu/index.html">JSCookMenu</a>
-				1.25
-				(<a href="http://www.cs.ucla.edu/%7Eheng/JSCookMenu/copyright.html">License</a>)
-
-		</li>
-		<li>
-
-				<a href="http://tinymce.moxiecode.com/">TinyMCE Editor</a>
-				1.38
-				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
-
-		</li>
-		<li>
-
-				<a href="http://www.engageinteractive.com/">DOMIT!</a>
-				1.0
-				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
-
-		</li>
-		<li>
-
-				<a href="http://www.phpconcept.net">PCLZip/PCLTar</a>
-				2.0-rc1
-				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
-
-		</li>
-		<li>
-
-				<a href="http://phpgacl.sf.net">phpGACL</a>
-				3.2.2
-				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
-
-		</li>
-		<li>
-
-				<a href="http://dynarch.com/mishoo/calendar.epl">Calendar</a>
-				0.9.2
-				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
-
-		</li>
-		<li>
-
-				<a href="http://www.bosrup.com/web/overlib">overLIB</a>
-				4.06
-				(<a href="http://www.bosrup.com/web/overlib/?License">License</a>)
-
-		</li>
-		<li>
-
-				<a href="http://www.foood.net">Foood.net Icons</a>
-				N/A
-				(<a href="http://www.foood.net/agreement.htm">License</a>)
-
-		</li>
-		<li>
-
-				<a href="http://webfx.eae.net/">XP-Style Tabs</a>
-				1.0.2
-				(Public Domain)
-
-		</li>
-		<li>
-
-				<a href="http://phpmailer.sourceforge.net/">phpMailer</a>
-				1.72
-				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
-
-		</li>
-		<li>
-
-				<a href="http://www.bitfolge.de/rsscreator-en.html">Feedcreator</a>
-				1.71
-				(<a href="http://www.gnu.org/licenses/gpl.html">LGPL</a>)
-
-		</li>
-		<li>
-
-				<a href="http://pear.php.net">Cache_Lite</a>
-				1.3.1 (CVS)
-				(<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>)
-
-		</li>
-		<li>
-
-				<a href="http://qbnz.com/highlighter/">GeSHi</a>
-				1.0.4
-				(<a href="http://www.gnu.org/licenses/gpl.html">GPL</a>)
-
-		</li>
-		<li>
-
-				<a href="http://www.bitfolge.de/phpvcard-en.html">PHP VCard</a>
-				2.0
-				(<a href="http://www.gnu.org/licenses/gpl.html">LGPL</a>)
-
-		</li>
-	</ul>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/mambo.glossary.html 4.5.4/help/mambo.glossary.html
--- 4.5.2.3/help/mambo.glossary.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/mambo.glossary.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Glossary</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Glossary</h1>
-
-<p><strong>Admin Templates:</strong> Administrator Templates define the lay-out of your Mambo Web site's Backend.</p><p><strong>Alt&nbsp;Tag:</strong> The&nbsp;'alt' attribute, often called the&nbsp;'alt tag' is&nbsp;a text attribute added to&nbsp;the image tag&nbsp;to&nbsp;describe the&nbsp;image contained in&nbsp;the tag. This text is&nbsp;viewable (inside a text box) when one hovers their&nbsp;mouse over an image in the Frontend of&nbsp;a&nbsp;Web&nbsp;site. </p><p><strong>Archive:</strong> Content items can be archived and managed trough the Backend. The Archive Module provides a way of displaying archived items on your Web site.</p><p><strong>Backend:</strong> The 'Backend' is the Mambo Administrator where the site administrator manages the site and it's content.</p><p><strong>Blog:</strong> A Blog style within Mambo is the listing of records in a summary form. Example: It could be by link only, or showing just the introductory text with a link to the complete text. Often the &quot;News&quot; page is written in Blog style.</p><p><strong>Category:</strong>&nbsp; A Category is the name for a collection of items that are related in some way. Example: The category 'Fish' may contain the records 'Herring', 'Haddock' and 'Stickleback'.<br /><br /><span style="font-weight: bold;">Check Out (an item):</span> When a user edits a file they 'Check it Out'. This prevents other users from being able to edit the item at the same time, thus preventing loss of data upon saving.<br /></p><p><span style="font-weight: bold;">CMT:</span> CMT is an acromyme for Components, Modules and Templates.<br /><br /><span style="font-weight: bold;">CMTM:</span> CMTM is an acromyme for Components, Modules, Templates and Mambots.<br /></p><p><strong>Components:</strong> &nbsp;Components are Mambo's content elements or applications that usually appear in the center of a three column Mambo layout, or on the right of a two column Mambo layout. Components are core elements of Mambo functionality. Mambo core components include: Banners, Contact, News Feeds, Polls and Weblinks. Members of the Mambo Community are producing third party Mambo components on a continuous basis. They are available on <a href="http://www.mamboforge.net/">www.mamboforge.net</a> for free download.</p><p><strong>Content item:</strong> Please see 'Item'<strong>.<br /><br />Content Management System (CMS):</strong> &nbsp;A CMS is a software for managing content on a Web site directly on the server.<br /><br /><span style="font-weight: bold;">Core:</span> The Mambo core is the zip-file containing the official standard Mambo installation, which can be found on Mamboforge.net and various other sites. It contains some built-in CMTM's, but can be extended with 3rd party developer's addons.<br /></p><p><strong>Database:</strong> &nbsp;A database is an organized collection of information. It contains a collection of records that you can search, sort and analyze rapidly.</p><p><strong>Elements: </strong>&nbsp;Elements are plug-ins like components, modules, templates, mambots or languages that extend your Mambo installation. These elements can already be bundled into the core or they can be third party elements.</p><p><strong>Frontend:</strong> The Frontend is the Web site that your visitors (or members) will see.</p><p><strong>Frontpage:</strong> &nbsp;The Frontpage is a built-in Component which shows all the published content items from your site marked with the parameter 'Show on Frontpage'. You may configure the display of the Frontpage by editing the menu item associated with it, usually 'Home'.<br /><br /><span style="font-weight: bold;">Global Checkin:</span> When an item is 'Checked Out' and it is not saved or cancelled correctly (e.g. in case of a connection error), it will remain 'Checked Out', and thus uneditable for all other users. Performing a 'Global Checkin' will make those items available again.<br /><br /><span style="font-weight: bold;">Intro Text:</span> When creating or editing a Content Item, the Intro Text should contain a brief introduction. This introduction will be appended by the content in the Main Text box if you have entered content there. When the Content Item is set to show on the Front Page, a 'read on' link will be shown, pointing to the full Content Item.<br /></p><p><strong></strong><span style="font-weight: bold;">Item: </span>An Item is a discrete piece of content within the Mambo hierarchy. An item can be an article, a content category, a menu item or a link.<br /><br style="font-weight: bold;" /><span style="font-weight: bold;">Main Text:</span> When creating or editing a Content Item, the Main Text box contains the text you don't want to show on the Front Page.&nbsp; It shows up after clicking the 'Read On' link in the Frontend of your site.<br /><br /><span style="font-weight: bold;">Mamber: </span>A Mamber is a general term for someone who is part of the Mambo community.<br /></p><p><strong>Mambo:</strong> &nbsp;Mambo is one of the finest Open Source Web Content Management Systems.</p><p><strong>Mambo Administrator:</strong> The Mambo Administrator is an application for administering your Mambo Web site directly on the server. It is sometimes also referred to as any of the <span style="font-weight: bold;">Administrator, Backend</span>, <span style="font-weight: bold;">Admin Section</span>, <span style="font-weight: bold;">Administration Section</span>, or the <span style="font-weight: bold;">Control Panel</span>.</p><p><strong>Mambo User (or/and User Group):</strong> &nbsp;Mambo Users can be arranged in several groups with different levels of access control. User groups with access to the Frontend include Anonymous, Registered, Author, Editor and Publisher. There are also three groups with access to the Backend: Mamager, Administrator and Super Administrator.</p><p><strong>Mambot:</strong> &nbsp;A Mambot is a small, task-oriented function that intercepts content before it is displayed and manipulates it in some way. Mambo provides a number of Mambots in the core distribution.<br /><br style="font-weight: bold;" /><span style="font-weight: bold;">Media Files:</span> Media files such as .gif, .jpg, .png or .bmp files can be used in Content Items and are organised via the Media Manager.<br /></p><p><strong>Modules:</strong> Modules extend the capabilities of Mambo giving the software new functionality.Modules are small content items that can be displayed anywhere that your template allows it to be displayed. Modules are very easy to install in the Admin Section. Mambo modules may include: Main Menu, Top menu, Template Chooser, Polls, Newsflash, Hit Counter, etc. Members of the Mambo Community are producing third party Mambo modules on a continuous basis. They are available on <a href="http://www.mamboforge.net/">www.mamboforge.net</a> for free download.<br /><br /><span style="font-weight: bold;">Newsfeeds: </span>Newsfeeds are a way of sharing content between different sites. This sharing method is meant for creating a news introduction in the way the provider wants it and it normally has a link to the provider's web site. Mambo offers you the posibility to both offer and display Newsfeeds.<br /></p><p><strong>Open Source (OS):</strong> &nbsp;Open Source is a general term describing several parts of the Free Software Licence movement.</p><p><strong>Parameters:</strong> &nbsp;Parameters can be used to alter the presentation of specific items, menu's or modules.<br /><br /><span style="font-weight: bold;">Preview: </span>The 'Preview' icon enables you to see from the Backend what your content item would look like in the Frontend of your site.<br /><br /><span style="font-weight: bold;">Projects:</span> Projects&nbsp; can be compoents, modules, templates, mambots and scripts that are freely set up and managed by their authors at http:projects.mamboserver.com.<br /></p><p><strong>Publish(ed):</strong> &nbsp;This defines the state of various parts of your Mambo installation. For example, installed Elements will only display on your Web site if they're published. Content items can be managed with a start- and end date of publishing.</p><p><strong>Record:</strong> &nbsp;A Record is a generic term for a 'row' in the database, just like a card. A record very often represents a 'piece' of content. The dynamic functionality and much of the content of Mambo relies on a database in order to function.</p><p><strong>Section:</strong> &nbsp;A Section is a collection of Categories that are related in some way. Think of it this way. A section might be called 'News', categories in this section might be 'Today's News', 'Yesterdays News' and 'Other News'.</p><p><strong>Site:</strong> &nbsp;The Mambo Site is the Web site displayed to your visitors or users, containing all the content added in the Admin Section. It is sometime referred to as the 'Frontend'.</p><p><strong>Templates:</strong> Templates define the lay-out of your Mambo Web site. You can assign different templates to various pages of your Web site.&nbsp; Templates can be created for the Frontend of your site called Site Template as well as the Backend called Administrator Templates.<br /><br /><span style="font-weight: bold;">Title:</span> This is the name which is displayed above a Content Item.<br /><br /><span style="font-weight: bold;">Title Alias: </span>This is an alternative title for Content Items. This field is not used by the Mambo core itself, but SEF scripts and dynamic title/meta scripts use it and it may have a future use.<br /></p><p><strong>Workspace:</strong> &nbsp;The Workspace is the section of the Mambo Admin Section where the business of configuration and content publishing takes place. The workspace dynamically updates as you select tools and menu options. The workspace can include: HTML editor, article and link management and several other features.</p><p><span style="font-weight: bold;">Wrapper: </span>A Wrapper is a built-in Mambo component which can display any URL in your website. This can be used to wrap an application like a forum or a gallery, individual pages as well as an entire website. An alternative name is an <span style="font-weight: bold;">Iframe</span>. <br />&nbsp;</p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/mambo.support.html 4.5.4/help/mambo.support.html
--- 4.5.2.3/help/mambo.support.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/mambo.support.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Support</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Support</h1>
-
-<h2>Official Sites</h2><ul><li><a href="http://www.mamboserver.com">www.mamboserver.com</a> - the official Mambo website</li><li><a href="http://mamboforge.net/tracker/?atid=101&group_id=5&func=browse">Bug reporting</a> - use the bug tracker on mamboforge to lodge bugs that you find</li><li><a href="http://forum.mamboserver.com">forum.mamboserver.com</a> - The official support forum for Mambo</li><li><a href="http://mamboforge.net/frs/?group_id=5">Downloads and Patches</a> - Get the Mambo source here as well as any updates</li><li><a href="http://help.mamboserver.com">help.mamboserver.com</a> - Manual, tutorials and reference material for Mambo<br /></li></ul><br /><h2>Addons for Mambo</h2><ul><li><a href="http://mamboforge.net">mamboforge.net</a> - - The object of MamboForge.net is to provide a free project management and download environment for Mambo related projects. It is one of largest central repositories on the web for everything that is to do with Mambo.<br /></li></ul><br /><br /><br />
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/mambo.whatsnew452.html 4.5.4/help/mambo.whatsnew452.html
--- 4.5.2.3/help/mambo.whatsnew452.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/mambo.whatsnew452.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,131 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>What's New in Version 4.5.2</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>What's New in Version 4.5.2</h1>
-
-{mosimage}Version 4.5.2 is the first maintenance release for the 4.5.x series of Mambo. It includes over 125 bug fixes and a
-counter measure for a XSS problem found in the PHP globals variable.
-<h1>Administrator Interface</h1><span style="color: rgb(255, 0, 0); font-weight: bold;">Important</span>: Whenever you enter most &quot;edit&quot; screens, that is, a screen where there is a &quot;Save&quot; button, the menubar will be hidden from view.&nbsp; This is a safety measure to ensure that a user does not simply navigate to another screen without either saving or cancelling, leaving the item &quot;checked out&quot;.<br /><h1>Templates</h1>
-
-
-<h2>Site Templates</h2>
-
-
-<p>Solar Flare II is a new template provided with this release.</p>
-
-
-<h1>Help System Changes</h1>
-
-
-<p>The Help Menu has been reduced to simply link to the index page. The help screen now has quick links to the Support,
-Credits and License pages.</p>
-
-
-<p>The glossary from the manual has now been included in the help system.</p>
-
-
-<p>System Info is also accessed from the help page.</p>
-
-
-<p>Help file can now be in html format as well as docbook xml. Help files can also be included with a component (see
-the API changes below).<br /></p><p>You also have the ability to link to the help files on help.mamboserver.com.&nbsp; In Global Configuration on the Server tab there is field for the &quot;Help Server&quot;.&nbsp; Enter http://mamboserver.com in this field and the help screens will be obtained directly from this site.&nbsp; This makes it possible to have the latest information at your fingertips without having to wait for the next version of Mambo.<br /></p>
-
-
-<h1>Components</h1>
-
-
-<h2>Contacts</h2>
-
-
-<p>V-card capabilities have been added.</p>
-
-
-<h2>Weblinks</h2>
-
-
-<p>If the weblinks list is filtered by a category, new items will auto-select this category.</p>
-
-
-<p>A parameter has been added to control how a weblink opens.</p>
-
-
-<h1>Mambots</h1>
-
-
-<p>A new code highlighting mambot based on GeSHi has been added.</p>
-
-
-<p>New search mambots have been added for Content Sections and Categories.</p>
-
-
-<p>A new Email cloaking Mambot has been added.</p>
-
-
-<h1>Menu Manager</h1>
-
-
-<p>In a menu list, a hyperlink has been to static content items that will take you directly to the edit screen for that
-item. This is also available for Contacts and and Newsfeeds.</p>
-
-
-<h1>Modules</h1>
-
-
-<p>The description of the module a now displayed on the module edit screen (this is sourced from the xml setup
-file).</p>
-
-
-<p>A &quot;Linked Title&quot; parameter has been added to the Newsflash module.</p>
-
-
-<h1>For Deveopers</h1>
-
-
-<h2>Libraries</h2>
-
-
-<p>The DOMIT! library has been updated to the latest version. The DOMIT! XML-RPC library has also been added.</p>
-
-
-<p>TinyMCE has been updated.</p>
-
-
-<p>Feedcreator has been updated.</p>
-
-
-<p>A new tooltip library has been added (author: Walter Zorn). The existing tooltip library is still included in this
-release.</p>
-
-
-<p>The patTemplate xml-based templating library has been added.</p>
-
-
-<h2>API</h2>
-
-
-<p>Parameters can assign a different name ot their form control.<br /></p>
-
-
-<p>The mosreadDirectory function is now able to recursively look in sub directories.</p>
-
-
-<p>The database class supports two new methods. <code>Quote</code> returns an escaped string wrapped in single quotes.
-<code>loadAssocList</code> returns a list of table rows as associative arrays.<br /></p><p><code>mosLoadModules</code> has a new '-3' style. &nbsp;This parameter renders a module using html definition list tags that allow greater flexibility for template designers. &nbsp;Techniques such as css rounded corners around a module is at last possible with this new option.</p>
-
-
-<h2>Admin Toolbars</h2>
-
-
-<p>You can now include help files with your components, for example, in a <code>/help</code> directory under the
-component directory. In addition, you may write help file in html as well as docbook example. To use these new
-features, write the full relative path as the first argument of the mosMenubar help method. Specify <code>true</code>
-as the second (optional) argument. This tells Mambo to look in the component's directory first.</p>
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.banners.client.edit.html 4.5.4/help/screen.banners.client.edit.html
--- 4.5.2.3/help/screen.banners.client.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.banners.client.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Banner: Client Manager : New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Banner: Client Manager : New / Edit *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.banners.client.html 4.5.4/help/screen.banners.client.html
--- 4.5.2.3/help/screen.banners.client.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.banners.client.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Banner: Client Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Banner: Client Manager</h1>
-
-<p align="right">-- Draft version</p><p>The page shows your list of Clients for your banners.</p><p>Toolbar Actions:<br />New - Click this icon to add a new client.<br /><br />Edit - Click the name of the client to Edit their details, or select the check box next to the name and click the 'Edit' icon. You will then be taken to the &quot;Edit&quot; screen.<br /><br />Delete - To delete a client, select the check box next to the name and click the &quot;Delete&quot; icon. You will be asked to confirm the delete operation. Select &quot;Yes&quot; to delete the client or &quot;No&quot; to cancel.<br /><br />Checked Out - This column tells you if an item has been &quot;Checked Out&quot; You will not be able to edit an item if it is &quot;Checked Out&quot; by another user. The name of the user that is editing the item will be shown in the table. It can also be checked back in by the User who has checked the item out, by clicking the 'Edit' icon of the category item and then clicking the the &quot;Save&quot; or &quot;Cancel&quot; icon. It can also be &quot;checked back in&quot; by an administrator.&nbsp; </p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.banners.edit.html 4.5.4/help/screen.banners.edit.html
--- 4.5.2.3/help/screen.banners.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.banners.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Banner Manager : New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Banner Manager : New / Edit *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.banners.html 4.5.4/help/screen.banners.html
--- 4.5.2.3/help/screen.banners.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.banners.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Banner Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Banner Manager</h1>
-
-<p align="right">-- Draft Version<br /></p>This page shows show a list of the Banners for your site.<br />&nbsp;<br />Impressions Made: This is the number of times the banner has been shown on your site.<br />&nbsp;<br />Impressions Left: This is the number of impressions left to display if a limit has been set while creating or editing a banner.<br />&nbsp;<br />Clicks: This is the number of times that particular banner has been clicked on by a user of the site.<br />&nbsp;<br />% Clicks: This is the number of clicks as a percentage ratio to the number of impressions that have been made. 1% would mean for example, that 1 in every 100 people had clicked on the banner.<br />&nbsp;<br />Published: This displays whether the banner is currently Published for Frontend display or not.<br />&nbsp;<br />To Publish or Unpublish one or more banners, select the checkbox(es) next to the name of the banner(s) and click either the 'Publish' or 'Unpublish' icon.<br />&nbsp;<br />Click the 'New' icon to add a new banner.<br />&nbsp;<br />Click the name of the banner to Edit the details, or select the check box next to the name and click the 'Edit' icon.<br />&nbsp;<br />To delete a client, select the check box next to the name and click the 'Delete' icon. You will be asked to confirm the delete operation. Select 'Yes' to delete the client or' No' to cancel.<br />&nbsp;<br />You will not be able to edit an item if it is checked out by another user. The name of the user that is editing the item will be shown in the table.<br />&nbsp;
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.categories.edit.html 4.5.4/help/screen.categories.edit.html
--- 4.5.2.3/help/screen.categories.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.categories.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Category Manager : New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Category Manager : New / Edit *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.categories.html 4.5.4/help/screen.categories.html
--- 4.5.2.3/help/screen.categories.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.categories.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Category Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Category Manager</h1>
-
-<p align="right">-- Draft version</p><p align="left">This page shows show a list of the Categories defined on your site. They are ordered by the section they belong to. The Select Section drop-down lets you display the categories belonging to one specific section at a time.<br /><br />Toolbar:<br />Click the icons after checking the box next to a specific Category. <br /><br />Publish and Unpublish : Same function as ‘Published’ in the headings. You may check multiple checkboxes.<br /><br />New : Create a new Category.<br /><br />Edit : Edit an existing category parameters.<br /><br />Move : Opens a new ‘Move Category’ window where you can choose to move the specific Category and *all its Content Items* to another existing Section. You may click multiple checkboxes here.<br /><br />Copy : Opens a new ‘Copy Category’ window where you can choose to copy the specific Category and *all its Content Items* to another existing Section. You may click multiple checkboxes here. (The content items copied will keep the same name)<br /><br />Delete: Lets you delete the category chosen. An Alert will pop to let you confirm this choice. This action can't be performed if the category contains Content Items. In this last case, you would have to delete the Content Items first.<br /><br />Column Headings:<br />Category Name: This is the name of a category. Click the name to edit the category parameters.<br /><br />Published: Whether a category is published or not. Click the icon to change the state.<br /><br />Order: Order of the categories on the list (this has no effect on site display).<br /><br />You may change it by editing 2 # conjointly and clicking on the ‘Save Order’ button at the bottom of the page.<br />Access: This is the User access level.<br /><br />Section: The name of the Section de category belongs to. Clicking on this name lets you edit the category's section's parameters.<br /><br />Category ID: There is the ID for each category as defined in the database.<br /><br /># Active: This is the number of published content items in the category.<br /><br />#Trash: Number of Content Items belonging to this category and currently in the Trash.</p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.checkin.html 4.5.4/help/screen.checkin.html
--- 4.5.2.3/help/screen.checkin.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.checkin.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Global Check-in</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Global Check-in</h1>
-
-<p align="right"><!--StartFragment --> -- Draft version<br /></p><div style="text-align: left;"><strong>Global Checkin:</strong><br /></div><p align="left">When a User edits a file, Mambo changes its status to, &quot;Checked Out&quot;. In effect, the file is locked and only the User who has &quot;checked it out&quot; has permission to work with it. This is a security feature that prevents two Users from editing a document at the same time, thus preventing loss of data upon saving.<br /><br />A Content Item remains 'Checked Out' until the User clicks 'Save' or 'Cancel' while editing the Content Item, at which time the Content Item is &quot;Checked In&quot;. However, if there's a connection error, the user presses the 'Back' icon in his/her browser, or the User chooses another menu item without saving or canceling the work in progress, the Content Item remains 'Checked Out'. This means no one can edit it. This is usually reported or experienced as Users being unable to edit or access items, and can be verified by looking&nbsp;at the column labeled &quot;Checked Out&quot; in the Section, Category, or Item file list .<br /><br />Mambo has a protocol, called &quot;Global Checkin&quot; that allows an administrator to unlock all Content Items that are currently &quot;Checked Out&quot;.<br /><br />To perform the &quot;Global Check In&quot;, select System &gt; Global Check In from the Administrator Menubar.&nbsp; After performing the &quot;Global Check In&quot;, Mambo returns a list showing how many items, and from which tables, were Checked back in.<br /><br /><strong><font color="#cc0000">WARNING:</font></strong> Be very careful in doing this as anyone who is editing a document at that very moment can have his or her work lost.<br /><br />System Info:<br />The System Info page provides detailed information about the system that your Mambo site is deployed on. This includes version information for the site OS, My SQL, PHP, Web server, and Mambo. It also includes the relevant PHP settings.<br /><br />The information on this page is very useful to Mambo developers when they are trying to help you fix a bug with Mambo. For this reason, it is good practice to post this information along with bug reports or support requests to the Mambo forums.<br /><br />The system information can be reached by either selecting 'System&gt;System Info' option from the Administration menu or by clicking the &quot;System Info&quot; Quick Link in the Control Panel.</p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.config.html 4.5.4/help/screen.config.html
--- 4.5.2.3/help/screen.config.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.config.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Global Configurations</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Global Configurations</h1>
-
-<p align="right">- Draft version</p><p>Global Configuration is the main configuration center in Mambo. Changes made in this area will update your configuration.php file. This file needs to be writable in order for you to be able to edit your configuration.<br /><br />To the right of the write status of configuration.php is a check box labeled Make unwriteable after saving. Checking this box will&nbsp; change the permission of configuration.php to unwritable once you have applied your changes. This is a good idea for security reasons. <br /><br /><br /><strong>Site Tab:<br /></strong>Site Offline - With this you can effectively switch on and off your website 'Frontend'. You will most likely use this option if you are extensively updating your web site and data, and do not wish to have your visitors view the site until you have finished. Remember to turn this option back on again once you're done.</p><p>Offline Message - This is an offline message that your visitors will see on the 'Frontend'. When the Site Offline switch is in the ‘YES’ position, it will display this:<br /><br />&quot;This site is down for maintenance. Please check back again soon.&quot;<br />You can change this text to whatever message you would like your visitors to see.</p><p>System Error Message - This is message that will display if the initial database connection fails.&nbsp; You can type anything you like in this box. We suggest something friendly and apologetic, stating that your site will be available again as soon as possible. You can use standard HTML code in this box also, for instance, &lt;br /&gt; to return a line. You might also consider adding an email address, so that your visitors can contact your System Administrator, or the Webmaster.</p><p>Site Name - This option allows you to set the content of the title bar for your site. It can also be displayed in your template by inserting the following code statement into your template file [Mambo_root/templates/template name/index.php] where you wish your Site Name to appear:</p><p>%%&lt;?php echo $_CONFIG-&gt;SITENAME; ?&gt;%%</p><p>Search Engine Friendly URL's -&nbsp;This option is available only to Apache users.&nbsp; The option when set to 'Yes' enables Mambo to output friendly URLs rather than normal database generated URLs. Mambo comes with an htaccess.txt file in the root which should be renamed to .htaccess, before enabling this function.</p><p>Show Unauthorised Links -&nbsp;With this option turned on, the public or unregistered users will see content to which they would not otherwise have access, (ie content given an Access Level of 'Registered' or 'Special'). But with this option off they will only see content with an Access Level of 'Public'.&nbsp; Access levels for Content, for instance, are set during the creation process by selecting the appropriate level under the Publishing tab.</p><p>Allow User Registration - This option allows you to globally set whether visitors to your site can register for a user account. If set to 'Yes', the Login Form will include the prompt “No account yet? Create one”. If set to 'No', they will not be presented with an option to register.</p><p>Use New Account Activation - If Yes, an activation link will be sent to user's e-mail address. User can not login until he has clicked on the activation link. If No, user will be able to login right away without activation.</p><p>Email New User Password - With this option set to 'Yes', the new user will receive their password details via email.</p><p>Require Unique Email - Select whether you want to prevent registration with duplicate e-mail address. In combination with user activation this option prevents users to sign up several times using the same e-mail address.</p><p>Debug Site - This option allows you to view the error messages that are created by your site's php installation. It can be a handy tool for debugging if you are having some problems, and also for reporting errors to your System Administrator or Web host. The levels of error reporting can be set under the Global Configuration&gt;Server tab, and are as follows:<br />System Default, None, Simple and Maximum.</p><p>WYSIWYG Editor - You can define which of the installed Text Editors you want to use. <br /><br />List Length - Sets the default length for lists in the Administrator. Please note that if you have previously visited a page with a list, changing this setting in Global Configuration will not be immediately visible. However, the setting you specify will be honoured as a default upon your next login.<br /><br />Favourites Site Icon - This sets the icon that appears in some browsers next to the name and/or address of your site.&nbsp; By default this is the Mambo flower.<br /><br /><br /><strong>Locale Tab:</strong><br />Language - &nbsp;This define the default language you would like to use on your site.</p><p>Time Offset - This option sets the time offset in hours between your server location and GMT (Greenwich Mean Time - UK). It will show the time chosen on the same line.</p><p>Country Locale - This option sets the location, for instance en_GB would be the setting for the UK.</p><p><br /><strong>Content Tab:</strong><br />Linked Titles -&nbsp;The title of a content item will be hyper-linked rather than having a 'Read On...' link.<br /><br />Read More Link - This will display a button at the foot of content that reads &quot;Read more&quot;. <br /><br />Item Rating / Voting -&nbsp;This option allows the rating of content items. If set to 'Yes', a 'Star Bar' will be shown on each content item, as well as a form for submitting your rating. The rating form is not shown for articles in 'Blog' lists, and the Star Bar is only shown for those items with Intro text.</p><p>Author Names - This option allows the Author's name to be shown or hidden when a content item is displayed. </p><p>Created Date and Time -&nbsp;This option allows the creation date and time to be shown or hidden when a content item is displayed.</p><p>Modified Date and Time - This option allows the last modified date and time to be shown or hidden when a content item is displayed.<br /><br />Hits - Displays the number of hits an article/content has had. <br /><br />PDF Icon - This option allows you to show or hide the PDF maker icon that is displayed when viewing a content item. <br />NOTE: &nbsp;This will not display at all if your media directory is not writable.</p><p>Print Icon - &nbsp;This option allows you to show or hide the Printer Friendly Version icon that is displayed when viewing a content item.</p><p>Email Icon - &nbsp;This option allows you to show or hide the Email Page to Friend icon that is displayed when viewing a content item.<br /><br />Icons - When hidden links to Email/Print/PDF will be text rather than icons.</p><p>Table of Contents on multi-page items - This option will allow the generation of a Table of Content for multi-page content items. To create page breaks, you must insert a page break Mambot, {mospagebreak} using the editor.</p><p>Back Button - &nbsp;This option allows you to show or hide a back button to make it easier for users to navigate your site.</p><p>Content Item Navigation -&nbsp;This shows 'Next' and 'Previous' links when viewing content items in a category.<br /><br />Multi Lingual content support - This allow the site to utilise the MambelFish component. The MambelFish component must be installed for this to work.</p><p><br /><strong>Database Tab:</strong><br /><font color="#cc0000">Warning:</font> &nbsp;These are very important settings. If your Mambo Web site has been installed on your behalf do not alter these settings.</p><p>Hostname - This is typically set to 'localhost'.</p><p>My SQL Username -&nbsp;This is the username used to access your Mambo database.</p><p>My SQL Password -&nbsp; This is the password used to access your Mambo database.</p><p>My SQL Database -&nbsp;This is the name of the database your Mambo installation uses.</p><p>My SQL Database Prefix -&nbsp;This is the prefix used for records in your Mambo database. Typically “mos_&quot; by default.<br /><font color="#cc0000">Warning: </font>&nbsp;DO NOT CHANGE UNLESS YOU HAVE A DATABASE BUILT USING TABLES WITH THE PREFIX YOU ARE SETTING!!<br /><br /><br /><strong>Server Tab:</strong><br />These items are predefined during the installation and are not configurable through this tab.</p><p>Absolute Path - &nbsp;The Absolute Path is the directory information used by Mambo on the server that orientates it to it's surrounding system.</p><p>Live Site -&nbsp;This is the absolute URL (web address) for your installation of Mambo.</p><p>Secret Word -&nbsp;Unique word for every Mambo installation. Used for security functions.</p><p>GZIP Page Compression - This option allows your web server to send compressed data if supported by the server itself and the client web browser. If enabled, this could significantly decrease the load time of your site for your visitors.</p><p>Login Session Lifetime -&nbsp;This option allows you to set in seconds the time an Administration session should be allowed to stay live before automatic logout occurs. After automatic logout, the Administrator will be required to login again using the correct username and password.</p><p>Error Reporting -&nbsp;If this option is enabled under the Site tab, then using the drop down box, select the level or reporting required.<br />Options are System Default, None, Simple and Maximum.<br />&nbsp; - System Default - &nbsp;This turns Error reporting to the system default according to php.ini on the server.<br />&nbsp;&nbsp;-&nbsp;None -&nbsp;This turns off error reporting.<br />&nbsp; - Simple - &nbsp;This turns error reporting to simple options using the following options: error_reporting (E_ERROR|E_WARNING|E_PARSE)<br />&nbsp; - Maximum - &nbsp;This turns error reporting to the Maximum level using the followingoptions: error_reporting (E_ALL) <br /><br />File Creation - By default files created by the installation of components, modules and mambots inherit the server default permissions. By selecting CHMOD new files you can over-ride the server permisions.<br /><br />Directory Creation - As with files new directories will by default inherit the server default permissions. Select CHMOD new directories to over- ride the server permissions.<br /><br /><br /><strong>Metadata Tab:</strong><br />Meta Description -&nbsp; This is a description of your website. You may want to limit your description to maybe twenty words or so, depending on the Search Engine you are targeting. Make it concise and pertinent to your site's contents. You can include some of your keywords and key phrases here too. As some search engines read more than 20 words you can add one or two sentences. Please make sure that the most important part of your description is in the first 20 words.</p><p>Meta Keywords - The optimal number of characters for a keyword description is said to be between 300 and 500. Do not repeat words too often and either separate your keywords with a comma or a space, or group two or three words together. 'Mambo Open Source' would be an example of this.<br /><br />Show Title Meta Tag - Shows the Title meta tag when viewing content.<br /><br />Show Author Meta Tag - Shows the Authors meta tag when viewing content.</p><p>The Description and Keyword Meta tags will have a bearing on how Search Engines will index your site. Some Search Engines completely ignore Metadata altogether. You should do some research on Search Engine Optimization if high rankings and Search Engine traffic are important to you.</p><p><br /><strong>Mail Tab:</strong><br />Mailer - You can choose which mailer you wish to use: PHP mail function, Sendmail or SMTP Server.</p><p>Mail From -&nbsp;You can choose which email address will show as the sender.</p><p>From Name -&nbsp;You can choose what name will show as the sender.</p><p>SMTP Auth -&nbsp;This is whether SMTP Authentication is required by your host.</p><p>SMTP User&nbsp;- If authentication is required and set above, enter your username.</p><p>SMTP Pass -&nbsp;If authentication is required and set above, enter your password.</p><p>SMTP Host - This is often set as localhost, but you may need to check this with your host.</p><p><br /><strong>Cache Tab:</strong><br />Caching -&nbsp;This allows for caching of certain elements within Mambo. This will generally improve the performance of your site.</p><p>Cache Folder -&nbsp;This is the folder or directory to store the cache files. This must be writable for this caching to be successfully implemented. Contact your Web Master if you have any difficulties.</p><p>Cache Time&nbsp;- This is the maximum length of time, in seconds, for a cache file to be stored before it is refreshed.</p><p><br /><strong>Statistics Tab:</strong><br />Statistics -&nbsp;If this is set to 'Yes', the browser and visitor domain statistics will be collected on the basis of settings in&nbsp; the Content Tab. If this is set to 'No', the browser and visitor statistics will not be collected. If your site experiences a slight 'delay' the first time a user visits the site you should set this to 'No'.</p><p>Log Content Hits by Date -&nbsp;This option enables logging of the hits on content items, on a daily basis. There are currently no in-built analysis routines, to complement this logging feature. Be warned that this will tend to collect masses of data over time.</p><p>Log Search Strings -&nbsp;This option enables logging of the search text, entered by a user. Such logging facilitates the 'tuning' of your web site, giving you an insight into how your visitors are trying to find the information they seek. Analysis reporting is provided under Site&gt;Statistics&gt;Search Text.</p><p><br /><strong>SEO Tab:</strong><br />Search Engine Friendly URLs:&nbsp; This changes the way site links are presented and optimises them so that search engines can access more of your site. This option is ONLY available to sites hosted on Apache servers. If you use this option you must rename your htaccess.txt ffile to .htaccess.</p><p>Dynamic Page Titles - &nbsp;This option sets the page titles (that appear at the top of a viewers browser) to be the same as the page title they are viewing. Again this helps search engines.</p><p>NOTE: &nbsp;You must 'Save' your changes once you have finished, using the 'Save' icon in the tool bar.<br /></p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.contactmanager.edit.html 4.5.4/help/screen.contactmanager.edit.html
--- 4.5.2.3/help/screen.contactmanager.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.contactmanager.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Contact Manager : New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Contact Manager : New / Edit *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.contactmanager.html 4.5.4/help/screen.contactmanager.html
--- 4.5.2.3/help/screen.contactmanager.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.contactmanager.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Contact Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Contact Manager</h1>
-
-<p align="right">-- Draft&nbsp; version</p>The Contact Manager, allows you to manage a list of contacts for your site. This allows visitors to find contact information for different people or departments. <br /><br />Name: This is the name of the contact, this can be a person, department or whatever you wish. This is what shows up on the Frontend of the site. You can click the name to edit that contact.<br /><br />Default : Only one contact can be the default. This contact is the main contact for the site, and the one that shows up as default. You can set the default by clicking in the default column.<br /><br />Published : If a contact is Published, then it appears on the site as a choice for the visitor. To Publish or Unpublish one or more Web Links, select the checkbox(es) next to the name of the Contact(s) and click either the 'Publish' or 'Unpublish' icon.<br /><br />Reorder : Click the icons to move the record up or down in the list. The order is used in both the contact manager and on the contact page the Visitor will see.<br /><br />Category : You can assign contacts to different categories. This column displays which category the contact belongs too. <br /><br />Linked to User : If the contact is linked to a registered user of the site, the users name will appear here.<p>Checked Out: This shows the name of a user if this Web Link item is 'Checked Out'. You will not be able to edit an item if it is checked out by another user. It must be checked back by an administrator by going to Systems in the Menu bar--&gt;Global Checkin. It can also be checked back in by the User who has checked the item out by clicking the 'Edit' icon of the Web Link item and then clicking the the 'Save' or 'Cancel' icon.<br /></p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.content.archive.html 4.5.4/help/screen.content.archive.html
--- 4.5.2.3/help/screen.content.archive.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.content.archive.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Archive Manager *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Archive Manager *</h1>
-
-<p>Content coming soon....</p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.content.edit.html 4.5.4/help/screen.content.edit.html
--- 4.5.2.3/help/screen.content.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.content.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Content Items : New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Content Items : New / Edit *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.content.html 4.5.4/help/screen.content.html
--- 4.5.2.3/help/screen.content.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.content.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Content Items Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Content Items Manager</h1>
-
-<p align="right">-- Draft Version<br /></p><p>This page shows show a list of the Content items on your site for a particular Content Section.<br /></p><p>&nbsp;<br />You may enter text in the &quot;Filter&quot; box to refine the list based on whether the text is found in the title of any item. Type in any text and press Enter. You may also limit the list to a particular category by select one from the list.<br />&nbsp;<br />Toolbar Actions:<br />&nbsp;<br />You &quot;select&quot; items by clicking the checkbox at the start of each row.<br />&nbsp;<br />Publish and Unpublish: Click the 'Publish' or 'Unpublish' icon to publish or unpublish any number of selected Content items.<br />&nbsp;<br />New: Click the 'New' icon to create a new Content item.<br />&nbsp;<br />Edit: Click the 'Edit' icon to edit the Content item. Clicking the linked name will also preform this function.<br />&nbsp;<br />Move: Click the 'Move' icon to move Content items to another Content Section or Cateory.<br />&nbsp;<br />Copy: Click the 'Copy' icon to copy Content items into a Content Section or Content Category.<br />&nbsp;<br />Archive: Click the 'Archive' icon to put Content items into an archvied state. They are still accessible to the Frontend of your site if in published mode.<br />&nbsp;<br />Trash: Click the 'Trash' icon to put Content items in the trash bin. They are not completely removed but are not accessible from your site. You can restore this Content items in the Trash Manager.<br /><br /><br />Column descriptions: </p><p>Title: This is the title of the Content item.<br />&nbsp;<br />Category: This is the Category that the Content item is in.<br />&nbsp;<br />Published: This shows whether the item is published. Hover over this icon to see a summary of the publishing information.<br />&nbsp;<br />Checked Out: The name of a user if this Content item is 'checked out'. You will not be able to edit an item if it is checked out by another user. It must be checked back by an administrator by going to Systems in the Menu bar--&gt;Global Checkin. It can also be checked back in by the User who has checked the item out by clicking the 'Edit' icon of the category item and then clicking the the 'Save' or 'Cancel' icon.<br />&nbsp;<br />Access: This is the user access level.<br />&nbsp;<br />Frontpage: This is whether this item is to be published or is published on the Frontpage.<br />&nbsp;<br />Reorder:&nbsp;You can reorder your content items by changing the numbers of the content item.<br />&nbsp;</p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.cpanel.html 4.5.4/help/screen.cpanel.html
--- 4.5.2.3/help/screen.cpanel.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.cpanel.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Control Panel</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Control Panel</h1>
-
-<p align="right">-- Draft version</p><p align="right" /><p /><p align="left">The control panel is the first page you see when you log into the Administrators area. You can return to it by clicking Home menu item in the top menu bar.&nbsp; From the Control Panel are 9 shortcut icons to easy access the frequently used parts of the Administrator site.<br /><br />Menu Manager - Click this shortcut icon access the Menu Manager.&nbsp; You will be able&nbsp; to&nbsp; edit any of your menus.&nbsp; <br /><br />Front Page Manager -&nbsp; Click this shortcut icon to access the Front Page Manager.&nbsp; You will be able to edit which Content items appear on your Frontpage.</p><p>Static Content Manager - Click&nbsp; the shortcut icon to access the Static Content Manager.&nbsp; You will be able to edit these type of&nbsp; items.</p><p>Section Manager - Click the shortcut icon to access the Section Manager.&nbsp; You will be able to edit your Sections.</p><p>Category Manager -Click the shortcut icon to access the Category Manager. You will be able to edit your Categories.</p><p>All Content Items - Click the shortcut icon to access the All Content Items.&nbsp; All Content Items&nbsp; lists all of your Content Items.&nbsp; You will be able to edit any of your Content Items.</p><p>Trash Manager - Click this shortcut icon access the Trash manager.&nbsp; You will be able to delete permanently or to restore any items in the Trash Manager.</p><p>Global Configuration - Click this shortcut icon to access Global configuration.&nbsp; You will be able to edit any of your Web site configurations.</p><p>Help - Click this shortcut icon to view the Index of any of the Help Screens.</p><p><br />On the right side of the screen there are four tabs:<br /><br />Logged - Displays a list of users currently logged on (both in admin and the frontend). Click on a users name to go to the User Edit page for that user.<br /></p><p>Components - Click on this shortcut tab to access any of the components and component links that you wish to edit.<br /></p><p>Popular - Click on this shortcut tab to access the screen which lists in order, the most popular Content items on your site.&nbsp; This includes the date the Content item was created and the number of&nbsp; hits. Click the Content Item name to edit that item.<br /></p><p>Latest Content - Click on this shortcut tab to access the screen which lists the most recently added Content items.&nbsp; This includes the creation date and the author. Click the Content item name to edit that item.</p><p>Menu Stats - Click on this shortcut tab to access the screen which lists all menus and the number of item links in each menu.&nbsp; The number of links is the total created, not the total published. Click the name of a menu to access the screen which lists the items for that menu.</p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.frontpage.html 4.5.4/help/screen.frontpage.html
--- 4.5.2.3/help/screen.frontpage.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.frontpage.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Frontpage Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Frontpage Manager</h1>
-
-<p align="right">-- Draft Version<br /></p><p>This page shows a list of the Content items marked for the Frontpage on your site.</p><p><strong>Toolbar Actions:<br /></strong>You may enter text in the &quot;Filter&quot; box to refine the list based on whether the text is found in the title of any Content item. Type in any text and press Enter.<br />&nbsp;<br />You &quot;select&quot; Content items by clicking the checkbox at the start of each row.<br />&nbsp;<br />Publish and Unpublish: Click the 'Publish' or 'Unpublish' icons to publish or unpublish the selected Content items on the Frontpage.<br />&nbsp;<br />Archive: Click the 'Archive' icon to put the Content items into an archived state. They are still accessible to your Frontpage.<br />&nbsp;<br />Remove: Click the 'Remove' icon to put Content items in the Trash. They are not completely removed but are not accessible in your Trash Manager to restore if necessary to your site.<br /><br />Columns&nbsp;Descriptions:<br />&nbsp;<br />Title: This is the title of the Content item.<br />&nbsp;<br />Category: This is the category that the content item is in.<br />&nbsp;<br />Published: This shows whether the Content item is published. Hover over this icon to see a summary of the publishing information.<br />&nbsp;<br />Checked Out: This shows the name of a user if this Content item is checked out. You will not be able to edit a Content iitem if it is checked out by another user. It must be checked back by an administrator by going to Systems in the Menu bar--&gt;Global Checkin. It can also be checked back in by the User who has checked the item out by clicking the 'Edit' icon of the Content item and then clicking the the 'Save' or 'Cancel' icon.<br />&nbsp;<br />Access: This is the user access level.<br />&nbsp;<br />Reorder:&nbsp;Type the numbers in the order that you want your Content Items to appear in your Frontend Website.<br />&nbsp;<br />Order: This is the order of the item. The order number in the Front Page is different to your normal order within your Sections. That is because the ordering of Front Page Items is separate and does not check the Section or Category ordering you have defined in the Content Section or Content Category sections in the Backend .<br /><br />Remove: Click the 'Remove' icon to put Content items in the Trash. They are not completely removed but are now accessible in your Trash Manager to restore to your site if necessary.<br />&nbsp;</p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.installer2.html 4.5.4/help/screen.installer2.html
--- 4.5.2.3/help/screen.installer2.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.installer2.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Install/Uninstall Components, Modules and Mambots</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Install/Uninstall Components, Modules and Mambots</h1>
-
-<p align="right">-- Draft version</p><p /><p>This page will show options for Installing / Uninstalling: <br />A Component<br />A Module<br />A Mambot</p><p /><p>There are two ways to install one of these elements.</p><p /><p>Upload Package File:<br />Providing you have GZip support with PHP, you will be able to upload a zipped package file that will be automatically installed to your server. 'Browse' to the location of the&nbsp;element on your computer. Then click the 'Upload File &amp; Install' icon.</p><p /><p>To install from directory:<br />If you don't have GZip support then you may upload an unpacked archive to your host's server. Type the location of this file (it must be the absolute location) then click the 'Install' icon.</p><p /><p>To uninstall one of these elements:<br />Tick the box&nbsp;next to the Element (or multiple elements) you want to uninstall, then click the 'Delete' top menu icon.<br />A javascript alert will show: «Are you sure you want to delete selected items?<br />Click 'OK'. The page will reload displaying the word 'Success'.</p><p /><p>NOTE: The elements are totally deleted from the database.&nbsp;They cannot be recovered from the Trash Manager. In the case of a module type, ALL its instances/copies -&nbsp;are also totally deleted from the database. </p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.installer.html 4.5.4/help/screen.installer.html
--- 4.5.2.3/help/screen.installer.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.installer.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Install/Uninstall a Language File or Template</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Install/Uninstall a Language File or Template</h1>
-
-<p align="right"><br />-- Draft version</p>There are two ways to install a Language file or a Template using the Mambo administration system.<p>To Upload a Language file or Template:<br />Providing you have GZip support with PHP, you will be able to upload a zipped package file that will be automatically installed to your server. &quot;Browse&quot; to the location of the element on your computer. Then click the &quot;Upload File &amp; Install&quot; icon.<br /><br />To Install From a Directory:<br />If you don't have GZip support then you may upload an unpacked archive to your host's server. Type the location of this file (it must be the absolute location) then click the 'Install' icon. <br /><br />To Uninstall:<br />If you want to delete any language go to the menu item Site-&gt; Language Manager-&gt; Site Languages and use the &quot;Delete&quot; icon.&nbsp; <br /><br />If you want to delete any template go to menu item SIte-&gt;Template Manager-&gt; Site Templates or -&gt;Administrator Templates and use the &quot;Delete&quot; icon. </p><p />
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.languages.html 4.5.4/help/screen.languages.html
--- 4.5.2.3/help/screen.languages.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.languages.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Language Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Language Manager</h1>
-
-<p align="right">-- Draft version</p>This page shows a list of the Languages for the core text on the Frontend of your site.<br /><br />Toolbar:<br />Publish:&nbsp; To Publish a language, select the radio button next to the name of the language and click the &quot;Publish&quot; icon. <p>New: Click the &quot;New&quot; icon to upload/install a new language to your site. You will be then taken to the Install/Uninstall screen.</p><p>Edit: Click the name of the category to Edit the details, or select the radio button next to the name and click the &quot;Edit&quot; icon. Here is where you edit the Frontend language file.</p><p>Delete: To delete a language, select the radio button next to the name and click the &quot;Delete&quot; icon. You will be asked to confirm the delete operation. Select the &quot;Yes&quot; icon to delete the client or the &quot;No&quot; icon to cancel. The language file will be deleted from the server.</p><p>Help:&nbsp; Click the &quot;Help&quot; icon to view the Help Screen to get explanations of this screen.</p><p><br />Columns:<br />Language: This column shows the name of the languages installed.<br />&nbsp;&nbsp;&nbsp;<br />Published: This column shows the active language that is published.<br />&nbsp;&nbsp;&nbsp;<br />Version: This column shows the version of the language file.<br />&nbsp;&nbsp;&nbsp;<br />Date: This column shows the date of the language file.</p><p>Author: This column shows the author of the language file.<br />&nbsp;&nbsp;&nbsp;<br />Author Email: This column shows author's email address, if available.</p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.mambots.edit.html 4.5.4/help/screen.mambots.edit.html
--- 4.5.2.3/help/screen.mambots.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.mambots.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Mambots: New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Mambots: New / Edit *</h1>
-
-Content Coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.mambots.html 4.5.4/help/screen.mambots.html
--- 4.5.2.3/help/screen.mambots.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.mambots.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Mambot Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Mambot Manager</h1>
-
-<p>Draft version<hr /><br />Mambots are essentially code snippets which when called via various parameters either activate a program, script or perform a specific function. They can be as simple as a function which replaces typed text with code (such as typing to display an image in a content item) to full fledged third party libraries such as WYSIWYG editors or other programs.</p><p>Publish: Check the box to the left of the Mambot you wish to use, and click the &quot;Publish&quot; icon to publish the Mambot.</p><p>Unpublish: Check the box to the left of the Mambot and then click the &quot;Unpublish&quot; icon to unpublish your Mambot.</p><p>New:&nbsp; Click the &quot;New&quot; icon to create a new Mambot. Then fill in the fields listed.</p><p>Edit: Check the box next to the Mambot you wish to edit, and then click the &quot;Edit&quot; icon. Or, you can simply click on the Linked Title of the Mambot you wish to edit. When you are within the screen for the Mambot you wish to edit, change the settings as desired, then click the &quot;Save&quot; icon. To quit editing and drop all changes you have made to your Mambot, simply click the &quot;Cancel&quot; icon and you will be returned to your previous screen.</p><p>Delete: To &quot;Delete&quot; or &quot;Uninstall&quot; a Mambot, simply check the box next to the Mambot you would like to delete and then click the &quot;Delete&quot; icon</p><p>WARNING: This cannot be undone. Deleted Mambots cannot be restored as a &quot;Menu Item&quot; or &quot;Content Item&quot; can. If you have deleted a Mambot and you wish to use that Mambot again, you must Re-Install the Mambot. </p><p>NOTE: Mambots essential to core operations cannot be deleted.</p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.mediamanager.html 4.5.4/help/screen.mediamanager.html
--- 4.5.2.3/help/screen.mediamanager.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.mediamanager.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Media Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Media Manager</h1>
-
-<p><!--StartFragment -->To add to content:</p><p>&nbsp;There is a setting in the php.ini file for the upload<br />file size limit. &nbsp;It's usually set to 8mb. </p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.menumanager.copy.html 4.5.4/help/screen.menumanager.copy.html
--- 4.5.2.3/help/screen.menumanager.copy.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.menumanager.copy.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Menu Manager: Copy *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Menu Manager: Copy *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.menumanager.html 4.5.4/help/screen.menumanager.html
--- 4.5.2.3/help/screen.menumanager.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.menumanager.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Menu Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Menu Manager</h1>
-
-<p align="right">-- Draft Version<br /></p>&quot;Menus&quot; in Mambo are groups of navigational links to sections, categories, content items, components or external pages. These links are called 'Menu Items'.<br /><br />Each menu must have an identification name which is only used internally by Mambo.<br />A menu only becomes visible on a site if it has a published mod_mainmenu module which references it. A menu may have multiple mod_mainmmenu modules referencing it.<br /><br />Toolbar Icons:<br />New - Click this icon to create a new Menu. You will access the &quot;Menu Details&quot; window.<br /><br />Type a Menu Name. This is the identification name used by Mambo to identify this menu within the code ; it must be unique.&nbsp; It is recommended to use no space within this name. For example, in the core Mambo the User Menu’s Menu Name is ‘usermenu’ and the Main Menu’s Menu Name is ‘mainmenu’.&nbsp; Type a Module Title. This is the name given to the new mod_mainmenu module which is automatically created when you save this menu. It is also the Name of the menu as it will appear on the page if you choose to show it (this may be changed when editing the module). In the example described above these are ‘User Menu’ and ‘Main Menu’. Click the ‘Save’ icon. Your new menu appears in the Menu Manager list.<br /><br />Edit - Click the radio button next to the Menu Name you want to edit.&nbsp; Then, click the &quot;Edit&quot; icon which will take you to the Editing page.<br /><br />Copy - Click the radio button next to the Menu Name you want to copy. Then, click the ‘Copy’ icon in the toolbar. This will duplicate the menu. You may copy any of your menus. Copying will create a new Menu Name, containing the same Menu Items as the menu copied, associated to a new Menu Module. <br /><br />A ‘Copy Page’ will display, with the same choices as in Create New Menu . It will also state the name of the Menu being copied, and a list of the Menu Items associated to the menu being copied. Fill in the fields as in Create New Menu.<br /><br />Delete - Click the radio button next to the Menu Name you want to delete. Then, click the ‘Delete’ icon in the toolbar. This will delete the Menu. A &quot;Delete Menu : Name-of-the-menu&quot; page will display. It shows the Module(s) to be deleted (the mod_mainmenu modules associated to this Menu) and the Menu Items to be deleted. Click the Delete Icon surrounded by a dotted line. This will delete this Menu, ALL its Menu Items and ALL the Modules associated with it. A Javascript alert popup box gives you the choice to &quot;OK&quot; or to &quot;Cancel&quot; this action. <br />Note: Deleted Menus cannot be recovered from the Trash Manager!<br /><br /><br />Columns:<br />The headings give information on the following functions :<br /><br />Menu Name - This is the name that is given to the menu by default, or the name you gave to that menu. You may click on this Name to edit it.<br /><br />Menu Items - Click the ‘Edit’ icon in this column to add or edit Menu Items associated with a menu. Or alternatively go to &quot;Menu-&gt;the-menu-you-choose-to-edit&quot;. A &quot;Menu Manager [the-menu-you-choose-to-edit]&quot; window will display with a list of all Menu Items associated to this Menu.<br /><br />#Published -&nbsp; This is the number of Menu Items published.<br /><br />#Unpublished - This is the the number of Menu Items unpublished.<br /><br />#Trash - This is the number of Menu Items in the Trash Manager.<br /><br />#Modules - This is the number of menu modules associated to the Menu Name.
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.menumanager.new.html 4.5.4/help/screen.menumanager.new.html
--- 4.5.2.3/help/screen.menumanager.new.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.menumanager.new.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Menu Manager : New / Edit</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Menu Manager : New / Edit</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.menus.copy.html 4.5.4/help/screen.menus.copy.html
--- 4.5.2.3/help/screen.menus.copy.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.menus.copy.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Menus: Copy *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Menus: Copy *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.menus.edit.html 4.5.4/help/screen.menus.edit.html
--- 4.5.2.3/help/screen.menus.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.menus.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Menus: Edit Menu Item</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Menus: Edit Menu Item</h1>
-
-<p align="right"><!--StartFragment -->-- Draft Version</p><p>This page shows a list of the Menu Items associated to the menu you have just chosen.<br /><br />Toolbar Icons:<br />New : Create a new Menu Item<span style="COLOR: rgb(255,0,0)"><br /></span><br />Edit : Edit an existing Menu Item.<br /><br />Publish and Unpublish : Same function as ‘Published’ column icon. You may use these icons with multiple items checked.<br /><br />Move : Opens a new ‘Move Menu Items’ window where you can choose to move the specific Menu Item(s) —and children if desired— to another existing Menu. You may check multiple items to be moved at once.<br /><br />Copy : Opens a new ‘Copy Menu Items’ window where you can choose to copy the specific Menu Item(s) —and children if desired— to another existing Menu. You may check multiple items to be copied at once.<br /><br />Trash : Sends the Menu Item to Trash. It may be recovered through Site-&gt;Trash Manager, Menu Items tab. You may check multiple items to be trashed at once.<br /><br />Cancel : Cancels any change made in the ‘Order’ column if the ‘Save Order’ icon has not been clicked.<br /><br />Columns Headings:<br />Menu Item : Name of the link as it appears on your site. If you click on this name, you may edit parameters related to this Item.<br /><br />Published: This shows whether the Menu Item is published or unpublished. By clicking on the icon, you may switch its state.<br /><br />Reorder : This shows the order of Menu Items in the menu. Click the arrow icons to move the item up or down in the list.<br /><br />Order : Shows the order of Menu Items in the menu. You may change it by editing 2 # conjointly and clicking on the ‘Save Order’ icon next to the Column Heading ‘Order’. <br /><br />NOTE: Order and Reorder show the relative positions of Parent and Children Menu Items. Moving a parent moves the children too. The order numbers are shown relatively to the Parent Item.<br /><br />Access : This is the user access level for the menu item. Click on the Access level to switch it to another value.<br /><br />Itemid: This shows the 'id' for this specific Menu Item in the database.<br /><br />Type: The type of link used for this Menu Item. If it is a ‘Link – Content Item’ or a ‘Link – Static Content’, you may directly edit the content by clicking on the type.<br /><br />CID: This shows the ‘componentid’ for this specific Menu Item in the database.<br /><br />Other functions available above and below of the list: <br /><br />Max Levels: You may select the maximum number of levels deep that the menu tree is displayed.<br /><br />Filter: Lets you search for text in Menu Items.<br /><br />Display #: You may alter the number of rows displayed in the list.<br />NOTE: This setting will be preserved for all lists on all screens while you are in the Administator back-end. A default value for the list length is also configurable in Global Configuration.<br /></p><p />
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.menus.html 4.5.4/help/screen.menus.html
--- 4.5.2.3/help/screen.menus.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.menus.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Menu Manager / Main Menu</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Menu Manager / Main Menu</h1>
-
-<p align="right">-- Draft Version<br /></p><br />&nbsp;This page shows a list of the Menu Items for your the menu you have just choosen.<br />&nbsp;<br />Menu Item: This is the name of the menu item. Click the name to edit the menu item.<br />&nbsp;<br />Section: This is the type of menu item.<br />&nbsp;<br />Published: This is whether the item is published. See the legend below the list for an explanation of icon types.<br />&nbsp;<br />Checked Out: This is the name of a user if this menu item is checked out. You will not be able to edit an item if it is checked out by another user. This is to prevent accidently editing an item while another User is editing it.<br />&nbsp;<br />Access: This is the User access level.<br />&nbsp;<br />Menu id: This is the internal id number of the menu<br />&nbsp;<br />Reorder: Click the icons to move the item up or down in the list.<br /><br />Order: This column contains text boxes as an alternative method of ordering items. Simply number them starting at 1. Click the disk icon to the right of the column title to save the new ordering.ome other choices you can make: <br />&nbsp;<br />These are some other choices you can make:<br />&nbsp;<br />Max Levels: You may select the maximum number of levels deep that the menu tree is displayed.<br />&nbsp;<br />Display #: You may alter the number of rows displayed in the list. <br />NOTE: This setting will be held for all lists while you are in the Administator. A default value for the list length is also configurable in Global Configuration.<br />&nbsp;<br />Search: You may search for text in a Menu name.<br />&nbsp;<br />To Publish or Unpublish one or more Menu Items, select the checkbox(es) next to the name of the item and click either the Publish or Unpublish icon.<br />&nbsp;<br />Click the 'New' icon to add a new category.<br />&nbsp;<br />Click the name of the Menu item to Edit the details, or select the check box next to the name and click the 'Edit' icon.<br />&nbsp;<br />To delete a Menu item, select the check box next to the name and click the 'Delete' icon. You will be asked to confirm the delete operation. Select 'Yes' to delete the menu item or 'No' to cancel.<br />&nbsp;<br />Adding Menus<br />&nbsp;<br />How do I add a new menu?<br />&nbsp;<br />The number of menus available is related to the number of instances of the Main Menu module. There are two menus provided by default: Main Menu and the User Menu, but you may have many more menus on your site if you so desire.<br />&nbsp;<br />The easiest way to add new menus is to use the Menu Manager.<br />&nbsp;<br />Alternatively, to add a new menu manually, select Modules -&gt; Manage Modules from the Administator menu.<br />&nbsp;<br />Click the checkbox for one of the existing modules based on mod_mainmenu (either Main Menu or User Menu).<br />&nbsp;<br />Click the 'Copy' icon in the toolbar.<br />&nbsp;<br />You will see a new module in the list named &quot;Copy of 'something'&quot;. Click on the name of this module to edit it. In the edit form, change the title of the menu (eg, to &quot;Privacy Menu&quot;) and change the Menu Type in the Parameters group (eg, &quot;privacy&quot;). Click the Save icon when you are finished.<br />&nbsp;<br />Now, hover over Menus and you should see that in the Menus dropdown you have a new menu called &quot;Privacy Menu&quot;. You may repeat this procedure as many times as you like. There is no limit to the number of menus that you can have and to which menu items they are associated with.<br />&nbsp;
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.menus.move.html 4.5.4/help/screen.menus.move.html
--- 4.5.2.3/help/screen.menus.move.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.menus.move.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Menus: Move *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Menus: Move *</h1>
-
-Content coming soon....
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.menus.new.html 4.5.4/help/screen.menus.new.html
--- 4.5.2.3/help/screen.menus.new.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.menus.new.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Menus: New Menu Item</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Menus: New Menu Item</h1>
-
-<p>Toolbar&nbsp;Icons:<br />Next:&nbsp; After selecting&nbsp;the radio button for the type of menu item you wish to create, click the ‘Next’ icon in the Toolbar.&nbsp;A new window will open with the name ‘Add Menu Item :: The-type-of-link-chosen’.<br /><br />Cancel: Click the &quot;Cancel&quot; Icon if you do not wish to create a Menu Item.<br /><br />Help: Click the &quot;Help&quot; Icon to learn more about the New Menu Item page.</p><p><br />The Menu Items are presented as 4 groups in this screen. &nbsp;Each group lists a specific kind of menu items.&nbsp; Some of them may be presented in more than one group.<br /><br />The groups are :&nbsp; Content, Components, Links and&nbsp;<!--StartFragment --> Miscellaneous.<br /><br />Content:<br /><a href="index.php?option=content&task=view&id=314">Blog - Content Category</a><br /><a href="index.php?option=content&task=view&id=315">Blog - Content Category Archive</a><br /><a href="index.php?option=content&task=view&id=316">Blog - Content Section</a><br /><a href="index.php?option=content&task=view&id=317">Blog - Content Section Archive</a><br /><br /><a href="index.php?option=content&task=view&id=318">Link - Content Item</a><br /><a href="index.php?option=content&task=view&id=319">Link - Static Content</a><br /><a href="index.php?option=content&task=view&id=321">List - Content Section</a></p><p><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=332">Table - Content Category</a><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />Components:<br /><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=322">Component<br /></a><br /><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=323">Link - Component Item</a><br /><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=325">Link - Contact Item<br />Link - Newsfeed</a></p><p><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=328">Table - Contact Category<br />Table - Newsfeed Category<br />Table - Weblink Category</a><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />Links:<br /><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=324">Link - Component Item<br />Link - Contact Item</a><br /><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=318">Link - Content Item</a><br /><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=329">Link - Newsfeed</a><br /><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=319">Link - Static Content</a><br /><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=330">Link - Url</a><br /></p><p>Miscellaneous:<br /><a href="http://help.mamboserver.com/index.php?option=content&task=view&id=331">Separator / Placeholder<br />Wrapper&nbsp;</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br /><br /><br /></p><p />
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.messages.conf.html 4.5.4/help/screen.messages.conf.html
--- 4.5.2.3/help/screen.messages.conf.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.messages.conf.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Messages Configuration</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Messages Configuration</h1>
-
-<p align="right">-- Draft version</p>There are two configuration options available to your Administrator. Use the select box to choose your option: 'YES AND NO'<br />&nbsp;<br />Lock Inbox:<br />&nbsp;<br />This option allows you to prevent Administrators or System processes from sending you messages. If you are the only administrator or work with a small group of admins you may choose not to use this feature at all. It is a good idea to leave the box open while you are adding new components as it will help you be aware of system processes.<br />&nbsp;<br />Mail me on new Message:<br />&nbsp;<br />This option will result in an email being sent to you each time you receive a new message. <p />
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.messages.inbox.html 4.5.4/help/screen.messages.inbox.html
--- 4.5.2.3/help/screen.messages.inbox.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.messages.inbox.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Messages Inbox</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Messages Inbox</h1>
-
-<div align="right">-- Draft version<br /><br /><div style="text-align: left;">This menu option displays your current Inbox. <br /></div></div><p>To View a message, click the hyperlinked 'Subject' of the desired message. Details of the message will be shown. Click the 'Back' icon in the toolbar to return to your Inbox.<br />&nbsp;<br />To Create a new message, click the 'New' icon in the toolbar. Select the Recipient from the list and enter the desired subject and Message. Click the 'Save' icon to send the message. Click the 'Cancel' icon to abort the operation.<br />&nbsp;<br />To delete a message, select the checkbox next to the Subject of the message, (or multiple messages), that you want to delete. Click the 'Delete' icon in the toolbar. An alert box will ask you to confirm the operation.<br />&nbsp;<br />Private messaging is only supported to or between Users in a group that has access to the Admin Section.<br />&nbsp; </p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.modules.edit.html 4.5.4/help/screen.modules.edit.html
--- 4.5.2.3/help/screen.modules.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.modules.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Modules: Edit</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Modules: Edit</h1>
-
-<p align="right">-- Draft Version</p><p>You may edit a module by clicking on its name or, alternatively, by checking the box next to it and clicking the 'Edit' icon in the toolbar.<br />A new Site Module: Edit [Title-of-the-module] screen opens with the following tabs available for editing:</p><p>Details (same for all modules):<br />Title: Title of the module to display on the page.</p><p>Show title: Decides if the Title will display or not on the page.</p><p>Position: Sets which of the positions available the module will display in.</p><p>Module order: The order the module will appear among modules assigned to the same page.</p><p>Access Level: Sets who can view this module. Public (everyone can view it), Registered (only registered users can view it), or Special (only special users can view it, as defined under the User Manager in Site -&gt; User Manager -&gt; Add/Edit Users).</p><p>Published: Sets if the module contents will show on the Frontend of your Web site (if chosen Position is available in the template).</p><p>ID: This is the ID number for the module item. This is allocated by the Mambo site system when the module is saved. </p><p>Description: A short description of the functions provided by the Module Type.</p><p>Pages / Items (same for any module):<br />Sets on which pages the module should be displayed.</p><p>Parameters:<br />Module Class Suffix (available for all module): A suffix to be aplied to the CSS class of the module (table.moduletable) to allow individual module styling.<br /><br />Enable Cache (available for many modules): Select to cache or not the content of this module.<br />Other parameters may change depending on the module. See below.</p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.modules.html 4.5.4/help/screen.modules.html
--- 4.5.2.3/help/screen.modules.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.modules.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Module Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Module Manager</h1>
-
-<p align="right">-- Draft version</p><p align="left">Modules are the modular &quot;content areas&quot; which you can create yourself or download and install. They can be published in the Frontend (Site) and Backend (Administrator) sections of your site depending on the Module Positions within your Frontend template or your backend template. They are used to display various information interactive features throughout your Mambo Site. </p><p align="left">Toolbar Actions:<br />To 'Select' an item click the checkbox(s) at the start of each row.<br /><br />Publish: Click the 'Publish' icon to publish your modules on the Frontend of your Web site.<br /><br />Unpublish: Click the 'Unpublish' icon to unpublish your modules on the Frontend of your Web site.</p><p align="left">Copy: Click the 'Copy' icon to make a copy of the selected module. This enables it to be displayed in more than one place on the Frontend of your Web site. A new version is created with the name 'Copy of (the name of the module you copied)'. You can rename it.</p><p align="left">New: Click the &quot;New&quot; icon to create a new module. You can insert custom code to create this new custom&nbsp;Module. You may create a custom module with a 'User' Type by clicking on the 'New' icon. This is a very useful module which may be used to display Content (this content is not related to Sections, Categories or Static Content Items) or an rssfeed. This can be used as a text box module, image module or even to include&nbsp;customized code.</p><p align="left">Edit: Click the 'Edit' icon to edit or modify the module. Clicking the linked name will also preform this function. This enables you to change attributes of a module like its title, its position, the order in which it appears on the page, access level and whether it is published. From this page you will also be able to change the location the module appears on the Frontend of your site and any parameters that apply to this module.</p><p align="left">Delete:&nbsp;Click the 'Delete' icon to delete/uninstall a module from your system.<br />NOTE: You cannot delete the 'last' module of a particular 'type' on this screen. If you want to delete a specific type of module, go to the Install/Uninstall screen as explained above.<br /><br />Help: Click the 'Help' icon to view the help screen&nbsp;for this page.<br /><br /><br />Column Headings: <br />Module Name: This is the title of the module. It is editable and&nbsp; will be displayed on the Frontend of your Web site if you choose so.<br /><br />Published: This tells you if the module contents will show on the Frontend of your Web site. Click the 'blue' arrow icon or 'red' cross to toggle the status.<br /><br />Reorder: This column allows you to change the relevent order that the modules display on the Frontend of your Web page(s). Click the 'up' or 'down' arrows to move the module order one step. To move the modules more than one step click the'Edit' icon to reorder on the Modules: Edit screen<br /><br />Access: This shows who can see the modules on the Frontend of a Web page. Clicking the link will toggle through Public/Registered/Special.<br /><br />Position: This shows which template positions the module will display in. Some common Template posititons are - User1, Left, Right, and Top. <br />NOTE: You can only assign the module position to one that is already coded into your template<br /><br />Pages: This show which pages the module will display on. Options include All, Varies or None. <br />NOTE: This is not applicable to Administrator modules.<br /><br />ID: This is the ID number for the module item. This is allocated by the Mambo site system when the module instance is saved.<br /><br />Type: This is the type of module. An example is mod_mainmenu which is the 'type' of module used for the User Menu and the Main Menu module instances.<br /><br />Checked Out: This displays the name of the editor/administrator who checked this module out. You will not be able to edit a module item if it is checked out by another editor/administrator. The original editor/administrator must check in his/her items or the system administrator can do this in order for another editor/administrator to edit a module. <br />NOTE: This is blank for modules installed initially with Mambo.<br /><br />At the bottom of the list you may see a pagination feature, which will allow you to navigate to the next set of modules in the list. You can also set the number of modules displayed on a page by selecting the number in the drop down box on the right of the screen.</p><p align="left" />
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.modules.new.html 4.5.4/help/screen.modules.new.html
--- 4.5.2.3/help/screen.modules.new.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.modules.new.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Modules: New *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Modules: New *</h1>
-
-Content coming soon....
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.newsfeeds.edit.html 4.5.4/help/screen.newsfeeds.edit.html
--- 4.5.2.3/help/screen.newsfeeds.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.newsfeeds.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>News Feeds Manager : New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>News Feeds Manager : New / Edit *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.newsfeeds.html 4.5.4/help/screen.newsfeeds.html
--- 4.5.2.3/help/screen.newsfeeds.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.newsfeeds.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>News Feeds Manager *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>News Feeds Manager *</h1>
-
-<div align="left"><div style="text-align: right;">-- Draft version<br /></div><br /></div><div align="left">The management of News Feeds is based on the standard overview list of the Administration section. Within this overview you can reorder the news feeds.<br /><br />To publish, unpublish, create, edit or delete a News Feed, you use the Administration tool bar.</div><p>More content coming soon....</p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.polls.edit.html 4.5.4/help/screen.polls.edit.html
--- 4.5.2.3/help/screen.polls.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.polls.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Poll Manager : New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Poll Manager : New / Edit *</h1>
-
-content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.polls.html 4.5.4/help/screen.polls.html
--- 4.5.2.3/help/screen.polls.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.polls.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Poll Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Poll Manager</h1>
-
-<p align="right">-- Draft version</p><p style="text-align: left;">This page shows show a list of the Polls on your site.<br /></p>&nbsp;<br />Poll Title: This is the name of the poll. Click the name to edit the category.<br />&nbsp;<br />Options: This is the number of options in the poll.<br />&nbsp;<br />Published: This shows whether the poll is published. Click the 'Publish' or 'Unpublish' icon to toggle the state of the poll.<br />&nbsp;<br />Checked Out: This shows the name of a user if this Poll item is 'checked out'. You will not be able to edit an item if it is checked out by another user. It must be checked back by an administrator by going to Systems in the Menu bar--&gt;Global Checkin. It can also be checked back in by the User who has checked the item out by clicking the 'Edit' icon of the category item and then clicking the the 'Save' or 'Cancel' icon.<br />&nbsp;<br />To Publish or Unpublish one or more polls, select the checkbox(es) next to the name of the poll(s) and click either the 'Publish' or 'Unpublish' icon.<br />&nbsp;<br />Click the 'New' icon to add a new category.<br />&nbsp;<br />Click the name of the poll to Edit the details, or select the check box next to the name and click the 'Edit' icon.<br />&nbsp;<br />To delete a poll, select the check box next to the name and click the 'Delete' icon. You will be asked to confirm the delete operation. Select 'Yes' to delete the client or 'No' to cancel.<br />&nbsp;
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.sections.edit.html 4.5.4/help/screen.sections.edit.html
--- 4.5.2.3/help/screen.sections.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.sections.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Sections Manager : New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Sections Manager : New / Edit *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.sections.html 4.5.4/help/screen.sections.html
--- 4.5.2.3/help/screen.sections.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.sections.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Section Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Section Manager</h1>
-
-<p align="right"><strong><span style="FONT-WEIGHT: normal">--&nbsp;&nbsp;Draft Version</span><br /></strong></p><strong>Creating a&nbsp; New Section:</strong><br />Click the “New” icon in the toolbar. This will open a new window and you will see the following information:<br /><br />The “Scope” shows that it is a content section being created.<br /><br />The “Title” is a name that is used for display in the Main Menu.<p>The “Section Name” is the 'heading' for the list of Categories. This will be displayed in the Content Section of the Front End of your site.</p><p>The Image can be selected from the image directory and will be displayed next to the description in the Content Section of the Frontend of your site.</p><p>The Image Position allows you to select where your picture will show up on the Frontend (left, right, or centered).</p><p>The “Ordering” selection shows the order&nbsp;the Section in the backend Administration panel.&nbsp; You can chose the order that you wish.</p><p>The Access level selection provides the ability to make the content of the section viewable to the public or to registered users only.<br />&nbsp;</p><p />
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.staticcontent.edit.html 4.5.4/help/screen.staticcontent.edit.html
--- 4.5.2.3/help/screen.staticcontent.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.staticcontent.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Static Content Manager : New / Edit *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Static Content Manager : New / Edit *</h1>
-
-Content coming soon...
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.staticcontent.html 4.5.4/help/screen.staticcontent.html
--- 4.5.2.3/help/screen.staticcontent.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.staticcontent.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Static Content Manager *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Static Content Manager *</h1>
-
-<p>Content coming soon....</p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.stats.searches.html 4.5.4/help/screen.stats.searches.html
--- 4.5.2.3/help/screen.stats.searches.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.stats.searches.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Search Engine Text</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Search Engine Text</h1>
-
-<p align="right">-- Draft Version</p>This page lists the logged search text that visitors have used on your site. The list shows:<p>Search Text: This is the string or phrase the site visitor entered. <br />&nbsp;<br />Times Requested: This is the number of times this text has been entered.<br />&nbsp;<br />Results Returned: This is the number of search items that would appear if you performed the search now.<br />&nbsp;<br />Some results to look at are words or phrases that are commonly searched for, but return no results. You should assess whether you have content that is applicable. If necessary, add keywords using the Meta Info tab for that content item.</p><p>Other results to look for are misspelt words or related words. For example, if a common search word is 'dark' but it is commonly misspelt as 'drak' then you may consider putting 'drak' in the keywords section. You may also have content about a waste facility where you might add common alternative terms in the meta keywords such as 'trash' or 'dump'.</p><p>You must enable the &quot;Log Search Strings&quot; option in the &quot;Statistics&quot; tab of Global Configuration for this data to be collected.</p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.syndicate.html 4.5.4/help/screen.syndicate.html
--- 4.5.2.3/help/screen.syndicate.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.syndicate.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Syndication Settings</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Syndication Settings</h1>
-
-<p class="auto" align="left">To&nbsp;syndicate your site is&nbsp;to make certain content from your Web&nbsp;site (such as news) available for&nbsp;syndication via&nbsp;a&nbsp;distributable file.<br /><br /><strong>Cache:</strong> Yes&nbsp;or&nbsp;No? Choose the&nbsp;'Yes' radio button to&nbsp;create and&nbsp;display a&nbsp;new News Feed dependant on&nbsp;the value set&nbsp;in&nbsp;the Cache Time field. Choose the&nbsp;'No' radio button to&nbsp;display a&nbsp;new News Feed each time an&nbsp;item is&nbsp;added to&nbsp;the Front Page and&nbsp;each time the&nbsp;News Feed is&nbsp;accessed by&nbsp;another server. <br /><strong><br /><font color="#cc0000">Warning:</font></strong> Setting Cache to&nbsp;'No' will cause your News Feed to&nbsp;be checked every time someone visits any&nbsp;site where your News Feed is&nbsp;syndicated. This can&nbsp;potentially cause excessive bandwidth usage as&nbsp;well as&nbsp;extreme draw on&nbsp;your server resources.<br /><br /><strong>Cache Time</strong>: This is&nbsp;the number of&nbsp;seconds before your site's database is&nbsp;checked for&nbsp;updates. The&nbsp;default in&nbsp;Mambo is&nbsp;3600 seconds, or&nbsp;60 minutes. After this time has&nbsp;elapsed, the&nbsp;News Feed will refresh itself from your database thus displaying any&nbsp;new items you&nbsp;have published on&nbsp;the Front Page to&nbsp;your News Feed.</p><a name="p310-5"></a><p class="auto" align="left"><strong>#Items:</strong> Type the&nbsp;number of&nbsp;items you&nbsp;would like to&nbsp;syndicate and&nbsp;display in&nbsp;your News Feed. <br /><strong>NOTE:</strong> Only those items which you&nbsp;have also published to&nbsp;your Front Page will be&nbsp;displayed in&nbsp;your syndicated news feed.<br /><br /><strong>Title:</strong> Type the&nbsp;title you&nbsp;wish to&nbsp;display above your articles within your syndicated News Feed when it&nbsp;is displayed on&nbsp;those sites and&nbsp;pages which syndicate your News Feed.<br /><br /><strong>Description:</strong> Type a&nbsp;brief statement to&nbsp;describe your News Feed.<br /><br /><strong>Image:</strong> Select an&nbsp;image from the&nbsp;<span class="nobr">drop-down</span> menu to&nbsp;be included in&nbsp;your News Feed.&nbsp; If you do not have an image, you can upload one via the Media Manager.<br /><br /><strong>Image Alt:</strong> Type the&nbsp;text for&nbsp;the “alt” tag&nbsp;to&nbsp;compliment the&nbsp;image you've selected for&nbsp;inclusion in&nbsp;the News Feed via&nbsp;the Image <span class="nobr">drop-down</span> menu.<br /><br /><strong>Limit Text:</strong> Yes&nbsp;or&nbsp;No? Choose the&nbsp;'Yes' radio button if&nbsp;you wish to&nbsp;limit the&nbsp;Text Length field. Choose the&nbsp;'No' radio button to&nbsp;force the&nbsp;value in&nbsp;the Text Length field to&nbsp;be ignored, thus displaying the&nbsp;entire contents of&nbsp;each item.</p><a name="p310-11"></a><p class="auto" align="left"><strong>Text Length:</strong> Type the&nbsp;number of&nbsp;words to&nbsp;display per&nbsp;News Feed item. <br /><strong>NOTE:</strong> The&nbsp;Limit Text radio button must be&nbsp;set to&nbsp;'YES' to&nbsp;activate this function.</p>
-<p />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.system.info.html 4.5.4/help/screen.system.info.html
--- 4.5.2.3/help/screen.system.info.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.system.info.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>System Information</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>System Information</h1>
-
-<p align="right">-- Draft version</p>The information is displayed in a tabbed format with three main sections of content.<br />&nbsp;<br />System Tab:<br />This a broad snapshot of the server and versions of the current installation components of your Mambo site. Here you will find your PHP build and version, your MySQL database version along with the Mambo version and relevant settings that your server has set that might interfere with your current site installation.<br />&nbsp;<br />Configuration:&nbsp;<br />This will display the content of your Mambo configuration.php file. This file is produced when you perform the installation of Mambo on your server, and is changed when you make changes to in the global configuration section of the Administration of Mambo. This file defines many of the global variables that Mambo uses to execute. You can not edit the file from here, but it does allow you to look at your current settings to find problems or to copy the information for a support post on the forum on <a href="http://www.mamboserver.com/">www.mamboserver.com</a>.<br />&nbsp;<br />PHP:&nbsp;<br />PHP is the server side scripting language that Mambo runs on. This language is installed and executes on the server, and therefore all the settings are made on that server. Everything you ever wanted to know about the PHP installation on your Mambo server is listed here. How much control you have over changing this information depends on whether you own the server or if your server host is willing to work with you on needed changes. The PHP tab will allow you to look at all the settings and variables that define your PHP installation. It is a good practice to insure that you know what requirements are needed for any 'Third Party' Components that you plan to use with Mambo. You can then check for those requirements here.
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.templates.assign.html 4.5.4/help/screen.templates.assign.html
--- 4.5.2.3/help/screen.templates.assign.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.templates.assign.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Templates: Assign *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Templates: Assign *</h1>
-
-Content coming soon....
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.templates.html 4.5.4/help/screen.templates.html
--- 4.5.2.3/help/screen.templates.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.templates.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Template Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Template Manager</h1>
-
-<p align="right">-- Draft version</p>This page allow you to publish and edit Templates.<br />&nbsp;<br />Name: This is the name of the template.<br />&nbsp;<br />Default: This is the template that is currently published as the site template (only one can be published at a time).<br />&nbsp;<br />Assigned: This tells us whether the template is dynamically assigned to one of the pages on the site.<br />&nbsp;<br />Author: This is the template's author.<br />&nbsp;<br />Version: This is the template version.<br />&nbsp;<br />Date: This is the creation date of the template.<br />&nbsp;<br />Author Email: This is the author's e-mail.<br />&nbsp;<br />Author URL: A URL provided by the author.<br />&nbsp;<br />You may hover over the template name<br />&nbsp;<br />To Publish a template, select the radio button next to the name of the template and click the 'Default' icon. You can assign different templates for different menu items.<br />&nbsp;<br />Click the 'New' icon to upload/install a new template to your site.<br />&nbsp;<br />To Edit the HTML (index.php file) or the CSS stylesheet, select the radio button next to the name of the template and click either the &quot;Edit HTML&quot; or &quot;Edit CSS&quot; icon depending what you wish to do.<br />&nbsp;<br />To delete a template, select the radio button next to the name and click the 'Delete' icon. You will be asked to confirm the delete operation. Select 'Yes' to delete the client or 'No' to cancel. The template will be deleted from the file system.<br />&nbsp;<br />When you select a template to assign, you will be presented with a list of pages to choose from. You can select multiple pages from the menu and assign them to a template. When assigned, the template will appear when a user clicks these pages. This will override the default template. The &quot;Template Manager&quot; also allows you to choose the default template (using the &quot;Default&quot; icon) which will appear on all pages for which specific assignments has not been made. <br />NOTE: Both the assigned and the default template will get overridden by the Template Chooser module in the Frontend, if used.<br />&nbsp;<br />The Administrator Templates can be choosen by clicking the &quot;Default&quot; icon. Administrator Templates are not assignable to any pages.
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.templates.modules.html 4.5.4/help/screen.templates.modules.html
--- 4.5.2.3/help/screen.templates.modules.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.templates.modules.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Module Positions</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Module Positions</h1>
-
-<p align="right">-- Draft Version</p><p align="left">The Module Positions page allows you to enter details of the module positions you have used in your template. All the default module positions are already entered and in general it is unlikely you would need to change this.<br /><br />See this Help Screen to learn about the different Module Positions<br /><a href="index.php?option=com_content&task=view&id=59&Itemid=68">Help Screen:&nbsp; Module Positions</a><br /><br />Should you want to use positions that do not pre-exist in the default Mambo setup you can simply add a name for a module position and a description. The description is optional.<br /><br />To create a new module position in your template, you insert this basic code into your template to be able to assign modules to a specific position.</p><p align="left">&lt;?php mosLoadModules ( 'position' ); ?&gt;</p><p align="left">The word 'position' is to be changed to whichever position you define on this page. (For more advanced techniques, see the the Development manual.)<br /><br />When you click on Site -&gt; Preview -&gt; Inline with Position, you may visualize your Home page with blocks displaying the Positions used in the template assigned to the Home page. </p>
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.trashmanager.html 4.5.4/help/screen.trashmanager.html
--- 4.5.2.3/help/screen.trashmanager.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.trashmanager.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Trash Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Trash Manager</h1>
-
-<p align="right">-- Draft version</p>This screen shows&nbsp;a list of the Content Items that is in the 'Trash bin'.<p>If your list is long, you may enter text in the &quot;Filter&quot; box to refine the list based on whether the text is found in the title of any item in the trash bin. Type in any text and press 'Enter'.</p><p>Title: This is the title of the trashed item<br />&nbsp;&nbsp;&nbsp; <br />Section: This is the section of the trashed item.<br />&nbsp;&nbsp;&nbsp; <br />Category: This is the category of the trashed item.<br />&nbsp;&nbsp;&nbsp; <br />ID: This is the ID of the trashed item.<br />&nbsp;&nbsp;&nbsp; <br />Restore: To Restore one or more items, select the checkbox(es) next to the title of the item(s) and click the 'Restore' icon.</p><p>Delete: To delete an item PERMANENTLY from the database, select the check box next to the title and click the 'Delete' icon. You will be asked to confirm the delete operation. Select 'Yes' to delete the content item or 'No' to cancel.</p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.users.edit.html 4.5.4/help/screen.users.edit.html
--- 4.5.2.3/help/screen.users.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.users.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>User Manager - Add or Edit Users *</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>User Manager - Add or Edit Users *</h1>
-
-<p align="right">-- Draft Version</p><p>This screen is used to either add a new user or edit an existing one.</p><p>On the left side of the page is the User Details that need to be supplied when creating a new user, and can be edited when in that mode.</p><p>On the right side of the page is the contact details of the user. These are only present when editing a user and only if the contact has been created in the Contacts component and linked to the user. If this has been done the information will be displayed and a link at the bottom of the box provides a direct access to the Edit Contact page for that conatct.</p><p />
-
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.users.massmail.html 4.5.4/help/screen.users.massmail.html
--- 4.5.2.3/help/screen.users.massmail.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.users.massmail.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Mass Mail Users</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Mass Mail Users</h1>
-
-<p align="right">-- Draft Version<br /></p>This page allow you to send a mail a message to one or more groups of Users.<br /><p>&nbsp;<br />Group: Make a selection from the list. Select &quot;All User Groups&quot; to mail the message to all users. Only one selection can be made from this list.<br />&nbsp;<br />Mail to Child Groups: Check this box to automatically include all of the child groups of the selected group. For example, if you select the &quot;Editor&quot; group and check this box, all users in the Publisher group will also be included in the mass mail.<br />&nbsp;<br />Subject: Type a subject for the message.<br />&nbsp;<br />Message: Type the body of the message<br />&nbsp;<br />When you are finished, click the Publish icon to mail the message or Cancel to abort the mail.<br />&nbsp;<br />NOTE: Only a user in the Super Administrator group is permitted to use this feature.<br />&nbsp;</p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.weblink.edit.html 4.5.4/help/screen.weblink.edit.html
--- 4.5.2.3/help/screen.weblink.edit.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.weblink.edit.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Web Link Manager : New / Edit</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Web Link Manager : New / Edit</h1>
-
-<div align="right">-- Draft version</div><div align="right"><br /></div><p /><p>This page allow you to add or edit the details for a Web Link.<br />&nbsp;<br />Name: This is the name for the Web Link.<br />&nbsp;<br />Category: Select the desired category.<br />&nbsp;<br />URL: Add the URL address of the Web Link.<br />&nbsp;<br />Description: Add a text description for the Web Link.<br />&nbsp;<br />Ordering: You can order of the category by&nbsp;entering&nbsp;the appropriate numbers.<br />&nbsp;<br />Approved: Select from the list the user access level that should be able to view this Web Link.<br />&nbsp;<br />Published: This is whether the Web Link is published or not.<br />&nbsp;<br />When you are finished your editing, click the 'Save' icon or 'Cancel' to discard your changes.<br />&nbsp; </p>
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/help/screen.weblink.html 4.5.4/help/screen.weblink.html
--- 4.5.2.3/help/screen.weblink.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/help/screen.weblink.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
-<head>
-<title>Web Link Manager</title>
-<link href="css/help.css" rel="stylesheet" type="text/css" />
-<meta name="copyright" content="(C) 2000 - 2005 Miro International Pty Ltd" />
-<meta name="license" content="http://www.gnu.org/copyleft/gpl.html GNU/GPL" />
-</head>
-<body>
-<h1>Web Link Manager</h1>
-
-<p align="right">-- Draft version</p>This page shows show a list of the Web Links.<br />&nbsp;<br />Title: This is the name of the Web Link. Click the name to edit the Web Link.<br />&nbsp;<br />Category: This is the category that the Web Link is assigned to.<br />&nbsp;<br />Hits: This is the number of hits that the Web Link has received.<br />&nbsp;<br />Checked Out: This shows the name of a user if this Web Link item is 'Checked Out'. You will not be able to edit an item if it is checked out by another user. It must be checked back by an administrator by going to Systems in the Menu bar--&gt;Global Checkin. It can also be checked back in by the User who has checked the item out by clicking the 'Edit' icon of the Web Link item and then clicking the the 'Save' or 'Cancel' icon.<br />&nbsp;<br />Approved: This is whether the Web Link has been approved for publication (eg, User submitted links are not automatically approved).<br />&nbsp;<br />Reorder: Click the icons to move the record up or down in the list.<br />&nbsp;<br />To Publish or Unpublish one or more Web Links, select the checkbox(es) next to the name of the Web Link(s) and click either the 'Publish' or 'Unpublish' icon.<br />&nbsp;<br />Click the 'New' icon to add a new category.<br />&nbsp;<br />Click the name of the Web Link to edit the details, or select the check box next to the name and click the 'Edit' icon.<br />&nbsp;<br />To delete a Web Link, select the check box next to the name and click the 'Delete' icon. You will be asked to confirm the delete operation. Select 'Yes' to delete the Web Link or 'No' to cancel.<br />&nbsp;
-<br />
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/htaccess.txt 4.5.4/htaccess.txt
--- 4.5.2.3/htaccess.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/htaccess.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,27 @@
+##
+# @version $Id: htaccess.txt,v 1.1 2005/07/22 01:51:57 eddieajau Exp $
+# @package Mambo
+# @copyright (C) 2000 - 2005 Miro International Pty Ltd
+# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
+# Mambo is Free Software
+##
+
+#
+#  mod_rewrite in use
+#
+
+RewriteEngine On
+
+#  Uncomment following line if your webserver's URL 
+#  is not directly related to physical file paths.
+#  Update YourMamboDirectory (just / for root)
+
+# RewriteBase /YourMamboDirectory
+
+#
+#  Rules
+#
+
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule ^(.*) index.php
Files 4.5.2.3/images/banners/ka-chingBanner.gif and 4.5.4/images/banners/ka-chingBanner.gif differ
Files 4.5.2.3/images/banners/mamboFoundation_468_60.gif and 4.5.4/images/banners/mamboFoundation_468_60.gif differ
Files 4.5.2.3/images/banners/mambolove1.jpg and 4.5.4/images/banners/mambolove1.jpg differ
Files 4.5.2.3/images/banners/OiBanner.gif and 4.5.4/images/banners/OiBanner.gif differ
Files 4.5.2.3/images/banners/RecruitmentBanner.gif and 4.5.4/images/banners/RecruitmentBanner.gif differ
Files 4.5.2.3/images/banners/SupportMFBanner.gif and 4.5.4/images/banners/SupportMFBanner.gif differ
Files 4.5.2.3/images/stories/articles.jpg and 4.5.4/images/stories/articles.jpg differ
Files 4.5.2.3/images/stories/food/bread.jpg and 4.5.4/images/stories/food/bread.jpg differ
Files 4.5.2.3/images/stories/food/bun.jpg and 4.5.4/images/stories/food/bun.jpg differ
Files 4.5.2.3/images/stories/food/coffee.jpg and 4.5.4/images/stories/food/coffee.jpg differ
diff -ruN 4.5.2.3/images/stories/food/index.html 4.5.4/images/stories/food/index.html
--- 4.5.2.3/images/stories/food/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/images/stories/food/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-<html>
-<body bgcolor="#FFFFFF">
-</body>
-</html>
\ No newline at end of file
Files 4.5.2.3/images/stories/food/milk.jpg and 4.5.4/images/stories/food/milk.jpg differ
Files 4.5.2.3/images/stories/fruit/cherry.jpg and 4.5.4/images/stories/fruit/cherry.jpg differ
diff -ruN 4.5.2.3/images/stories/fruit/index.html 4.5.4/images/stories/fruit/index.html
--- 4.5.2.3/images/stories/fruit/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/images/stories/fruit/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-<html>
-<body bgcolor="#FFFFFF">
-</body>
-</html>
\ No newline at end of file
Files 4.5.2.3/images/stories/fruit/pears.jpg and 4.5.4/images/stories/fruit/pears.jpg differ
Files 4.5.2.3/images/stories/fruit/peas.jpg and 4.5.4/images/stories/fruit/peas.jpg differ
Files 4.5.2.3/images/stories/fruit/strawberry.jpg and 4.5.4/images/stories/fruit/strawberry.jpg differ
Files 4.5.2.3/images/stories/opensource-110x95.png and 4.5.4/images/stories/opensource-110x95.png differ
Files 4.5.2.3/images/stories/pastarchives.jpg and 4.5.4/images/stories/pastarchives.jpg differ
Files 4.5.2.3/images/stories/web_links.jpg and 4.5.4/images/stories/web_links.jpg differ
diff -ruN 4.5.2.3/includes/agent_browser.php 4.5.4/includes/agent_browser.php
--- 4.5.2.3/includes/agent_browser.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/agent_browser.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: agent_browser.php,v 1.4 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: agent_browser.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/agent_os.php 4.5.4/includes/agent_os.php
--- 4.5.2.3/includes/agent_os.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/agent_os.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: agent_os.php,v 1.4 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: agent_os.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/Archive/Tar.php 4.5.4/includes/Archive/Tar.php
--- 4.5.2.3/includes/Archive/Tar.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/Archive/Tar.php	2006-08-01 01:34:25.000000000 -0500
@@ -16,7 +16,7 @@
 // | Author: Vincent Blavet <vincent@blavet.net>                          |
 // +----------------------------------------------------------------------+
 //
-// $Id: Tar.php,v 1.2 2005/02/19 01:19:26 eddieajau Exp $
+// $Id: Tar.php,v 1.2 2005/07/22 03:24:02 eddieajau Exp $
 
 /** ensure this file is being included by a parent file */
 defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
diff -ruN 4.5.2.3/includes/Cache/Lite/Function.php 4.5.4/includes/Cache/Lite/Function.php
--- 4.5.2.3/includes/Cache/Lite/Function.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/Cache/Lite/Function.php	2006-08-01 01:34:25.000000000 -0500
@@ -11,7 +11,7 @@
 * Technical choices are described in the 'docs/technical' file
 *
 * @package Cache_Lite
-* @version $Id: Function.php,v 1.2 2004/12/03 12:57:43 eddieajau Exp $
+* @version $Id: Function.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @author Sebastian BERGMANN <sb@sebastian-bergmann.de>
 * @author Fabien MARTY <fab@php.net>
 */
diff -ruN 4.5.2.3/includes/Cache/Lite/Output.php 4.5.4/includes/Cache/Lite/Output.php
--- 4.5.2.3/includes/Cache/Lite/Output.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/Cache/Lite/Output.php	2006-08-01 01:34:25.000000000 -0500
@@ -7,7 +7,7 @@
 * Technical choices are described in the 'docs/technical' file
 *
 * @package Cache_Lite
-* @version $Id: Output.php,v 1.2 2004/12/03 12:57:43 eddieajau Exp $
+* @version $Id: Output.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @author Fabien MARTY <fab@php.net>
 */
 
diff -ruN 4.5.2.3/includes/Cache/Lite.php 4.5.4/includes/Cache/Lite.php
--- 4.5.2.3/includes/Cache/Lite.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/Cache/Lite.php	2006-08-01 01:34:25.000000000 -0500
@@ -22,7 +22,7 @@
 *
 * @package Cache_Lite
 * @category Caching
-* @version $Id: Lite.php,v 1.2 2004/12/03 12:57:43 eddieajau Exp $
+* @version $Id: Lite.php,v 1.1 2005/07/22 01:57:12 eddieajau Exp $
 * @author Fabien MARTY <fab@php.net>
 */
 
diff -ruN 4.5.2.3/includes/compat.php41x.php 4.5.4/includes/compat.php41x.php
--- 4.5.2.3/includes/compat.php41x.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/compat.php41x.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 /**
 * PHP 4.1.x Compatibility functions
-* @version $Id: compat.php41x.php,v 1.1 2005/02/04 15:32:39 eddieajau Exp $
+* @version $Id: compat.php41x.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/database.php 4.5.4/includes/database.php
--- 4.5.2.3/includes/database.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/database.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: database.php,v 1.11 2005/02/15 20:24:15 eddieajau Exp $
+* @version $Id: database.php,v 1.3 2005/07/22 03:36:09 eddieajau Exp $
 * @package Mambo
 * @subpackage Database
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
@@ -1098,4 +1098,4 @@
 		return $xml;
 	}
 }
-?>
+?>
\ No newline at end of file
diff -ruN 4.5.2.3/includes/feedcreator.class.php 4.5.4/includes/feedcreator.class.php
--- 4.5.2.3/includes/feedcreator.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/feedcreator.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -682,7 +682,7 @@
 		if ($filename=="") {
 			$filename = $this->_generateFilename();
 		}
-		$feedFile = fopen($filename, "w+");
+		$feedFile = @fopen($filename, "w+");
 		if ($feedFile) {
 			fputs($feedFile,$this->createFeed());
 			fclose($feedFile);
diff -ruN 4.5.2.3/includes/footer.php 4.5.4/includes/footer.php
--- 4.5.2.3/includes/footer.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/footer.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,8 +1,8 @@
 <?php
 /**
-* @version $Id: footer.php,v 1.4 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: footer.php,v 1.2 2005/11/21 00:06:17 cauld Exp $
 * @package Mambo
-* @copyright (C) 2000 - 2005 Miro International Pty Ltd
+* @copyright (C) 2000 - 2005 Mambo Foundation
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * Mambo is Free Software
 */
@@ -11,5 +11,4 @@
 defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
 global $_VERSION;
 ?>
-<div align="center"><?php echo $_VERSION->COPYRIGHT; ?></div>
-<div align="center"><?php echo $_VERSION->URL; ?></div>
+<div align="center"><br /><?php echo $_VERSION->URL; ?></div>
diff -ruN 4.5.2.3/includes/frontend.html.php 4.5.4/includes/frontend.html.php
--- 4.5.2.3/includes/frontend.html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/frontend.html.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: frontend.html.php,v 1.17 2005/02/18 16:05:19 rhuk Exp $
+* @version $Id: frontend.html.php,v 1.3 2005/07/22 03:36:09 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -43,7 +43,7 @@
 				</tr>
 				<?php
 			}
-	
+
 			if ( $module->content ) {
 				?>
 				<tr>
@@ -273,4 +273,4 @@
 		}
 	}
 }
-?>
+?>
\ No newline at end of file
diff -ruN 4.5.2.3/includes/frontend.php 4.5.4/includes/frontend.php
--- 4.5.2.3/includes/frontend.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/frontend.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: frontend.php,v 1.14 2005/02/15 19:23:22 eddieajau Exp $
+* @version $Id: frontend.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/gacl_api.class.php 4.5.4/includes/gacl_api.class.php
--- 4.5.2.3/includes/gacl_api.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/gacl_api.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: gacl_api.class.php,v 1.6 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: gacl_api.class.php,v 1.2 2005/11/12 16:38:56 cauld Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -492,7 +492,7 @@
 		// special case for root group
 		if ($parent_id == 0) {
 			// check a root group is not already defined
-			$$this->db->setQuery( 'SELECT group_id FROM '. $table .' WHERE parent_id=0' );
+			$this->db->setQuery( 'SELECT group_id FROM '. $table .' WHERE parent_id=0' );
 			$rs = $this->db->loadResultArray();
 			
 			if (!is_array( $rs )) {
@@ -545,7 +545,7 @@
 			}
 			
 			$this->db->setQuery( 'UPDATE '. $table .' SET lft=lft+2 WHERE lft>'. $parent_rgt );
-			$rs = $this->db->query($query);
+			$rs = $this->db->query();
 			
 			if (!$rs) {
 				$this->debug_db('add_group: make room for the new group - left');
@@ -555,7 +555,7 @@
 		}
 		
 		$this->db->setQuery( 'INSERT INTO '. $table .' (group_id,parent_id,name,lft,rgt) VALUES ('. $insert_id .','. $parent_id .',\''. $this->db->getEscaped($name) .'\','. $parent_rgt .','. ($parent_rgt + 1) .')' );
-		$rs = $this->db->query($query);
+		$rs = $this->db->query();
 		
 		if (!$rs) {
 			$this->debug_db('add_group: insert record');
@@ -1509,7 +1509,7 @@
 
 					// Get rid of $object_id map referencing erased objects
 					$this->db->setQuery( "DELETE FROM $object_map_table WHERE section_value='$section_value' AND value='$value'" );
-					$rs = $this->db->query($query);
+					$rs = $this->db->query();
 
 					if (!$rs) {
 						$this->debug_db('edit_object');
diff -ruN 4.5.2.3/includes/gacl.class.php 4.5.4/includes/gacl.class.php
--- 4.5.2.3/includes/gacl.class.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/gacl.class.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: gacl.class.php,v 1.7 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: gacl.class.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/getids.php 4.5.4/includes/getids.php
--- 4.5.2.3/includes/getids.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/getids.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: getids.php,v 1.4 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: getids.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/HTML_toolbar.php 4.5.4/includes/HTML_toolbar.php
--- 4.5.2.3/includes/HTML_toolbar.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/HTML_toolbar.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: HTML_toolbar.php,v 1.5 2005/01/23 03:24:16 kochp Exp $
+* @version $Id: HTML_toolbar.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/js/calendar/calendar.js 4.5.4/includes/js/calendar/calendar.js
--- 4.5.2.3/includes/js/calendar/calendar.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/js/calendar/calendar.js	2006-08-01 01:34:25.000000000 -0500
@@ -10,7 +10,7 @@
  * Public License, as long as you do not remove or alter this notice.
  */
 
-// $Id: calendar.js,v 1.2 2004/12/03 12:57:43 eddieajau Exp $
+// $Id: calendar.js,v 1.1 2005/07/22 01:57:20 eddieajau Exp $
 
 /** The Calendar object constructor. */
 Calendar = function (mondayFirst, dateStr, onSelected, onClose) {
diff -ruN 4.5.2.3/includes/js/mambojavascript.js 4.5.4/includes/js/mambojavascript.js
--- 4.5.2.3/includes/js/mambojavascript.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/js/mambojavascript.js	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 // <?php !! This fools phpdocumentor into parsing this file
 /**
-* @version $Id: mambojavascript.js,v 1.10 2005/02/16 17:06:07 eddieajau Exp $
+* @version $Id: mambojavascript.js,v 1.1 2005/07/22 01:57:16 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/js/overlib_mini.js 4.5.4/includes/js/overlib_mini.js
--- 4.5.2.3/includes/js/overlib_mini.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/js/overlib_mini.js	2006-08-01 01:34:25.000000000 -0500
@@ -1,328 +1,322 @@
-//\/////
-//\  overLIB 4.00 - You may not remove or change this notice.
-//\  Copyright Erik Bosrup 1998-2004. All rights reserved.
-//\
-//\  Contributors are listed on the homepage.
-//\  This file might be old, always check for the latest version at:
-//\  http://www.bosrup.com/web/overlib/
-//\
-//\  Please read the license agreement (available through the link above)
-//\  before using overLIB. Direct any licensing questions to erik@bosrup.com.
-//\
-//\  Do not sell this as your own work or remove this copyright notice. 
-//\  For full details on copying or changing this script please read the
-//\  license agreement at the link above. Please give credit on sites that
-//\  use overLIB and submit changes of the script so other people can use
-//\  them as well.
-//\/////
-//\  THIS IS A VERY MODIFIED VERSION. DO NOT EDIT OR PUBLISH. GET THE ORIGINAL!
-var olLoaded=0;var pmStart=10000000; var pmUpper=10001000; var pmCount=pmStart+1;  var pms=new Array(); var olInfo=new Info('4.00', 1);var FREPLACE=0; var FBEFORE=1; var FAFTER=2; var FALTERNATE=3;var olHideForm=0;registerCommands('donothing,inarray,caparray,sticky,background,noclose,caption,left,right,center,offsetx,offsety,fgcolor,bgcolor,textcolor,capcolor,closecolor,width,border,cellpad,status,autostatus,autostatuscap,height,closetext,snapx,snapy,fixx,fixy,relx,rely,fgbackground,bgbackground,padx,pady,fullhtml,above,below,capicon,textfont,captionfont,closefont,textsize,captionsize,closesize,timeout,function,delay,hauto,vauto,closeclick,wrap,followmouse,mouseoff,closetitle,cssoff,cssclass,fgclass,bgclass,textfontclass,captionfontclass,closefontclass');
-if (typeof ol_fgcolor=='undefined') var ol_fgcolor="#D0D0D0";if (typeof ol_bgcolor=='undefined') var ol_bgcolor="#FF9E31";if (typeof ol_textcolor=='undefined') var ol_textcolor="#000000";if (typeof ol_capcolor=='undefined') var ol_capcolor="#333333";if (typeof ol_closecolor=='undefined') var ol_closecolor="#FFFFFF";if (typeof ol_textfont=='undefined') var ol_textfont="Verdana,Arial,Helvetica";if (typeof ol_captionfont=='undefined') var ol_captionfont="Verdana,Arial,Helvetica";if (typeof ol_closefont=='undefined') var ol_closefont="Verdana,Arial,Helvetica";if (typeof ol_textsize=='undefined') var ol_textsize="1";if (typeof ol_captionsize=='undefined') var ol_captionsize="2";if (typeof ol_closesize=='undefined') var ol_closesize="2";if (typeof ol_width=='undefined') var ol_width="200";if (typeof ol_border=='undefined') var ol_border="1";if (typeof ol_cellpad=='undefined') var ol_cellpad=4;if (typeof ol_offsetx=='undefined') var ol_offsetx=1;if (typeof ol_offsety=='undefined') var ol_offsety=10;if (typeof ol_text=='undefined') var ol_text="Default Text";if (typeof ol_cap=='undefined') var ol_cap="";if (typeof ol_sticky=='undefined') var ol_sticky=0;if (typeof ol_background=='undefined') var ol_background="";if (typeof ol_close=='undefined') var ol_close="Close";if (typeof ol_hpos=='undefined') var ol_hpos=RIGHT;if (typeof ol_status=='undefined') var ol_status="";if (typeof ol_autostatus=='undefined') var ol_autostatus=0;if (typeof ol_height=='undefined') var ol_height=-1;if (typeof ol_snapx=='undefined') var ol_snapx=0;if (typeof ol_snapy=='undefined') var ol_snapy=0;if (typeof ol_fixx=='undefined') var ol_fixx=-1;if (typeof ol_fixy=='undefined') var ol_fixy=-1;if (typeof ol_relx=='undefined') var ol_relx=null;if (typeof ol_rely=='undefined') var ol_rely=null;if (typeof ol_fgbackground=='undefined') var ol_fgbackground="";if (typeof ol_bgbackground=='undefined') var ol_bgbackground="";if (typeof ol_padxl=='undefined') var ol_padxl=1;if (typeof ol_padxr=='undefined') var ol_padxr=1;if (typeof ol_padyt=='undefined') var ol_padyt=1;if (typeof ol_padyb=='undefined') var ol_padyb=1;if (typeof ol_fullhtml=='undefined') var ol_fullhtml=0;if (typeof ol_vpos=='undefined') var ol_vpos=BELOW;if (typeof ol_aboveheight=='undefined') var ol_aboveheight=0;if (typeof ol_capicon=='undefined') var ol_capicon="";if (typeof ol_frame=='undefined') var ol_frame=self;if (typeof ol_timeout=='undefined') var ol_timeout=0;if (typeof ol_function=='undefined') var ol_function=null;if (typeof ol_delay=='undefined') var ol_delay=0;if (typeof ol_hauto=='undefined') var ol_hauto=0;if (typeof ol_vauto=='undefined') var ol_vauto=0;if (typeof ol_closeclick=='undefined') var ol_closeclick=0;if (typeof ol_wrap=='undefined') var ol_wrap=0;if (typeof ol_followmouse=='undefined') var ol_followmouse=1;if (typeof ol_mouseoff=='undefined') var ol_mouseoff=0;if (typeof ol_closetitle=='undefined') var ol_closetitle='Close';if (typeof ol_css=='undefined') var ol_css=CSSOFF;if (typeof ol_fgclass=='undefined') var ol_fgclass="";if (typeof ol_bgclass=='undefined') var ol_bgclass="";if (typeof ol_textfontclass=='undefined') var ol_textfontclass="";if (typeof ol_captionfontclass=='undefined') var ol_captionfontclass="";if (typeof ol_closefontclass=='undefined') var ol_closefontclass="";
-if (typeof ol_texts=='undefined') var ol_texts=new Array("Text 0", "Text 1");if (typeof ol_caps=='undefined') var ol_caps=new Array("Caption 0", "Caption 1");
-var o3_text="";var o3_cap="";var o3_sticky=0;var o3_background="";var o3_close="Close";var o3_hpos=RIGHT;var o3_offsetx=2;var o3_offsety=2;var o3_fgcolor="";var o3_bgcolor="";var o3_textcolor="";var o3_capcolor="";var o3_closecolor="";var o3_width=100;var o3_border=1;var o3_cellpad=2;var o3_status="";var o3_autostatus=0;var o3_height=-1;var o3_snapx=0;var o3_snapy=0;var o3_fixx=-1;var o3_fixy=-1;var o3_relx=null;var o3_rely=null;var o3_fgbackground="";var o3_bgbackground="";var o3_padxl=0;var o3_padxr=0;var o3_padyt=0;var o3_padyb=0;var o3_fullhtml=0;var o3_vpos=BELOW;var o3_aboveheight=0;var o3_capicon="";var o3_textfont="Verdana,Arial,Helvetica";var o3_captionfont="Verdana,Arial,Helvetica";var o3_closefont="Verdana,Arial,Helvetica";var o3_textsize="1";var o3_captionsize="1";var o3_closesize="1";var o3_frame=self;var o3_timeout=0;var o3_timerid=0;var o3_allowmove=0;var o3_function=null;var o3_delay=0;var o3_delayid=0;var o3_hauto=0;var o3_vauto=0;var o3_closeclick=0;var o3_wrap=0;var o3_followmouse=1;var o3_mouseoff=0;var o3_closetitle='';var o3_css=CSSOFF;var o3_fgclass="";var o3_bgclass="";var o3_textfontclass="";var o3_captionfontclass="";var o3_closefontclass="";
-var o3_x=0;var o3_y=0;var o3_showingsticky=0;var o3_removecounter=0;
-var over=null;var fnRef, hoveringSwitch=false;
-var isMac=(navigator.userAgent.indexOf("Mac")!=-1);var olOp=(navigator.userAgent.toLowerCase().indexOf('opera 7.')>-1);var olNs4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4);var olNs6=(document.getElementById)?true:false;var olIe4=(document.all)?true:false;var olIe5=false;var olIe55=false;var docRoot='document.body';
-if (olNs4) {var oW=window.innerWidth;var oH=window.innerHeight;window.onresize=function() { if (oW!=window.innerWidth||oH!=window.innerHeight) location.reload(); }
-}
-if (olIe4) {var versNum=parseFloat(navigator.userAgent.match(/MSIE (\d\.\d+)\.*/i)[1]);if (versNum>=5){olIe5=true;olIe55=(versNum>=5.5&&!olOp)?true:false;if (olNs6) olNs6=false;}
-if (olNs6) olIe4=false;}
-if (document.compatMode&&document.compatMode=='CSS1Compat') {docRoot=((olIe4&&!olOp)?'document.documentElement':docRoot);}
-if(window.addEventListener) window.addEventListener("load",OLonLoad_handler,true);else if (window.attachEvent) window.attachEvent("onload",OLonLoad_handler);else window.onload=OLonLoad_handler;
-var olCheckMouseCapture=true;if ((olNs4||olNs6||olIe4)) {olMouseCapture();} else {overlib=no_overlib;nd=no_overlib;ver3fix=true;}
-function overlib() {if (!olLoaded||isExclusive(overlib.arguments)) return true;if (olCheckMouseCapture) olMouseCapture();if (over) cClick();
-o3_text=ol_text;o3_cap=ol_cap;o3_sticky=ol_sticky;o3_background=ol_background;o3_close=ol_close;o3_hpos=ol_hpos;o3_offsetx=ol_offsetx;o3_offsety=ol_offsety;o3_fgcolor=ol_fgcolor;o3_bgcolor=ol_bgcolor;o3_textcolor=ol_textcolor;o3_capcolor=ol_capcolor;o3_closecolor=ol_closecolor;o3_width=ol_width;o3_border=ol_border;o3_cellpad=ol_cellpad;o3_status=ol_status;o3_autostatus=ol_autostatus;o3_height=ol_height;o3_snapx=ol_snapx;o3_snapy=ol_snapy;o3_fixx=ol_fixx;o3_fixy=ol_fixy;o3_relx=ol_relx;o3_rely=ol_rely;o3_fgbackground=ol_fgbackground;o3_bgbackground=ol_bgbackground;o3_padxl=ol_padxl;o3_padxr=ol_padxr;o3_padyt=ol_padyt;o3_padyb=ol_padyb;o3_fullhtml=ol_fullhtml;o3_vpos=ol_vpos;o3_aboveheight=ol_aboveheight;o3_capicon=ol_capicon;o3_textfont=ol_textfont;o3_captionfont=ol_captionfont;o3_closefont=ol_closefont;o3_textsize=ol_textsize;o3_captionsize=ol_captionsize;o3_closesize=ol_closesize;o3_timeout=ol_timeout;o3_function=ol_function;o3_delay=ol_delay;o3_hauto=ol_hauto;o3_vauto=ol_vauto;o3_closeclick=ol_closeclick;o3_wrap=ol_wrap;o3_followmouse=ol_followmouse;o3_mouseoff=ol_mouseoff;o3_closetitle=ol_closetitle;o3_css=ol_css;o3_fgclass=ol_fgclass;o3_bgclass=ol_bgclass;o3_textfontclass=ol_textfontclass;o3_captionfontclass=ol_captionfontclass;o3_closefontclass=ol_closefontclass;
-setRunTimeVariables();
-fnRef='';
-o3_frame=ol_frame;
-if (olNs4) {over=o3_frame.document.layers['overDiv'];} else if (document.all) {over=o3_frame.document.all['overDiv'];} else if (document.getElementById) {over=o3_frame.document.getElementById("overDiv");}
-parseTokens('o3_', overlib.arguments);if (!postParseChecks()) return false;
-if (o3_delay==0) {return runHook("olMain", FREPLACE);} else {o3_delayid=setTimeout("runHook('olMain', FREPLACE)", o3_delay);return false;}
-}
-function nd(time) {if (olLoaded&&!isExclusive()) {if (time&&!o3_delay) {if (o3_timerid>0) clearTimeout(o3_timerid);
-o3_timerid=setTimeout("cClick()",(o3_timeout=time));}
-if (o3_removecounter>=1) { o3_showingsticky=0 };
-if (o3_showingsticky==0) {o3_allowmove=0;if (over!=null&&o3_timerid==0) runHook("hideObject", FREPLACE, over);} else {o3_removecounter++;}
-}
-return true;}
-function cClick() {if (olLoaded) {runHook("hideObject", FREPLACE, over);o3_showingsticky=0;}
-return false;}
-function overlib_pagedefaults() {parseTokens('ol_', overlib_pagedefaults.arguments);}
-function olMain() {var layerhtml, styleType;runHook("olMain", FBEFORE);
-if (o3_background!=""||o3_fullhtml) {
-layerhtml=runHook('ol_content_background', FALTERNATE, o3_css, o3_text, o3_background, o3_fullhtml);} else {
-styleType=(pms[o3_css-1-pmStart]=="cssoff"||pms[o3_css-1-pmStart]=="cssclass");
-if (o3_fgbackground!="") o3_fgbackground="background=\""+o3_fgbackground+"\"";if (o3_bgbackground!="") o3_bgbackground=(styleType?"background=\""+o3_bgbackground+"\"":o3_bgbackground);
-if (o3_fgcolor!="") o3_fgcolor=(styleType?"bgcolor=\""+o3_fgcolor+"\"":o3_fgcolor);if (o3_bgcolor!="") o3_bgcolor=(styleType?"bgcolor=\""+o3_bgcolor+"\"":o3_bgcolor);
-if (o3_height>0) o3_height=(styleType?"height=\""+o3_height+"\"":o3_height);else o3_height="";
-if (o3_cap=="") {
-layerhtml=runHook('ol_content_simple', FALTERNATE, o3_css, o3_text);} else {
-if (o3_sticky) {
-layerhtml=runHook('ol_content_caption', FALTERNATE, o3_css, o3_text, o3_cap, o3_close);} else {
-layerhtml=runHook('ol_content_caption', FALTERNATE, o3_css, o3_text, o3_cap, "");}
-}
-}
-if (o3_sticky) {if (o3_timerid>0) {clearTimeout(o3_timerid);o3_timerid=0;}
-o3_showingsticky=1;o3_removecounter=0;}
-if (!runHook("createPopup", FREPLACE, layerhtml)) return false;
-if (o3_autostatus>0) {o3_status=o3_text;if (o3_autostatus>1) o3_status=o3_cap;}
-o3_allowmove=0;
-if (o3_timeout>0) {if (o3_timerid>0) clearTimeout(o3_timerid);o3_timerid=setTimeout("cClick()", o3_timeout);}
-runHook("disp", FREPLACE, o3_status);runHook("olMain", FAFTER);
-if (o3_status!='') {return true;} else {return;}
-}
-function ol_content_simple(text) {txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_height)+'><tr><td><table width="100%" border="0" cellpadding="'+o3_cellpad+'" cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">':'>')+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';
-set_background("");return txt;}
-function ol_content_caption(text,title,close) {var nameId;closing="";closeevent="onmouseover";if (o3_closeclick==1) closeevent=(o3_closetitle?"title='"+o3_closetitle+"'":"")+" onclick";if (o3_capicon!="") {nameId=' hspace=\"5\"'+' align=\"middle\" alt=\"\"';if (typeof o3_dragimg!='undefined'&&o3_dragimg) nameId=' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"';o3_capicon='<img src=\"'+o3_capicon+'\"'+nameId+' />';}
-if (close!="") closing='<td '+(o3_closefontclass?'class="'+o3_closefontclass:'align="RIGHT')+'"><a href="javascript:return '+fnRef+'cClick();" '+closeevent+'="return '+fnRef+'cClick();">'+(o3_closefontclass?'':wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass?'':wrapStr(1,o3_closesize,'close'))+'</a></td>';txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_bgbackground+' '+o3_height)+'><tr><td><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td'+(o3_captionfontclass?' class="'+o3_captionfontclass+'">':'>')+(o3_captionfontclass?'':'<b>'+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass?'':wrapStr(1,o3_captionsize)+'</b>')+'</td>'+closing+'</tr></table><table width="100%" border="0" cellpadding="'+o3_cellpad+'" cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">' :'>')+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';
-set_background("");return txt;}
-function ol_content_background(text,picture,hasfullhtml) {if (hasfullhtml) {txt=text;} else {txt='<table width="'+o3_width+'" border="0" cellpadding="0" cellspacing="0" height="'+o3_height+'"><tr><td colspan="3" height="'+o3_padyt+'"></td></tr><tr><td width="'+o3_padxl+'"></td><td valign="TOP" width="'+(o3_width-o3_padxl-o3_padxr)+'">'+wrapStr(0,o3_textsize,'text')+text+wrapStr(1,o3_textsize)+'</td><td width="'+o3_padxr+'"></td></tr><tr><td colspan="3" height="'+o3_padyb+'"></td></tr></table>';}
-set_background(picture);return txt;}
-function set_background(pic) {if (pic=="") {if (olNs4) {over.background.src=null;} else if (over.style) {over.style.backgroundImage="none";}
-} else {if (olNs4) {over.background.src=pic;} else if (over.style) {over.style.backgroundImage="url("+pic+")";}
-}
-}
-function disp(statustext) {runHook("disp", FBEFORE);
-if (o3_allowmove==0) {runHook("placeLayer", FREPLACE);runHook("showObject", FREPLACE, over);o3_allowmove=(o3_sticky||o3_followmouse==0)?0:1;}
-runHook("disp", FAFTER);
-if (statustext!="") self.status=statustext;}
-function createPopup(lyrContent){runHook("createPopup", FBEFORE);
-if (o3_wrap&&!(olNs4||olOp)) {if (olIe4) {over.style.pixelWidth=0;} else if (olNs6) {repositionTo(over, 0,-over.offsetHeight);}
-}
-layerWrite(lyrContent);
-if (o3_wrap) o3_width=(olNs4?over.clip.width:over.offsetWidth);
-runHook("createPopup", FAFTER, lyrContent);
-return true;}
-function placeLayer() {var placeX, placeY, widthFix=0;
-if (eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientWidth=='number'")&&eval('o3_frame.'+docRoot+'.clientWidth')) {iwidth=eval('o3_frame.'+docRoot+'.clientWidth');} else if (typeof(o3_frame.innerWidth)=='number') {widthFix=Math.ceil(1.2*(o3_frame.outerWidth-o3_frame.innerWidth));iwidth=o3_frame.innerWidth;}
-winoffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollLeft'):o3_frame.pageXOffset;var parsedWidth=parseInt(o3_width);
-if (o3_fixx>-1||o3_relx!=null) {
-placeX=(o3_relx!=null?( o3_relx<0?winoffset+o3_relx+iwidth-parsedWidth-widthFix:winoffset+o3_relx):o3_fixx);} else {
-if (o3_hauto==1) {if ((o3_x-winoffset)>(iwidth/2)) {o3_hpos=LEFT;} else {o3_hpos=RIGHT;}
-}
-if (o3_hpos==CENTER) {placeX=o3_x+o3_offsetx-(parsedWidth/2);
-if (placeX<winoffset) placeX=winoffset;}
-if (o3_hpos==RIGHT) {placeX=o3_x+o3_offsetx;
-if ((placeX+parsedWidth)>(winoffset+iwidth-widthFix)) {placeX=iwidth+winoffset-parsedWidth-widthFix;if (placeX<0) placeX=0;}
-}
-if (o3_hpos==LEFT) {placeX=o3_x-o3_offsetx-parsedWidth;if (placeX<winoffset) placeX=winoffset;}
-if (o3_snapx>1) {var snapping=placeX % o3_snapx;
-if (o3_hpos==LEFT) {placeX=placeX-(o3_snapx+snapping);} else {
-placeX=placeX+(o3_snapx-snapping);}
-if (placeX<winoffset) placeX=winoffset;}
-}
-if (eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')) {iheight=eval('o3_frame.'+docRoot+'.clientHeight');} else if (typeof(o3_frame.innerHeight)=='number') {iheight=o3_frame.innerHeight;}
-scrolloffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollTop'):o3_frame.pageYOffset;var parsedHeight=(o3_aboveheight?parseInt(o3_aboveheight):(olNs4?over.clip.height:over.offsetHeight));
-if (o3_fixy>-1||o3_rely!=null) {
-placeY=(o3_rely!=null?(o3_rely<0?scrolloffset+o3_rely+iheight-parsedHeight:scrolloffset+o3_rely):o3_fixy);} else {
-if (o3_vauto==1) {if ((o3_y-scrolloffset)>(iheight/2)) {o3_vpos=ABOVE;} else {o3_vpos=BELOW;}
-}
-if (o3_vpos==ABOVE) {if (o3_aboveheight==0) o3_aboveheight=parsedHeight;
-placeY=o3_y-(o3_aboveheight+o3_offsety);if (placeY<scrolloffset) placeY=scrolloffset;} else {
-placeY=o3_y+o3_offsety;}
-if (o3_snapy>1) {var snapping=placeY % o3_snapy;
-if (o3_aboveheight>0&&o3_vpos==ABOVE) {placeY=placeY-(o3_snapy+snapping);} else {placeY=placeY+(o3_snapy-snapping);}
-if (placeY<scrolloffset) placeY=scrolloffset;}
-}
-repositionTo(over, placeX, placeY);}
-function olMouseMove(e) {var e=(e)?e:event;
-if (e.pageX) {o3_x=e.pageX;o3_y=e.pageY;} else if (e.clientX) {o3_x=eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft');o3_y=eval('e.clientY+o3_frame.'+docRoot+'.scrollTop');}
-if (o3_allowmove==1) runHook("placeLayer", FREPLACE);
-if (hoveringSwitch&&!olNs4&&runHook("cursorOff", FREPLACE)) {cClick();hoveringSwitch=!hoveringSwitch;}
-}
-function no_overlib() { return ver3fix; }
-function olMouseCapture() {capExtent=document;var fN, mseHandler=olMouseMove;var re=/function[ ]+(\w+)\(/;
-if (document.onmousemove||(!olIe4&&window.onmousemove)) {if (window.onmousemove) capExtent=window;fN=capExtent.onmousemove.toString().match(re);
-if (fN[1]=='anonymous'||fN[1]=='olMouseMove') {olCheckMouseCapture=false;return;}
-var str=fN[1]+'(e); '+'olMouseMove(e); ';mseHandler=new Function('e', str);}
-capExtent.onmousemove=mseHandler;if (olNs4) capExtent.captureEvents(Event.MOUSEMOVE);}
-function parseTokens(pf, ar) {
-var v, mode=-1, par=(pf!='ol_');var fnMark=(par&&!ar.length?1:0);
-for (i=0; i<ar.length; i++) {if (mode<0) {
-if (typeof ar[i]=='number'&&ar[i]>pmStart&&ar[i]<pmUpper) {fnMark=(par?1:0);i--;} else {switch(pf) {case 'ol_':
-ol_text=ar[i].toString();break;default:
-o3_text=ar[i].toString();}
-}
-mode=0;} else {
-if (ar[i]>=pmCount||ar[i]==DONOTHING) { continue; }
-if (ar[i]==INARRAY) { fnMark=0; eval(pf+'text=ol_texts['+ar[++i]+'].toString()'); continue; }
-if (ar[i]==CAPARRAY) { eval(pf+'cap=ol_caps['+ar[++i]+'].toString()'); continue; }
-if (ar[i]==STICKY) { if (pf!='ol_') eval(pf+'sticky=1'); continue; }
-if (ar[i]==BACKGROUND) { eval(pf+'background="'+ar[++i]+'"'); continue; }
-if (ar[i]==NOCLOSE) { if (pf!='ol_') opt_NOCLOSE(); continue; }
-if (ar[i]==CAPTION) { eval(pf+"cap='"+escSglQuote(ar[++i])+"'"); continue; }
-if (ar[i]==CENTER||ar[i]==LEFT||ar[i]==RIGHT) { eval(pf+'hpos='+ar[i]); continue; }
-if (ar[i]==OFFSETX) { eval(pf+'offsetx='+ar[++i]); continue; }
-if (ar[i]==OFFSETY) { eval(pf+'offsety='+ar[++i]); continue; }
-if (ar[i]==FGCOLOR) { eval(pf+'fgcolor="'+ar[++i]+'"'); continue; }
-if (ar[i]==BGCOLOR) { eval(pf+'bgcolor="'+ar[++i]+'"'); continue; }
-if (ar[i]==TEXTCOLOR) { eval(pf+'textcolor="'+ar[++i]+'"'); continue; }
-if (ar[i]==CAPCOLOR) { eval(pf+'capcolor="'+ar[++i]+'"'); continue; }
-if (ar[i]==CLOSECOLOR) { eval(pf+'closecolor="'+ar[++i]+'"'); continue; }
-if (ar[i]==WIDTH) { eval(pf+'width='+ar[++i]); continue; }
-if (ar[i]==BORDER) { eval(pf+'border='+ar[++i]); continue; }
-if (ar[i]==CELLPAD) { i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad')); continue; }
-if (ar[i]==STATUS) { eval(pf+"status='"+escSglQuote(ar[++i])+"'"); continue; }
-if (ar[i]==AUTOSTATUS) { eval(pf+'autostatus=('+pf+'autostatus==1)?0:1'); continue; }
-if (ar[i]==AUTOSTATUSCAP) { eval(pf+'autostatus=('+pf+'autostatus==2)?0:2'); continue; }
-if (ar[i]==HEIGHT) { eval(pf+'height='+pf+'aboveheight='+ar[++i]); continue; }
-if (ar[i]==CLOSETEXT) { eval(pf+"close='"+escSglQuote(ar[++i])+"'"); continue; }
-if (ar[i]==SNAPX) { eval(pf+'snapx='+ar[++i]); continue; }
-if (ar[i]==SNAPY) { eval(pf+'snapy='+ar[++i]); continue; }
-if (ar[i]==FIXX) { eval(pf+'fixx='+ar[++i]); continue; }
-if (ar[i]==FIXY) { eval(pf+'fixy='+ar[++i]); continue; }
-if (ar[i]==RELX) { eval(pf+'relx='+ar[++i]); continue; }
-if (ar[i]==RELY) { eval(pf+'rely='+ar[++i]); continue; }
-if (ar[i]==FGBACKGROUND) { eval(pf+'fgbackground="'+ar[++i]+'"'); continue; }
-if (ar[i]==BGBACKGROUND) { eval(pf+'bgbackground="'+ar[++i]+'"'); continue; }
-if (ar[i]==PADX) { eval(pf+'padxl='+ar[++i]); eval(pf+'padxr='+ar[++i]); continue; }
-if (ar[i]==PADY) { eval(pf+'padyt='+ar[++i]); eval(pf+'padyb='+ar[++i]); continue; }
-if (ar[i]==FULLHTML) { if (pf!='ol_') eval(pf+'fullhtml=1'); continue; }
-if (ar[i]==BELOW||ar[i]==ABOVE) { eval(pf+'vpos='+ar[i]); continue; }
-if (ar[i]==CAPICON) { eval(pf+'capicon="'+ar[++i]+'"'); continue; }
-if (ar[i]==TEXTFONT) { eval(pf+"textfont='"+escSglQuote(ar[++i])+"'"); continue; }
-if (ar[i]==CAPTIONFONT) { eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'"); continue; }
-if (ar[i]==CLOSEFONT) { eval(pf+"closefont='"+escSglQuote(ar[++i])+"'"); continue; }
-if (ar[i]==TEXTSIZE) { eval(pf+'textsize="'+ar[++i]+'"'); continue; }
-if (ar[i]==CAPTIONSIZE) { eval(pf+'captionsize="'+ar[++i]+'"'); continue; }
-if (ar[i]==CLOSESIZE) { eval(pf+'closesize="'+ar[++i]+'"'); continue; }
-if (ar[i]==TIMEOUT) { eval(pf+'timeout='+ar[++i]); continue; }
-if (ar[i]==FUNCTION) { if (pf=='ol_') { if (typeof ar[i+1]!='number') { v=ar[++i]; ol_function=(typeof v=='function'?v:null); }} else {fnMark=0; v=null; if (typeof ar[i+1]!='number') v=ar[++i];  opt_FUNCTION(v); } continue; }
-if (ar[i]==DELAY) { eval(pf+'delay='+ar[++i]); continue; }
-if (ar[i]==HAUTO) { eval(pf+'hauto=('+pf+'hauto==0)?1:0'); continue; }
-if (ar[i]==VAUTO) { eval(pf+'vauto=('+pf+'vauto==0)?1:0'); continue; }
-if (ar[i]==CLOSECLICK) { eval(pf+'closeclick=('+pf+'closeclick==0)?1:0'); continue; }
-if (ar[i]==WRAP) { eval(pf+'wrap=('+pf+'wrap==0)?1:0'); continue; }
-if (ar[i]==FOLLOWMOUSE) { eval(pf+'followmouse=('+pf+'followmouse==1)?0:1'); continue; }
-if (ar[i]==MOUSEOFF) { eval(pf+'mouseoff=('+pf+'mouseoff==0)?1:0'); continue; }
-if (ar[i]==CLOSETITLE) { eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'"); continue; }
-if (ar[i]==CSSOFF||ar[i]==CSSCLASS) { eval(pf+'css='+ar[i]); continue; }
-if (ar[i]==FGCLASS) { eval(pf+'fgclass="'+ar[++i]+'"'); continue; }
-if (ar[i]==BGCLASS) { eval(pf+'bgclass="'+ar[++i]+'"'); continue; }
-if (ar[i]==TEXTFONTCLASS) { eval(pf+'textfontclass="'+ar[++i]+'"'); continue; }
-if (ar[i]==CAPTIONFONTCLASS) { eval(pf+'captionfontclass="'+ar[++i]+'"'); continue; }
-if (ar[i]==CLOSEFONTCLASS) { eval(pf+'closefontclass="'+ar[++i]+'"'); continue; }
-i=parseCmdLine(pf, i, ar);}
-}
-if (fnMark&&o3_function) o3_text=o3_function();
-if ((pf=='o3_')&&o3_wrap) {o3_width=0;
-if (olOp||(olIe4&&isMac)) {var tReg=/<.*\n*>/ig;if (!tReg.test(o3_text)) o3_text=o3_text.replace(/[ ]+/g, '&nbsp;');if (!tReg.test(o3_cap))o3_cap=o3_cap.replace(/[ ]+/g, '&nbsp;');}
-}
-if ((pf=='o3_')&&o3_sticky) {if (!o3_close&&(o3_frame!=ol_frame)) o3_close=ol_close;if (o3_mouseoff&&(o3_frame==ol_frame)) opt_NOCLOSE(' ');}
-}
-function layerWrite(txt) {txt+="\n";if (olNs4) {var lyr=o3_frame.document.overDiv.document
-lyr.write(txt)
-lyr.close()
-} else if (typeof over.innerHTML!='undefined') {if (olIe5&&isMac) over.innerHTML='';over.innerHTML=txt;} else {range=o3_frame.document.createRange();range.setStartAfter(over);domfrag=range.createContextualFragment(txt);
-while (over.hasChildNodes()) {over.removeChild(over.lastChild);}
-over.appendChild(domfrag);}
-}
-function showObject(obj) {runHook("showObject", FBEFORE);
-var theObj=(olNs4?obj:obj.style);theObj.visibility='visible';
-runHook("showObject", FAFTER);}
-function hideObject(obj) {runHook("hideObject", FBEFORE);
-var theObj=(olNs4?obj:obj.style);theObj.visibility='hidden';
-if (o3_timerid>0) clearTimeout(o3_timerid);if (o3_delayid>0) clearTimeout(o3_delayid);
-o3_timerid=0;o3_delayid=0;self.status="";
-if (over.onmouseout||over.onmouseover) {if (olNs4) over.releaseEvents(Event.MOUSEOUT||Event.MOUSEOVER);over.onmouseout=over.onmouseover=null;}
-runHook("hideObject", FAFTER);}
-function repositionTo(obj, xL, yL) {var theObj=(olNs4?obj:obj.style);theObj.left=xL+(!olNs4?'px':0);theObj.top=yL+(!olNs4?'px':0);}
-function cursorOff() {var left=parseInt(over.style.left);var top=parseInt(over.style.top);var right=left+over.offsetWidth;var bottom=top+over.offsetHeight;
-if (o3_x<left||o3_x>right||o3_y<top||o3_y>bottom) return true;
-return false;}
-function opt_FUNCTION(callme) {o3_text=(callme?(typeof callme=='string'?(/.+\(.*\)/.test(callme)?eval(callme):callme):callme()):(o3_function?o3_function():'No Function'));
-return 0;}
-function opt_NOCLOSE(unused) {if (!unused) o3_close="";
-if (olNs4) {over.captureEvents(Event.MOUSEOUT||Event.MOUSEOVER);over.onmouseover=function () { if (o3_timerid>0) { clearTimeout(o3_timerid); o3_timerid=0; } }
-over.onmouseout=cClick;} else {over.onmouseover=function () {hoveringSwitch=true; if (o3_timerid>0) { clearTimeout(o3_timerid); o3_timerid=0; } }
-}
-return 0;}
-function opt_MULTIPLEARGS(i, args, parameter) {var k=i, l, re, pV, str='';
-for(k=i; k<args.length; k++) {str+=args[k]+',';if(typeof args[k]=='number'&&args[k]>pmStart) break;}
-if(k>=args.length) l=str.length-1;else {re=eval('/,'+args[k]+'/');l=str.search(re);}
-k--;str=str.substring(0, l);pV=(olNs4&&/cellpad/i.test(parameter))?str.split(',')[0]:str;eval(parameter+'="'+pV+'"');
-return k;}
-function nbspCleanup() {if (o3_wrap&&(olOp||(olIe4&&isMac))) {o3_text=o3_text.replace(/\&nbsp;/g, ' ');o3_cap=o3_cap.replace(/\&nbsp;/g, ' ');}
-}
-function escSglQuote(str) {return str.toString().replace(/'/g,"\\'");}
-function OLonLoad_handler(e) {if (!olLoaded) olLoaded=1;
-if (window.removeEventListener) window.removeEventListener("load",OLonLoad_handler,true);else if (window.detachEvent) window.detachEvent("onload",OLonLoad_handler);
-if (olNs4) routeEvent(e);}
-function wrapStr(endWrap,fontSizeStr,whichString) {var fontStr, fontColor, isClose=((whichString=='close')?1:0), hasDims=/[%\-a-z]+$/.test(fontSizeStr);fontSizeStr=(olNs4)?(!hasDims?fontSizeStr:'1'):fontSizeStr;if (endWrap) return (hasDims&&!olNs4)?(isClose?'</span>':'</div>'):'</font>';else {fontStr='o3_'+whichString+'font';fontColor='o3_'+((whichString=='caption')? 'cap':whichString)+'color';return (hasDims&&!olNs4)?(isClose?'<span style="font-family: '+quoteMultiNameFonts(eval(fontStr))+'; color: '+eval(fontColor)+'; font-size: '+fontSizeStr+';">':'<div style="font-family: '+quoteMultiNameFonts(eval(fontStr))+'; color: '+eval(fontColor)+'; font-size: '+fontSizeStr+';">'):'<font face="'+eval(fontStr)+'" color="'+eval(fontColor)+'" size="'+(parseInt(fontSizeStr)>7?'7':fontSizeStr)+'">';}
-}
-function quoteMultiNameFonts(theFont) {var v, pM=theFont.split(',');for (var i=0; i<pM.length; i++) {v=pM[i];v=v.replace(/^\s+/,'').replace(/\s+$/,'');if(/\s/.test(v)&&!/['"]/.test(v)) {v="\'"+v+"\'";pM[i]=v;}
-}
-return pM.join();}
-function isExclusive(args) {return false;}
-function setRunTimeVariables(){if (typeof runTime!='undefined'&&runTime.length) {for (var k=0; k<runTime.length; k++) {runTime[k]();}
-}
-}
-function parseCmdLine(pf, i, args) {if (typeof cmdLine!='undefined'&&cmdLine.length) {for (var k=0; k<cmdLine.length; k++) {var j=cmdLine[k](pf, i, args);if (j >-1) {i=j;break;}
-}
-}
-return i;}
-function postParseChecks(){if (typeof postParse!='undefined'&&postParse.length) {for (var k=0; k<postParse.length; k++) {if (postParse[k]()) continue;return false;}
-}
-return true;}
-function registerCommands(cmdStr) {if (typeof cmdStr!='string') return;
-var pM=cmdStr.split(',');pms=pms.concat(pM);
-for (var i=0; i< pM.length; i++) {eval(pM[i].toUpperCase()+'='+pmCount++);}
-}
-function registerHook(fnHookTo, fnRef, hookType, optPm) {var hookPt, last=typeof optPm;
-if (fnHookTo=='plgIn'||fnHookTo=='postParse') return;if (typeof hookPts=='undefined') hookPts=new Array();if (typeof hookPts[fnHookTo]=='undefined') hookPts[fnHookTo]=new FunctionReference();
-hookPt=hookPts[fnHookTo];
-if (hookType!=null) {if (hookType==FREPLACE) {hookPt.ovload=fnRef;if (fnHookTo.indexOf('ol_content_')>-1) hookPt.alt[pms[CSSOFF-1-pmStart]]=fnRef;
-} else if (hookType==FBEFORE||hookType==FAFTER) {var hookPt=(hookType==1?hookPt.before:hookPt.after);
-if (typeof fnRef=='object') {hookPt=hookPt.concat(fnRef);} else {hookPt[hookPt.length++]=fnRef;}
-if (optPm) hookPt=reOrder(hookPt, fnRef, optPm);
-} else if (hookType==FALTERNATE) {if (last=='number') hookPt.alt[pms[optPm-1-pmStart]]=fnRef;}
-return;}
-}
-function registerRunTimeFunction(fn) {if (isFunction(fn)) {if (typeof runTime=='undefined') runTime=new Array();if (typeof fn=='object') {runTime=runTime.concat(fn);} else {runTime[runTime.length++]=fn;}
-}
-}
-function registerCmdLineFunction(fn){if (isFunction(fn)) {if (typeof cmdLine=='undefined') cmdLine=new Array();if (typeof fn=='object') {cmdLine=cmdLine.concat(fn);} else {cmdLine[cmdLine.length++]=fn;}
-}
-}
-function registerPostParseFunction(fn){if (isFunction(fn)) {if (typeof postParse=='undefined') postParse=new Array();if (typeof fn=='object') {postParse=postParse.concat(fn);} else {postParse[postParse.length++]=fn;}
-}
-}
-function runHook(fnHookTo, hookType) {var l=hookPts[fnHookTo], optPm, arS, ar=runHook.arguments;
-if (hookType==FREPLACE) {arS=argToString(ar, 2);
-if (typeof l=='undefined'||!(l=l.ovload)) return eval(fnHookTo+'('+arS+')');else return eval('l('+arS+')');
-} else if (hookType==FBEFORE||hookType==FAFTER) {if (typeof l=='undefined') return;l=(hookType==1?l.before:l.after);
-if (!l.length) return;
-arS=argToString(ar, 2);for (var k=0; k<l.length; k++) eval('l[k]('+arS+')');
-} else if (hookType==FALTERNATE) {optPm=ar[2];arS=argToString(ar, 3);
-if (typeof l=='undefined'||(l=l.alt[pms[optPm-1-pmStart]])=='undefined') {return eval(fnHookTo+'('+arS+')');} else {return eval('l('+arS+')');}
-}
-}
-function isFunction(fnRef) {var rtn=true;
-if (typeof fnRef=='object') {for (var i=0; i<fnRef.length; i++) {if (typeof fnRef[i]=='function') continue;rtn=false;break;}
-} else if (typeof fnRef!='function') {rtn=false;}
-return rtn;}
-function argToString(array, strtInd, argName) {var jS=strtInd, aS='', ar=array;argName=(argName?argName:'ar');
-if (ar.length>jS) {for (var k=jS; k<ar.length; k++) aS+=argName+'['+k+'], ';aS=aS.substring(0, aS.length-2);}
-return aS;}
-function reOrder(hookPt, fnRef, order) {if (!order||typeof order=='undefined'||typeof order=='number') return;
-var newPt=new Array(), match;
-if (typeof order=='function') {if (typeof fnRef=='object') {newPt=newPt.concat(fnRef);} else {newPt[newPt.length++]=fnRef;}
-for (var i=0; i<hookPt.length; i++) {match=false;if (typeof fnRef=='function'&&hookPt[i]==fnRef) {continue;} else {for(var j=0; j<fnRef.length; j++) if (hookPt[i]==fnRef[j]) {match=true;break;}
-}
-if (!match) newPt[newPt.length++]=hookPt[i];}
-newPt[newPt.length++]=order;
-} else if (typeof order=='object') {if (typeof fnRef=='object') {newPt=newPt.concat(fnRef);} else {newPt[newPt.length++]=fnRef;}
-for (var j=0; j<hookPt.length; j++) {match=false;if (typeof fnRef=='function'&&hookPt[j]==fnRef) {continue;} else {for (var i=0; i<fnRef.length; i++) if (hookPt[j]==fnRef[i]) {match=true;break;}
-}
-if (!match) newPt[newPt.length++]=hookPt[j];}
-for (i=0; i<newPt.length; i++) hookPt[i]=newPt[i];newPt.length=0;
-for (var j=0; j<hookPt.length; j++) {match=false;for (var i=0; i<order.length; i++) {if (hookPt[j]==order[i]) {match=true;break;}
-}
-if (!match) newPt[newPt.length++]=hookPt[j];}
-newPt=newPt.concat(order);}
-for(i=0; i<newPt.length; i++) hookPt[i]=newPt[i];
-return hookPt;}
-function FunctionReference() {this.ovload=null;this.before=new Array();this.after=new Array();this.alt=new Array();}
-function Info(version, prerelease) {this.version=version;this.prerelease=prerelease;
-this.simpleversion=parseInt(this.version*100);this.major=parseInt(this.simpleversion/100);this.minor=parseInt(this.simpleversion/10)-this.major * 10;this.revision=parseInt(this.simpleversion)-this.major * 100-this.minor * 10;}
-registerHook("ol_content_simple", ol_content_simple, FALTERNATE, CSSOFF);registerHook("ol_content_caption", ol_content_caption, FALTERNATE, CSSOFF);registerHook("ol_content_background", ol_content_background, FALTERNATE, CSSOFF);registerHook("ol_content_simple", ol_content_simple, FALTERNATE, CSSCLASS);registerHook("ol_content_caption", ol_content_caption, FALTERNATE, CSSCLASS);registerHook("ol_content_background", ol_content_background, FALTERNATE, CSSCLASS);registerHook("hideObject", nbspCleanup, FAFTER);
+//\/////
+//\  overLIB 4.21 - You may not remove or change this notice.
+//\  Copyright Erik Bosrup 1998-2004. All rights reserved.
+//\
+//\  Contributors are listed on the homepage.
+//\  This file might be old, always check for the latest version at:
+//\  http://www.bosrup.com/web/overlib/
+//\
+//\  Please read the license agreement (available through the link above)
+//\  before using overLIB. Direct any licensing questions to erik@bosrup.com.
+//\
+//\  Do not sell this as your own work or remove this copyright notice. 
+//\  For full details on copying or changing this script please read the
+//\  license agreement at the link above. Please give credit on sites that
+//\  use overLIB and submit changes of the script so other people can use
+//\  them as well.
+//\/////
+//\  THIS IS A VERY MODIFIED VERSION. DO NOT EDIT OR PUBLISH. GET THE ORIGINAL!
+var olLoaded=0,pmStart=10000000,pmUpper=10001000,pmCount=pmStart+1,pmt='',pms=new Array(),olInfo=new Info('4.21',1),FREPLACE=0,FBEFORE=1,FAFTER=2,FALTERNATE=3,FCHAIN=4,olHideForm=0,olHautoFlag=0,olVautoFlag=0,hookPts=new Array(),postParse=new Array(),cmdLine=new Array(),runTime=new Array();
+registerCommands('donothing,inarray,caparray,sticky,background,noclose,caption,left,right,center,offsetx,offsety,fgcolor,bgcolor,textcolor,capcolor,closecolor,width,border,cellpad,status,autostatus,autostatuscap,height,closetext,snapx,snapy,fixx,fixy,relx,rely,fgbackground,bgbackground,padx,pady,fullhtml,above,below,capicon,textfont,captionfont,closefont,textsize,captionsize,closesize,timeout,function,delay,hauto,vauto,closeclick,wrap,followmouse,mouseoff,closetitle,cssoff,compatmode,cssclass,fgclass,bgclass,textfontclass,captionfontclass,closefontclass');
+if(typeof ol_fgcolor=='undefined')var ol_fgcolor="#CCCCFF";if(typeof ol_bgcolor=='undefined')var ol_bgcolor="#333399";if(typeof ol_textcolor=='undefined')var ol_textcolor="#000000";if(typeof ol_capcolor=='undefined')var ol_capcolor="#FFFFFF";if(typeof ol_closecolor=='undefined')var ol_closecolor="#9999FF";if(typeof ol_textfont=='undefined')var ol_textfont="Verdana,Arial,Helvetica";if(typeof ol_captionfont=='undefined')var ol_captionfont="Verdana,Arial,Helvetica";if(typeof ol_closefont=='undefined')var ol_closefont="Verdana,Arial,Helvetica";if(typeof ol_textsize=='undefined')var ol_textsize="1";if(typeof ol_captionsize=='undefined')var ol_captionsize="1";if(typeof ol_closesize=='undefined')var ol_closesize="1";if(typeof ol_width=='undefined')var ol_width="200";if(typeof ol_border=='undefined')var ol_border="1";if(typeof ol_cellpad=='undefined')var ol_cellpad=2;if(typeof ol_offsetx=='undefined')var ol_offsetx=10;if(typeof ol_offsety=='undefined')var ol_offsety=10;if(typeof ol_text=='undefined')var ol_text="Default Text";if(typeof ol_cap=='undefined')var ol_cap="";if(typeof ol_sticky=='undefined')var ol_sticky=0;if(typeof ol_background=='undefined')var ol_background="";if(typeof ol_close=='undefined')var ol_close="Close";if(typeof ol_hpos=='undefined')var ol_hpos=RIGHT;if(typeof ol_status=='undefined')var ol_status="";if(typeof ol_autostatus=='undefined')var ol_autostatus=0;if(typeof ol_height=='undefined')var ol_height=-1;if(typeof ol_snapx=='undefined')var ol_snapx=0;if(typeof ol_snapy=='undefined')var ol_snapy=0;if(typeof ol_fixx=='undefined')var ol_fixx=-1;if(typeof ol_fixy=='undefined')var ol_fixy=-1;if(typeof ol_relx=='undefined')var ol_relx=null;if(typeof ol_rely=='undefined')var ol_rely=null;if(typeof ol_fgbackground=='undefined')var ol_fgbackground="";if(typeof ol_bgbackground=='undefined')var ol_bgbackground="";if(typeof ol_padxl=='undefined')var ol_padxl=1;if(typeof ol_padxr=='undefined')var ol_padxr=1;if(typeof ol_padyt=='undefined')var ol_padyt=1;if(typeof ol_padyb=='undefined')var ol_padyb=1;if(typeof ol_fullhtml=='undefined')var ol_fullhtml=0;if(typeof ol_vpos=='undefined')var ol_vpos=BELOW;if(typeof ol_aboveheight=='undefined')var ol_aboveheight=0;if(typeof ol_capicon=='undefined')var ol_capicon="";if(typeof ol_frame=='undefined')var ol_frame=self;if(typeof ol_timeout=='undefined')var ol_timeout=0;if(typeof ol_function=='undefined')var ol_function=null;if(typeof ol_delay=='undefined')var ol_delay=0;if(typeof ol_hauto=='undefined')var ol_hauto=0;if(typeof ol_vauto=='undefined')var ol_vauto=0;if(typeof ol_closeclick=='undefined')var ol_closeclick=0;if(typeof ol_wrap=='undefined')var ol_wrap=0;if(typeof ol_followmouse=='undefined')var ol_followmouse=1;if(typeof ol_mouseoff=='undefined')var ol_mouseoff=0;if(typeof ol_closetitle=='undefined')var ol_closetitle='Close';if(typeof ol_compatmode=='undefined')var ol_compatmode=0;if(typeof ol_css=='undefined')var ol_css=CSSOFF;if(typeof ol_fgclass=='undefined')var ol_fgclass="";if(typeof ol_bgclass=='undefined')var ol_bgclass="";if(typeof ol_textfontclass=='undefined')var ol_textfontclass="";if(typeof ol_captionfontclass=='undefined')var ol_captionfontclass="";if(typeof ol_closefontclass=='undefined')var ol_closefontclass="";
+if(typeof ol_texts=='undefined')var ol_texts=new Array("Text 0","Text 1");if(typeof ol_caps=='undefined')var ol_caps=new Array("Caption 0","Caption 1");
+var o3_text="",o3_cap="",o3_sticky=0,o3_background="",o3_close="Close",o3_hpos=RIGHT,o3_offsetx=2,o3_offsety=2,o3_fgcolor="",o3_bgcolor="",o3_textcolor="",o3_capcolor="",o3_closecolor="",o3_width=100,o3_border=1,o3_cellpad=2,o3_status="",o3_autostatus=0,o3_height=-1,o3_snapx=0,o3_snapy=0,o3_fixx=-1,o3_fixy=-1,o3_relx=null,o3_rely=null,o3_fgbackground="",o3_bgbackground="",o3_padxl=0,o3_padxr=0,o3_padyt=0,o3_padyb=0,o3_fullhtml=0,o3_vpos=BELOW,o3_aboveheight=0,o3_capicon="",o3_textfont="Verdana,Arial,Helvetica",o3_captionfont="Verdana,Arial,Helvetica",o3_closefont="Verdana,Arial,Helvetica",o3_textsize="1",o3_captionsize="1",o3_closesize="1",o3_frame=self,o3_timeout=0,o3_timerid=0,o3_allowmove=0,o3_function=null,o3_delay=0,o3_delayid=0,o3_hauto=0,o3_vauto=0,o3_closeclick=0,o3_wrap=0,o3_followmouse=1,o3_mouseoff=0,o3_closetitle='',o3_compatmode=0,o3_css=CSSOFF,o3_fgclass="",o3_bgclass="",o3_textfontclass="",o3_captionfontclass="",o3_closefontclass="";
+var o3_x=0,o3_y=0,o3_showingsticky=0,o3_removecounter=0;
+var over=null,fnRef,hoveringSwitch=false,olHideDelay;
+var isMac=(navigator.userAgent.indexOf("Mac")!=-1),olOp=(navigator.userAgent.toLowerCase().indexOf('opera')>-1&&document.createTextNode),olNs4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4),olNs6=(document.getElementById)?true:false,olKq=(olNs6&&/konqueror/i.test(navigator.userAgent)),olIe4=(document.all)?true:false,olIe5=false,olIe55=false,docRoot='document.body';
+if(olNs4){var oW=window.innerWidth;var oH=window.innerHeight;window.onresize=function(){if(oW!=window.innerWidth||oH!=window.innerHeight)location.reload();}}
+if(olIe4){var agent=navigator.userAgent;if(/MSIE/.test(agent)){var versNum=parseFloat(agent.match(/MSIE[ ](\d\.\d+)\.*/i)[1]);if(versNum>=5){olIe5=true;olIe55=(versNum>=5.5&&!olOp)?true:false;if(olNs6)olNs6=false;}}
+if(olNs6)olIe4=false;}
+if(document.compatMode&&document.compatMode=='CSS1Compat'){docRoot=((olIe4&&!olOp)?'document.documentElement':docRoot);}
+if(window.addEventListener)window.addEventListener("load",OLonLoad_handler,false);else if(window.attachEvent)window.attachEvent("onload",OLonLoad_handler);
+var capExtent;
+function overlib(){if(!olLoaded||isExclusive(overlib.arguments))return true;if(olCheckMouseCapture)olMouseCapture();if(over){over=(typeof over.id!='string')?o3_frame.document.all['overDiv']:over;cClick();}
+olHideDelay=0;o3_text=ol_text;o3_cap=ol_cap;o3_sticky=ol_sticky;o3_background=ol_background;o3_close=ol_close;o3_hpos=ol_hpos;o3_offsetx=ol_offsetx;o3_offsety=ol_offsety;o3_fgcolor=ol_fgcolor;o3_bgcolor=ol_bgcolor;o3_textcolor=ol_textcolor;o3_capcolor=ol_capcolor;o3_closecolor=ol_closecolor;o3_width=ol_width;o3_border=ol_border;o3_cellpad=ol_cellpad;o3_status=ol_status;o3_autostatus=ol_autostatus;o3_height=ol_height;o3_snapx=ol_snapx;o3_snapy=ol_snapy;o3_fixx=ol_fixx;o3_fixy=ol_fixy;o3_relx=ol_relx;o3_rely=ol_rely;o3_fgbackground=ol_fgbackground;o3_bgbackground=ol_bgbackground;o3_padxl=ol_padxl;o3_padxr=ol_padxr;o3_padyt=ol_padyt;o3_padyb=ol_padyb;o3_fullhtml=ol_fullhtml;o3_vpos=ol_vpos;o3_aboveheight=ol_aboveheight;o3_capicon=ol_capicon;o3_textfont=ol_textfont;o3_captionfont=ol_captionfont;o3_closefont=ol_closefont;o3_textsize=ol_textsize;o3_captionsize=ol_captionsize;o3_closesize=ol_closesize;o3_timeout=ol_timeout;o3_function=ol_function;o3_delay=ol_delay;o3_hauto=ol_hauto;o3_vauto=ol_vauto;o3_closeclick=ol_closeclick;o3_wrap=ol_wrap;o3_followmouse=ol_followmouse;o3_mouseoff=ol_mouseoff;o3_closetitle=ol_closetitle;o3_css=ol_css;o3_compatmode=ol_compatmode;o3_fgclass=ol_fgclass;o3_bgclass=ol_bgclass;o3_textfontclass=ol_textfontclass;o3_captionfontclass=ol_captionfontclass;o3_closefontclass=ol_closefontclass;
+setRunTimeVariables();
+fnRef='';
+o3_frame=ol_frame;
+if(!(over=createDivContainer()))return false;
+parseTokens('o3_',overlib.arguments);if(!postParseChecks())return false;
+if(o3_delay==0){return runHook("olMain",FREPLACE);}else{o3_delayid=setTimeout("runHook('olMain',FREPLACE)",o3_delay);return false;}}
+function nd(time){if(olLoaded&&!isExclusive()){hideDelay(time);
+if(o3_removecounter>=1){o3_showingsticky=0 };
+if(o3_showingsticky==0){o3_allowmove=0;if(over!=null&&o3_timerid==0)runHook("hideObject",FREPLACE,over);}else{o3_removecounter++;}}
+return true;}
+function cClick(){if(olLoaded){runHook("hideObject",FREPLACE,over);o3_showingsticky=0;}
+return false;}
+function overlib_pagedefaults(){parseTokens('ol_',overlib_pagedefaults.arguments);}
+function olMain(){var layerhtml,styleType;runHook("olMain",FBEFORE);
+if(o3_background!=""||o3_fullhtml){
+layerhtml=runHook('ol_content_background',FALTERNATE,o3_css,o3_text,o3_background,o3_fullhtml);}else{
+styleType=(pms[o3_css-1-pmStart]=="cssoff"||pms[o3_css-1-pmStart]=="cssclass");
+if(o3_fgbackground!="")o3_fgbackground="background=\""+o3_fgbackground+"\"";if(o3_bgbackground!="")o3_bgbackground=(styleType?"background=\""+o3_bgbackground+"\"":o3_bgbackground);
+if(o3_fgcolor!="")o3_fgcolor=(styleType?"bgcolor=\""+o3_fgcolor+"\"":o3_fgcolor);if(o3_bgcolor!="")o3_bgcolor=(styleType?"bgcolor=\""+o3_bgcolor+"\"":o3_bgcolor);
+if(o3_height>0)o3_height=(styleType?"height=\""+o3_height+"\"":o3_height);else o3_height="";
+if(o3_cap==""){
+layerhtml=runHook('ol_content_simple',FALTERNATE,o3_css,o3_text);}else{
+if(o3_sticky){
+layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,o3_close);}else{
+layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,"");}}}
+if(o3_sticky){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;}
+o3_showingsticky=1;o3_removecounter=0;}
+if(!runHook("createPopup",FREPLACE,layerhtml))return false;
+if(o3_autostatus>0){o3_status=o3_text;if(o3_autostatus>1)o3_status=o3_cap;}
+o3_allowmove=0;
+if(o3_timeout>0){if(o3_timerid>0)clearTimeout(o3_timerid);o3_timerid=setTimeout("cClick()",o3_timeout);}
+runHook("disp",FREPLACE,o3_status);runHook("olMain",FAFTER);
+return(olOp&&event&&event.type=='mouseover'&&!o3_status)?'':(o3_status!='');}
+function ol_content_simple(text){var cpIsMultiple=/,/.test(o3_cellpad);var txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_height)+'><tr><td><table width="100%" border="0" '+((olNs4||!cpIsMultiple)?'cellpadding="'+o3_cellpad+'" ':'')+'cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">':((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';
+set_background("");return txt;}
+function ol_content_caption(text,title,close){var nameId,txt,cpIsMultiple=/,/.test(o3_cellpad);var closing,closeevent;
+closing="";closeevent="onmouseover";if(o3_closeclick==1)closeevent=(o3_closetitle?"title='"+o3_closetitle+"'":"")+" onclick";if(o3_capicon!=""){nameId=' hspace=\"5\"'+' align=\"middle\" alt=\"\"';if(typeof o3_dragimg!='undefined'&&o3_dragimg)nameId=' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"';o3_capicon='<img src=\"'+o3_capicon+'\"'+nameId+' />';}
+if(close!="")
+closing='<td '+(!o3_compatmode&&o3_closefontclass?'class="'+o3_closefontclass:'align="RIGHT')+'"><a href="javascript:return '+fnRef+'cClick();"'+((o3_compatmode&&o3_closefontclass)?' class="'+o3_closefontclass+'" ':' ')+closeevent+'="return '+fnRef+'cClick();">'+(o3_closefontclass?'':wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass?'':wrapStr(1,o3_closesize,'close'))+'</a></td>';txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_bgbackground+' '+o3_height)+'><tr><td><table width="100%" border="0" cellpadding="2" cellspacing="0"><tr><td'+(o3_captionfontclass?' class="'+o3_captionfontclass+'">':'>')+(o3_captionfontclass?'':'<b>'+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass?'':wrapStr(1,o3_captionsize)+'</b>')+'</td>'+closing+'</tr></table><table width="100%" border="0" '+((olNs4||!cpIsMultiple)?'cellpadding="'+o3_cellpad+'" ':'')+'cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">' :((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';
+set_background("");return txt;}
+function ol_content_background(text,picture,hasfullhtml){if(hasfullhtml){txt=text;}else{txt='<table width="'+o3_width+'" border="0" cellpadding="0" cellspacing="0" height="'+o3_height+'"><tr><td colspan="3" height="'+o3_padyt+'"></td></tr><tr><td width="'+o3_padxl+'"></td><td valign="TOP" width="'+(o3_width-o3_padxl-o3_padxr)+(o3_textfontclass?'" class="'+o3_textfontclass:'')+'">'+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td><td width="'+o3_padxr+'"></td></tr><tr><td colspan="3" height="'+o3_padyb+'"></td></tr></table>';}
+set_background(picture);return txt;}
+function set_background(pic){if(pic==""){if(olNs4){over.background.src=null;}else if(over.style){over.style.backgroundImage="none";}
+}else{if(olNs4){over.background.src=pic;}else if(over.style){over.style.width=o3_width+'px';over.style.backgroundImage="url("+pic+")";}}}
+var olShowId=-1;
+function disp(statustext){runHook("disp",FBEFORE);
+if(o3_allowmove==0){runHook("placeLayer",FREPLACE);(olNs6&&olShowId<0)?olShowId=setTimeout("runHook('showObject',FREPLACE,over)",1):runHook("showObject",FREPLACE,over);o3_allowmove=(o3_sticky||o3_followmouse==0)?0:1;}
+runHook("disp",FAFTER);
+if(statustext!="")self.status=statustext;}
+function createPopup(lyrContent){runHook("createPopup",FBEFORE);
+if(o3_wrap){var wd,ww,theObj=(olNs4?over:over.style);theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);layerWrite(lyrContent);wd=(olNs4?over.clip.width:over.offsetWidth);if(wd>(ww=windowWidth())){lyrContent=lyrContent.replace(/\&nbsp;/g,' ');o3_width=ww;o3_wrap=0;}}
+layerWrite(lyrContent);
+if(o3_wrap)o3_width=(olNs4?over.clip.width:over.offsetWidth);
+runHook("createPopup",FAFTER,lyrContent);
+return true;}
+function placeLayer(){var placeX,placeY,widthFix=0;
+if(o3_frame.innerWidth)widthFix=18;iwidth=windowWidth();
+winoffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollLeft'):o3_frame.pageXOffset;
+placeX=runHook('horizontalPlacement',FCHAIN,iwidth,winoffset,widthFix);
+if(o3_frame.innerHeight){iheight=o3_frame.innerHeight;}else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')){iheight=eval('o3_frame.'+docRoot+'.clientHeight');}
+scrolloffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollTop'):o3_frame.pageYOffset;placeY=runHook('verticalPlacement',FCHAIN,iheight,scrolloffset);
+repositionTo(over,placeX,placeY);}
+function olMouseMove(e){var e=(e)?e:event;
+if(e.pageX){o3_x=e.pageX;o3_y=e.pageY;}else if(e.clientX){o3_x=eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft');o3_y=eval('e.clientY+o3_frame.'+docRoot+'.scrollTop');}
+if(o3_allowmove==1)runHook("placeLayer",FREPLACE);
+if(hoveringSwitch&&!olNs4&&runHook("cursorOff",FREPLACE)){(olHideDelay?hideDelay(olHideDelay):cClick());hoveringSwitch=!hoveringSwitch;}}
+function no_overlib(){return ver3fix;}
+function olMouseCapture(){capExtent=document;var fN,str='',l,k,f,wMv,sS,mseHandler=olMouseMove;var re=/function[ ]*(\w*)\(/;
+wMv=(!olIe4&&window.onmousemove);if(document.onmousemove||wMv){if(wMv)capExtent=window;f=capExtent.onmousemove.toString();fN=f.match(re);if(fN==null){str=f+'(e);';}else if(fN[1]=='anonymous'||fN[1]=='olMouseMove'||(wMv&&fN[1]=='onmousemove')){if(!olOp&&wMv){l=f.indexOf('{')+1;k=f.lastIndexOf('}');sS=f.substring(l,k);if((l=sS.indexOf('('))!=-1){sS=sS.substring(0,l).replace(/^\s+/,'').replace(/\s+$/,'');if(eval("typeof "+sS+"=='undefined'"))window.onmousemove=null;else str=sS+'(e);';}}
+if(!str){olCheckMouseCapture=false;return;}
+}else{if(fN[1])str=fN[1]+'(e);';else{l=f.indexOf('{')+1;k=f.lastIndexOf('}');str=f.substring(l,k)+'\n';}}
+str+='olMouseMove(e);';mseHandler=new Function('e',str);}
+capExtent.onmousemove=mseHandler;if(olNs4)capExtent.captureEvents(Event.MOUSEMOVE);}
+function parseTokens(pf,ar){
+var v,i,mode=-1,par=(pf!='ol_'),fnMark=(par&&!ar.length?1:0);
+for(i=0;i<ar.length;i++){if(mode<0){
+if(typeof ar[i]=='number'&&ar[i]>pmStart&&ar[i]<pmUpper){fnMark=(par?1:0);i--;}else{switch(pf){case 'ol_':
+ol_text=ar[i].toString();break;default:
+o3_text=ar[i].toString();}}
+mode=0;}else{
+if(ar[i]>=pmCount||ar[i]==DONOTHING){continue;}
+if(ar[i]==INARRAY){fnMark=0;eval(pf+'text=ol_texts['+ar[++i]+'].toString()');continue;}
+if(ar[i]==CAPARRAY){eval(pf+'cap=ol_caps['+ar[++i]+'].toString()');continue;}
+if(ar[i]==STICKY){if(pf!='ol_')eval(pf+'sticky=1');continue;}
+if(ar[i]==BACKGROUND){eval(pf+'background="'+ar[++i]+'"');continue;}
+if(ar[i]==NOCLOSE){if(pf!='ol_')opt_NOCLOSE();continue;}
+if(ar[i]==CAPTION){eval(pf+"cap='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==CENTER||ar[i]==LEFT||ar[i]==RIGHT){eval(pf+'hpos='+ar[i]);if(pf!='ol_')olHautoFlag=1;continue;}
+if(ar[i]==OFFSETX){eval(pf+'offsetx='+ar[++i]);continue;}
+if(ar[i]==OFFSETY){eval(pf+'offsety='+ar[++i]);continue;}
+if(ar[i]==FGCOLOR){eval(pf+'fgcolor="'+ar[++i]+'"');continue;}
+if(ar[i]==BGCOLOR){eval(pf+'bgcolor="'+ar[++i]+'"');continue;}
+if(ar[i]==TEXTCOLOR){eval(pf+'textcolor="'+ar[++i]+'"');continue;}
+if(ar[i]==CAPCOLOR){eval(pf+'capcolor="'+ar[++i]+'"');continue;}
+if(ar[i]==CLOSECOLOR){eval(pf+'closecolor="'+ar[++i]+'"');continue;}
+if(ar[i]==WIDTH){eval(pf+'width='+ar[++i]);continue;}
+if(ar[i]==BORDER){eval(pf+'border='+ar[++i]);continue;}
+if(ar[i]==CELLPAD){i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad'));continue;}
+if(ar[i]==STATUS){eval(pf+"status='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==AUTOSTATUS){eval(pf+'autostatus=('+pf+'autostatus==1)?0:1');continue;}
+if(ar[i]==AUTOSTATUSCAP){eval(pf+'autostatus=('+pf+'autostatus==2)?0:2');continue;}
+if(ar[i]==HEIGHT){eval(pf+'height='+pf+'aboveheight='+ar[++i]);continue;}
+if(ar[i]==CLOSETEXT){eval(pf+"close='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==SNAPX){eval(pf+'snapx='+ar[++i]);continue;}
+if(ar[i]==SNAPY){eval(pf+'snapy='+ar[++i]);continue;}
+if(ar[i]==FIXX){eval(pf+'fixx='+ar[++i]);continue;}
+if(ar[i]==FIXY){eval(pf+'fixy='+ar[++i]);continue;}
+if(ar[i]==RELX){eval(pf+'relx='+ar[++i]);continue;}
+if(ar[i]==RELY){eval(pf+'rely='+ar[++i]);continue;}
+if(ar[i]==FGBACKGROUND){eval(pf+'fgbackground="'+ar[++i]+'"');continue;}
+if(ar[i]==BGBACKGROUND){eval(pf+'bgbackground="'+ar[++i]+'"');continue;}
+if(ar[i]==PADX){eval(pf+'padxl='+ar[++i]);eval(pf+'padxr='+ar[++i]);continue;}
+if(ar[i]==PADY){eval(pf+'padyt='+ar[++i]);eval(pf+'padyb='+ar[++i]);continue;}
+if(ar[i]==FULLHTML){if(pf!='ol_')eval(pf+'fullhtml=1');continue;}
+if(ar[i]==BELOW||ar[i]==ABOVE){eval(pf+'vpos='+ar[i]);if(pf!='ol_')olVautoFlag=1;continue;}
+if(ar[i]==CAPICON){eval(pf+'capicon="'+ar[++i]+'"');continue;}
+if(ar[i]==TEXTFONT){eval(pf+"textfont='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==CAPTIONFONT){eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==CLOSEFONT){eval(pf+"closefont='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==TEXTSIZE){eval(pf+'textsize="'+ar[++i]+'"');continue;}
+if(ar[i]==CAPTIONSIZE){eval(pf+'captionsize="'+ar[++i]+'"');continue;}
+if(ar[i]==CLOSESIZE){eval(pf+'closesize="'+ar[++i]+'"');continue;}
+if(ar[i]==TIMEOUT){eval(pf+'timeout='+ar[++i]);continue;}
+if(ar[i]==FUNCTION){if(pf=='ol_'){if(typeof ar[i+1]!='number'){v=ar[++i];ol_function=(typeof v=='function'?v:null);}}else{fnMark=0;v=null;if(typeof ar[i+1]!='number')v=ar[++i]; opt_FUNCTION(v);} continue;}
+if(ar[i]==DELAY){eval(pf+'delay='+ar[++i]);continue;}
+if(ar[i]==HAUTO){eval(pf+'hauto=('+pf+'hauto==0)?1:0');continue;}
+if(ar[i]==VAUTO){eval(pf+'vauto=('+pf+'vauto==0)?1:0');continue;}
+if(ar[i]==CLOSECLICK){eval(pf+'closeclick=('+pf+'closeclick==0)?1:0');continue;}
+if(ar[i]==WRAP){eval(pf+'wrap=('+pf+'wrap==0)?1:0');continue;}
+if(ar[i]==FOLLOWMOUSE){eval(pf+'followmouse=('+pf+'followmouse==1)?0:1');continue;}
+if(ar[i]==MOUSEOFF){eval(pf+'mouseoff=('+pf+'mouseoff==0)?1:0');v=ar[i+1];if(pf!='ol_'&&eval(pf+'mouseoff')&&typeof v=='number'&&(v<pmStart||v>pmUpper))olHideDelay=ar[++i];continue;}
+if(ar[i]==CLOSETITLE){eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==CSSOFF||ar[i]==CSSCLASS){eval(pf+'css='+ar[i]);continue;}
+if(ar[i]==COMPATMODE){eval(pf+'compatmode=('+pf+'compatmode==0)?1:0');continue;}
+if(ar[i]==FGCLASS){eval(pf+'fgclass="'+ar[++i]+'"');continue;}
+if(ar[i]==BGCLASS){eval(pf+'bgclass="'+ar[++i]+'"');continue;}
+if(ar[i]==TEXTFONTCLASS){eval(pf+'textfontclass="'+ar[++i]+'"');continue;}
+if(ar[i]==CAPTIONFONTCLASS){eval(pf+'captionfontclass="'+ar[++i]+'"');continue;}
+if(ar[i]==CLOSEFONTCLASS){eval(pf+'closefontclass="'+ar[++i]+'"');continue;}
+i=parseCmdLine(pf,i,ar);}}
+if(fnMark&&o3_function)o3_text=o3_function();
+if((pf=='o3_')&&o3_wrap){o3_width=0;
+var tReg=/<.*\n*>/ig;if(!tReg.test(o3_text))o3_text=o3_text.replace(/[ ]+/g,'&nbsp;');if(!tReg.test(o3_cap))o3_cap=o3_cap.replace(/[ ]+/g,'&nbsp;');}
+if((pf=='o3_')&&o3_sticky){if(!o3_close&&(o3_frame!=ol_frame))o3_close=ol_close;if(o3_mouseoff&&(o3_frame==ol_frame))opt_NOCLOSE(' ');}}
+function layerWrite(txt){txt+="\n";if(olNs4){var lyr=o3_frame.document.layers['overDiv'].document
+lyr.write(txt)
+lyr.close()
+}else if(typeof over.innerHTML!='undefined'){if(olIe5&&isMac)over.innerHTML='';over.innerHTML=txt;}else{range=o3_frame.document.createRange();range.setStartAfter(over);domfrag=range.createContextualFragment(txt);
+while(over.hasChildNodes()){over.removeChild(over.lastChild);}
+over.appendChild(domfrag);}}
+function showObject(obj){runHook("showObject",FBEFORE);
+var theObj=(olNs4?obj:obj.style);theObj.visibility='visible';
+runHook("showObject",FAFTER);}
+function hideObject(obj){runHook("hideObject",FBEFORE);
+var theObj=(olNs4?obj:obj.style);if(olNs6&&olShowId>0){clearTimeout(olShowId);olShowId=0;}
+theObj.visibility='hidden';theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);
+if(o3_timerid>0)clearTimeout(o3_timerid);if(o3_delayid>0)clearTimeout(o3_delayid);
+o3_timerid=0;o3_delayid=0;self.status="";
+if(obj.onmouseout||obj.onmouseover){if(olNs4)obj.releaseEvents(Event.MOUSEOUT||Event.MOUSEOVER);obj.onmouseout=obj.onmouseover=null;}
+runHook("hideObject",FAFTER);}
+function repositionTo(obj,xL,yL){var theObj=(olNs4?obj:obj.style);theObj.left=xL+(!olNs4?'px':0);theObj.top=yL+(!olNs4?'px':0);}
+function cursorOff(){var left=parseInt(over.style.left);var top=parseInt(over.style.top);var right=left+(over.offsetWidth>=parseInt(o3_width)?over.offsetWidth:parseInt(o3_width));var bottom=top+(over.offsetHeight>=o3_aboveheight?over.offsetHeight:o3_aboveheight);
+if(o3_x<left||o3_x>right||o3_y<top||o3_y>bottom)return true;
+return false;}
+function opt_FUNCTION(callme){o3_text=(callme?(typeof callme=='string'?(/.+\(.*\)/.test(callme)?eval(callme):callme):callme()):(o3_function?o3_function():'No Function'));
+return 0;}
+function opt_NOCLOSE(unused){if(!unused)o3_close="";
+if(olNs4){over.captureEvents(Event.MOUSEOUT||Event.MOUSEOVER);over.onmouseover=function(){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} }
+over.onmouseout=function(e){if(olHideDelay)hideDelay(olHideDelay);else cClick(e);}
+}else{over.onmouseover=function(){hoveringSwitch=true;if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} }}
+return 0;}
+function opt_MULTIPLEARGS(i,args,parameter){var k=i,re,pV,str='';
+for(k=i;k<args.length;k++){if(typeof args[k]=='number'&&args[k]>pmStart)break;str+=args[k]+',';}
+if(str)str=str.substring(0,--str.length);
+k--;pV=(olNs4&&/cellpad/i.test(parameter))?str.split(',')[0]:str;eval(parameter+'="'+pV+'"');
+return k;}
+function nbspCleanup(){if(o3_wrap){o3_text=o3_text.replace(/\&nbsp;/g,' ');o3_cap=o3_cap.replace(/\&nbsp;/g,' ');}}
+function escSglQuote(str){return str.toString().replace(/'/g,"\\'");}
+function OLonLoad_handler(e){var re=/\w+\(.*\)[;\s]+/g,olre=/overlib\(|nd\(|cClick\(/,fn,l,i;
+if(!olLoaded)olLoaded=1;
+if(window.removeEventListener&&e.eventPhase==3)window.removeEventListener("load",OLonLoad_handler,false);else if(window.detachEvent){window.detachEvent("onload",OLonLoad_handler);var fN=document.body.getAttribute('onload');if(fN){fN=fN.toString().match(re);if(fN&&fN.length){for(i=0;i<fN.length;i++){if(/anonymous/.test(fN[i]))continue;while((l=fN[i].search(/\)[;\s]+/))!=-1){fn=fN[i].substring(0,l+1);fN[i]=fN[i].substring(l+2);if(olre.test(fn))eval(fn);}}}}}}
+function wrapStr(endWrap,fontSizeStr,whichString){var fontStr,fontColor,isClose=((whichString=='close')?1:0),hasDims=/[%\-a-z]+$/.test(fontSizeStr);fontSizeStr=(olNs4)?(!hasDims?fontSizeStr:'1'):fontSizeStr;if(endWrap)return(hasDims&&!olNs4)?(isClose?'</span>':'</div>'):'</font>';else{fontStr='o3_'+whichString+'font';fontColor='o3_'+((whichString=='caption')? 'cap':whichString)+'color';return(hasDims&&!olNs4)?(isClose?'<span style="font-family: '+quoteMultiNameFonts(eval(fontStr))+';color: '+eval(fontColor)+';font-size: '+fontSizeStr+';">':'<div style="font-family: '+quoteMultiNameFonts(eval(fontStr))+';color: '+eval(fontColor)+';font-size: '+fontSizeStr+';">'):'<font face="'+eval(fontStr)+'" color="'+eval(fontColor)+'" size="'+(parseInt(fontSizeStr)>7?'7':fontSizeStr)+'">';}}
+function quoteMultiNameFonts(theFont){var v,pM=theFont.split(',');for(var i=0;i<pM.length;i++){v=pM[i];v=v.replace(/^\s+/,'').replace(/\s+$/,'');if(/\s/.test(v)&&!/['"]/.test(v)){v="\'"+v+"\'";pM[i]=v;}}
+return pM.join();}
+function isExclusive(args){return false;}
+function setCellPadStr(parameter){var Str='',j=0,ary=new Array(),top,bottom,left,right;
+Str+='padding: ';ary=parameter.replace(/\s+/g,'').split(',');
+switch(ary.length){case 2:
+top=bottom=ary[j];left=right=ary[++j];break;case 3:
+top=ary[j];left=right=ary[++j];bottom=ary[++j];break;case 4:
+top=ary[j];right=ary[++j];bottom=ary[++j];left=ary[++j];break;}
+Str+=((ary.length==1)?ary[0]+'px;':top+'px '+right+'px '+bottom+'px '+left+'px;');
+return Str;}
+function hideDelay(time){if(time&&!o3_delay){if(o3_timerid>0)clearTimeout(o3_timerid);
+o3_timerid=setTimeout("cClick()",(o3_timeout=time));}}
+function horizontalPlacement(browserWidth,horizontalScrollAmount,widthFix){var placeX,iwidth=browserWidth,winoffset=horizontalScrollAmount;var parsedWidth=parseInt(o3_width);
+if(o3_fixx>-1||o3_relx!=null){
+placeX=(o3_relx!=null?( o3_relx<0?winoffset+o3_relx+iwidth-parsedWidth-widthFix:winoffset+o3_relx):o3_fixx);}else{
+if(o3_hauto==1){if((o3_x-winoffset)>(iwidth/2)){o3_hpos=LEFT;}else{o3_hpos=RIGHT;}}
+if(o3_hpos==CENTER){placeX=o3_x+o3_offsetx-(parsedWidth/2);
+if(placeX<winoffset)placeX=winoffset;}
+if(o3_hpos==RIGHT){placeX=o3_x+o3_offsetx;
+if((placeX+parsedWidth)>(winoffset+iwidth-widthFix)){placeX=iwidth+winoffset-parsedWidth-widthFix;if(placeX<0)placeX=0;}}
+if(o3_hpos==LEFT){placeX=o3_x-o3_offsetx-parsedWidth;if(placeX<winoffset)placeX=winoffset;}
+if(o3_snapx>1){var snapping=placeX % o3_snapx;
+if(o3_hpos==LEFT){placeX=placeX-(o3_snapx+snapping);}else{
+placeX=placeX+(o3_snapx-snapping);}
+if(placeX<winoffset)placeX=winoffset;}}
+return placeX;}
+function verticalPlacement(browserHeight,verticalScrollAmount){var placeY,iheight=browserHeight,scrolloffset=verticalScrollAmount;var parsedHeight=(o3_aboveheight?parseInt(o3_aboveheight):(olNs4?over.clip.height:over.offsetHeight));
+if(o3_fixy>-1||o3_rely!=null){
+placeY=(o3_rely!=null?(o3_rely<0?scrolloffset+o3_rely+iheight-parsedHeight:scrolloffset+o3_rely):o3_fixy);}else{
+if(o3_vauto==1){if((o3_y-scrolloffset)>(iheight/2)&&o3_vpos==BELOW&&(o3_y+parsedHeight+o3_offsety-(scrolloffset+iheight)>0)){o3_vpos=ABOVE;}else if(o3_vpos==ABOVE&&(o3_y-(parsedHeight+o3_offsety)-scrolloffset<0)){o3_vpos=BELOW;}}
+if(o3_vpos==ABOVE){if(o3_aboveheight==0)o3_aboveheight=parsedHeight;
+placeY=o3_y-(o3_aboveheight+o3_offsety);if(placeY<scrolloffset)placeY=scrolloffset;}else{
+placeY=o3_y+o3_offsety;}
+if(o3_snapy>1){var snapping=placeY % o3_snapy;
+if(o3_aboveheight>0&&o3_vpos==ABOVE){placeY=placeY-(o3_snapy+snapping);}else{placeY=placeY+(o3_snapy-snapping);}
+if(placeY<scrolloffset)placeY=scrolloffset;}}
+return placeY;}
+function checkPositionFlags(){if(olHautoFlag)olHautoFlag=o3_hauto=0;if(olVautoFlag)olVautoFlag=o3_vauto=0;return true;}
+function windowWidth(){var w;if(o3_frame.innerWidth)w=o3_frame.innerWidth;else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientWidth=='number'")&&eval('o3_frame.'+docRoot+'.clientWidth'))
+w=eval('o3_frame.'+docRoot+'.clientWidth');return w;}
+function createDivContainer(id,frm,zValue){id=(id||'overDiv'),frm=(frm||o3_frame),zValue=(zValue||1000);var objRef,divContainer=layerReference(id);
+if(divContainer==null){if(olNs4){divContainer=frm.document.layers[id]=new Layer(window.innerWidth,frm);objRef=divContainer;}else{var body=(olIe4?frm.document.all.tags('BODY')[0]:frm.document.getElementsByTagName("BODY")[0]);if(olIe4&&!document.getElementById){body.insertAdjacentHTML("beforeEnd",'<div id="'+id+'"></div>');divContainer=layerReference(id);}else{divContainer=frm.document.createElement("DIV");divContainer.id=id;body.appendChild(divContainer);}
+objRef=divContainer.style;}
+objRef.position='absolute';objRef.visibility='hidden';objRef.zIndex=zValue;if(olIe4&&!olOp)objRef.left=objRef.top='0px';else objRef.left=objRef.top=-10000+(!olNs4?'px':0);}
+return divContainer;}
+function layerReference(id){return(olNs4?o3_frame.document.layers[id]:(document.all?o3_frame.document.all[id]:o3_frame.document.getElementById(id)));}
+function isFunction(fnRef){var rtn=true;
+if(typeof fnRef=='object'){for(var i=0;i<fnRef.length;i++){if(typeof fnRef[i]=='function')continue;rtn=false;break;}
+}else if(typeof fnRef!='function'){rtn=false;}
+return rtn;}
+function argToString(array,strtInd,argName){var jS=strtInd,aS='',ar=array;argName=(argName?argName:'ar');
+if(ar.length>jS){for(var k=jS;k<ar.length;k++)aS+=argName+'['+k+'], ';aS=aS.substring(0,aS.length-2);}
+return aS;}
+function reOrder(hookPt,fnRef,order){var newPt=new Array(),match,i,j;
+if(!order||typeof order=='undefined'||typeof order=='number')return hookPt;
+if(typeof order=='function'){if(typeof fnRef=='object'){newPt=newPt.concat(fnRef);}else{newPt[newPt.length++]=fnRef;}
+for(i=0;i<hookPt.length;i++){match=false;if(typeof fnRef=='function'&&hookPt[i]==fnRef){continue;}else{for(j=0;j<fnRef.length;j++)if(hookPt[i]==fnRef[j]){match=true;break;}}
+if(!match)newPt[newPt.length++]=hookPt[i];}
+newPt[newPt.length++]=order;
+}else if(typeof order=='object'){if(typeof fnRef=='object'){newPt=newPt.concat(fnRef);}else{newPt[newPt.length++]=fnRef;}
+for(j=0;j<hookPt.length;j++){match=false;if(typeof fnRef=='function'&&hookPt[j]==fnRef){continue;}else{for(i=0;i<fnRef.length;i++)if(hookPt[j]==fnRef[i]){match=true;break;}}
+if(!match)newPt[newPt.length++]=hookPt[j];}
+for(i=0;i<newPt.length;i++)hookPt[i]=newPt[i];newPt.length=0;
+for(j=0;j<hookPt.length;j++){match=false;for(i=0;i<order.length;i++){if(hookPt[j]==order[i]){match=true;break;}}
+if(!match)newPt[newPt.length++]=hookPt[j];}
+newPt=newPt.concat(order);}
+hookPt=newPt;
+return hookPt;}
+function setRunTimeVariables(){if(typeof runTime!='undefined'&&runTime.length){for(var k=0;k<runTime.length;k++){runTime[k]();}}}
+function parseCmdLine(pf,i,args){if(typeof cmdLine!='undefined'&&cmdLine.length){for(var k=0;k<cmdLine.length;k++){var j=cmdLine[k](pf,i,args);if(j >-1){i=j;break;}}}
+return i;}
+function postParseChecks(pf,args){if(typeof postParse!='undefined'&&postParse.length){for(var k=0;k<postParse.length;k++){if(postParse[k](pf,args))continue;return false;}}
+return true;}
+function registerCommands(cmdStr){if(typeof cmdStr!='string')return;
+var pM=cmdStr.split(',');pms=pms.concat(pM);
+for(var i=0;i< pM.length;i++){eval(pM[i].toUpperCase()+'='+pmCount++);}}
+function registerNoParameterCommands(cmdStr){if(!cmdStr&&typeof cmdStr!='string')return;pmt=(!pmt)?cmdStr:pmt+','+cmdStr;}
+function registerHook(fnHookTo,fnRef,hookType,optPm){var hookPt,last=typeof optPm;
+if(fnHookTo=='plgIn'||fnHookTo=='postParse')return;if(typeof hookPts[fnHookTo]=='undefined')hookPts[fnHookTo]=new FunctionReference();
+hookPt=hookPts[fnHookTo];
+if(hookType!=null){if(hookType==FREPLACE){hookPt.ovload=fnRef;if(fnHookTo.indexOf('ol_content_')>-1)hookPt.alt[pms[CSSOFF-1-pmStart]]=fnRef;
+}else if(hookType==FBEFORE||hookType==FAFTER){var hookPt=(hookType==1?hookPt.before:hookPt.after);
+if(typeof fnRef=='object'){hookPt=hookPt.concat(fnRef);}else{hookPt[hookPt.length++]=fnRef;}
+if(optPm)hookPt=reOrder(hookPt,fnRef,optPm);
+}else if(hookType==FALTERNATE){if(last=='number')hookPt.alt[pms[optPm-1-pmStart]]=fnRef;}else if(hookType==FCHAIN){hookPt=hookPt.chain;if(typeof fnRef=='object')hookPt=hookPt.concat(fnRef);else hookPt[hookPt.length++]=fnRef;}
+return;}}
+function registerRunTimeFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){runTime=runTime.concat(fn);}else{runTime[runTime.length++]=fn;}}}
+function registerCmdLineFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){cmdLine=cmdLine.concat(fn);}else{cmdLine[cmdLine.length++]=fn;}}}
+function registerPostParseFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){postParse=postParse.concat(fn);}else{postParse[postParse.length++]=fn;}}}
+function runHook(fnHookTo,hookType){var l=hookPts[fnHookTo],k,rtnVal=null,optPm,arS,ar=runHook.arguments;
+if(hookType==FREPLACE){arS=argToString(ar,2);
+if(typeof l=='undefined'||!(l=l.ovload))rtnVal=eval(fnHookTo+'('+arS+')');else rtnVal=eval('l('+arS+')');
+}else if(hookType==FBEFORE||hookType==FAFTER){if(typeof l!='undefined'){l=(hookType==1?l.before:l.after);
+if(l.length){arS=argToString(ar,2);for(var k=0;k<l.length;k++)eval('l[k]('+arS+')');}}
+}else if(hookType==FALTERNATE){optPm=ar[2];arS=argToString(ar,3);
+if(typeof l=='undefined'||(l=l.alt[pms[optPm-1-pmStart]])=='undefined'){rtnVal=eval(fnHookTo+'('+arS+')');}else{rtnVal=eval('l('+arS+')');}
+}else if(hookType==FCHAIN){arS=argToString(ar,2);l=l.chain;
+for(k=l.length;k>0;k--)if((rtnVal=eval('l[k-1]('+arS+')'))!=void(0))break;}
+return rtnVal;}
+function FunctionReference(){this.ovload=null;this.before=new Array();this.after=new Array();this.alt=new Array();this.chain=new Array();}
+function Info(version,prerelease){this.version=version;this.prerelease=prerelease;
+this.simpleversion=Math.round(this.version*100);this.major=parseInt(this.simpleversion/100);this.minor=parseInt(this.simpleversion/10)-this.major * 10;this.revision=parseInt(this.simpleversion)-this.major * 100-this.minor * 10;this.meets=meets;}
+function meets(reqdVersion){return(!reqdVersion)?false:this.simpleversion>=Math.round(100*parseFloat(reqdVersion));}
+registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSOFF);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSOFF);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSOFF);registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSCLASS);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSCLASS);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSCLASS);registerPostParseFunction(checkPositionFlags);registerHook("hideObject",nbspCleanup,FAFTER);registerHook("horizontalPlacement",horizontalPlacement,FCHAIN);registerHook("verticalPlacement",verticalPlacement,FCHAIN);if(olNs4||(olIe5&&isMac)||olKq)olLoaded=1;registerNoParameterCommands('sticky,autostatus,autostatuscap,fullhtml,hauto,vauto,closeclick,wrap,followmouse,mouseoff,compatmode');
+var olCheckMouseCapture=true;if((olNs4||olNs6||olIe4)){olMouseCapture();}else{overlib=no_overlib;nd=no_overlib;ver3fix=true;}
diff -ruN 4.5.2.3/includes/mambo.php 4.5.4/includes/mambo.php
--- 4.5.2.3/includes/mambo.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/mambo.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mambo.php,v 1.45 2005/02/16 17:06:08 eddieajau Exp $
+* @version $Id: mambo.php,v 1.14 2005/11/14 21:56:04 eliasan Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -398,7 +398,9 @@
 		$session = new mosSession( $this->_db );
 		$session->purge(intval( $this->getCfg( 'lifetime' ) ));
 
-		$sessioncookie = mosGetParam( $_COOKIE, 'sessioncookie', null );
+		$sessionCookieName = md5( 'site'.$GLOBALS['mosConfig_live_site'] );
+
+		$sessioncookie = mosGetParam( $_COOKIE, $sessionCookieName, null );
 		$usercookie = mosGetParam( $_COOKIE, 'usercookie', null );
 
 		if ($session->load( md5( $sessioncookie . $_SERVER['REMOTE_ADDR'] ) )) {
@@ -416,7 +418,7 @@
 				die( $session->getError() );
 			}
 
-			setcookie( "sessioncookie", $session->getCookie(), time() + 43200, "/" );
+			setcookie( $sessionCookieName, $session->getCookie(), time() + 43200, '/' );
 			//$_COOKIE["sessioncookie"] = $session->getCookie();
 
 			if ($usercookie) {
@@ -450,6 +452,7 @@
 			echo "<script> alert(\""._LOGIN_INCOMPLETE."\"); window.history.go(-1); </script>\n";
 			exit();
 		} else {
+			$username = $this->_db->getEscaped($username);
 			$this->_db->setQuery( "SELECT id, gid, block, usertype"
 			. "\nFROM #__users"
 			. "\nWHERE username='$username' AND password='$passwd'"
@@ -587,6 +590,7 @@
 		$this->_config->multipage_toc 		= $mosConfig_multipage_toc;
 		$this->_config->allowUserRegistration 	= $mosConfig_allowUserRegistration;
 		$this->_config->error_reporting 		= $mosConfig_error_reporting;
+		$this->_config->mosConfig_register_globals 		= $mosConfig_register_globals;
 		$this->_config->link_titles 			= $mosConfig_link_titles;
 		$this->_config->list_limit 			= $mosConfig_list_limit;
 		$this->_config->caching 				= $mosConfig_caching;
@@ -662,7 +666,7 @@
 			// TemplateChooser Start
 			$mos_user_template = mosGetParam( $_COOKIE, 'mos_user_template', '' );
 			$mos_change_template = mosGetParam( $_REQUEST, 'mos_change_template', $mos_user_template );
-			if ($mos_change_template) {
+			if ($mos_change_template AND strpos($mos_change_template,'..') == false AND strpos($mos_change_template,':') == false) {
 				// check that template exists in case it was deleted
 				if (file_exists( "$mosConfig_absolute_path/templates/$mos_change_template/index.php" )) {
 					$lifetime = 60*10;
@@ -1569,7 +1573,7 @@
 	/** @var int */
 	var $access=null;
 	/** @var string */
-	var $params=null;
+	var $params='';
 
 	/**
 	* @param database A database connector object
@@ -1822,7 +1826,7 @@
 		global $mosConfig_uniquemail;
 
 		// filter malicious code
-		$this->filter();
+		//$this->filter();
 
 		// Validate user information
 		if (trim( $this->name ) == '') {
@@ -1967,18 +1971,17 @@
 */
 define( "_MOS_NOTRIM", 0x0001 );
 define( "_MOS_ALLOWHTML", 0x0002 );
+define( "_MOS_ALLOWRAW", 0x0004 );
 function mosGetParam( &$arr, $name, $def=null, $mask=0 ) {
-	$return = null;
 	if (isset( $arr[$name] )) {
-		if (is_string( $arr[$name] )) {
-			if (!($mask&_MOS_NOTRIM)) {
-				$arr[$name] = trim( $arr[$name] );
-			}
-			if (!($mask&_MOS_ALLOWHTML)) {
-				$arr[$name] = strip_tags( $arr[$name] );
-			}
-			if (!get_magic_quotes_gpc()) {
-				$arr[$name] = addslashes( $arr[$name] );
+		if (is_array($arr[$name])) foreach ($arr[$name] as $key=>$element) mosGetParam ($arr[$name], $key, $def, $mask);
+		else {
+			if (!($mask&_MOS_NOTRIM)) $arr[$name] = trim( $arr[$name] );
+			if (!is_numeric( $arr[$name] )) {
+				if (!($mask&_MOS_ALLOWHTML)) $arr[$name] = strip_tags( $arr[$name] );
+				if (!($mask&_MOS_ALLOWRAW)) {
+					if (is_numeric($def)) $arr[$name] = intval($arr[$name]);
+				}
 			}
 		}
 		return $arr[$name];
@@ -2503,6 +2506,7 @@
 		$database->setQuery( "SELECT access FROM #__menu WHERE id='$Itemid'" );
 	} else {
 		if ($task!="") {
+			$task = $database->getEscaped($task);
 			$dblink.="&task=$task";
 		}
 		$database->setQuery( "SELECT access FROM #__menu WHERE link like '$dblink%'" );
@@ -2686,8 +2690,10 @@
 * @param string/array CC e-mail address(es)
 * @param string/array BCC e-mail address(es)
 * @param string/array Attachment file name(s)
+* @param string/array Reply-to e-mail address
+* @param string/array Reply-to name
 */
-function mosMail($from, $fromname, $recipient, $subject, $body, $mode=0, $cc=NULL, $bcc=NULL, $attachment=NULL ) {
+function mosMail($from, $fromname, $recipient, $subject, $body, $mode=0, $cc=NULL, $bcc=NULL, $attachment=NULL, $replyto=NULL, $replytoname=NULL ) {
 	global $mosConfig_debug;
 	$mail = mosCreateMail( $from, $fromname, $subject, $body );
 
@@ -2711,9 +2717,9 @@
 	}
 	if (isset($bcc)) {
 	    if( is_array($bcc) )
-	        foreach ($bcc as $to) $mail->AddCC($to);
+	        foreach ($bcc as $to) $mail->AddBCC($to);
 	    else
-	        $mail->AddCC($bcc);
+	        $mail->AddBCC($bcc);
 	}
     if ($attachment) {
         if ( is_array($attachment) )
@@ -2721,6 +2727,17 @@
         else
             $mail->AddAttachment($attachment);
     } // if
+    if ($replyto) {
+        if ( is_array($replyto) ) {
+        	reset($replytoname);
+            foreach ($replyto as $to) {
+            	$toname = ((list($key, $value) = each($replytoname))
+				? $value : "");
+            	$mail->AddReplyTo($to, $toname);
+            }
+        } else
+            $mail->AddReplyTo($replyto, $replytoname);
+    }
 	$mailssend = $mail->Send();
 
 	if( $mosConfig_debug ) {
@@ -2739,7 +2756,10 @@
 function initGzip() {
 	global $mosConfig_gzip, $do_gzip_compress;
 	$do_gzip_compress = FALSE;
-	if ($mosConfig_gzip == 1) {
+	
+	//zlib.output_compression and ob_gzhandler don't get along well so we'll check to make
+	//that zlib.output_compression is not enable in the php.ini before turning on ob_gzhandler
+	if ( $mosConfig_gzip == 1 && (int)ini_get('zlib.output_compression') != 1 ) {
 		$phpver = phpversion();
 		$useragent = mosGetParam( $_SERVER, 'HTTP_USER_AGENT', '' );
 		$canZip = mosGetParam( $_SERVER, 'HTTP_ACCEPT_ENCODING', '' );
@@ -3160,8 +3180,8 @@
 		// get a list of the menu items
 		$database->setQuery( "SELECT m.*"
 		. "\n FROM #__menu m"
-		. "\n WHERE type != 'url'"
-		. "\n AND type != 'separator'"
+		. "\n WHERE type != 'separator'"
+		. "\n AND link NOT LIKE '%tp:/%'"
 		. "\n AND published = '1'"
 		. "\n ORDER BY menutype, parent, ordering"
 		);
@@ -4225,4 +4245,4 @@
 
 /** @global mosPlugin $_MAMBOTS */
 $_MAMBOTS = new mosMambotHandler();
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/includes/mamboxml.php 4.5.4/includes/mamboxml.php
--- 4.5.2.3/includes/mamboxml.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/mamboxml.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mamboxml.php,v 1.8 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: mamboxml.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/metadata.php 4.5.4/includes/metadata.php
--- 4.5.2.3/includes/metadata.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/metadata.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: metadata.php,v 1.4 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: metadata.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/pageNavigation.php 4.5.4/includes/pageNavigation.php
--- 4.5.2.3/includes/pageNavigation.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/pageNavigation.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: pageNavigation.php,v 1.4 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: pageNavigation.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/pathway.php 4.5.4/includes/pathway.php
--- 4.5.2.3/includes/pathway.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/pathway.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: pathway.php,v 1.8 2005/02/05 11:07:24 akede Exp $
+* @version $Id: pathway.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -28,8 +28,6 @@
 */
 function showPathway( $Itemid ) {
 	global $database, $option, $task, $mainframe, $mosConfig_absolute_path, $mosConfig_live_site;
-	global $SERVER_SOFTWARE, $QUERY_STRING, $REQUEST_URI;
-
 	// get the home page
 	$database->setQuery( "SELECT *"
 	. "\nFROM #__menu"
@@ -48,7 +46,7 @@
 	$mitems = $database->loadObjectList( 'id' );
 
 	$isWin = (substr(PHP_OS, 0, 3) == 'WIN');
-	$optionstring = $isWin ? $QUERY_STRING : $REQUEST_URI;
+	$optionstring = $isWin ? $_SERVER['QUERY_STRING'] : $_SERVER['REQUEST_URI'];
 
 	// are we at the home page or not
 	$homekeys = array_keys( $mitems );
diff -ruN 4.5.2.3/includes/patTemplate/patErrorManager.php 4.5.4/includes/patTemplate/patErrorManager.php
--- 4.5.2.3/includes/patTemplate/patErrorManager.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patErrorManager.php	2006-08-01 01:34:25.000000000 -0500
@@ -4,7 +4,7 @@
  * application-internal error management. Creates patError objects for
  * any errors for precise error management.
  *
- *	$Id: patErrorManager.php,v 1.1 2004/12/24 04:06:30 eddieajau Exp $
+ *	$Id: patErrorManager.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * @package	patError
  */
diff -ruN 4.5.2.3/includes/patTemplate/patError.php 4.5.4/includes/patTemplate/patError.php
--- 4.5.2.3/includes/patTemplate/patError.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patError.php	2006-08-01 01:34:25.000000000 -0500
@@ -3,7 +3,7 @@
  * patError error object used by the patFormsError manager as error messages
  * container for precise error management.
  *
- *	$Id: patError.php,v 1.1 2004/12/24 04:06:30 eddieajau Exp $
+ *	$Id: patError.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * @access		public
  * @package		patError
@@ -13,7 +13,7 @@
  * patError error object used by the patFormsError manager as error messages
  * container for precise error management.
  *
- * $Id: patError.php,v 1.1 2004/12/24 04:06:30 eddieajau Exp $
+ * $Id: patError.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * @access		public
  * @package		patError
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Compiler.php 4.5.4/includes/patTemplate/patTemplate/Compiler.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Compiler.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Compiler.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Compiler for patTemplate
  *
- * $Id: Compiler.php,v 1.4 2004/05/14 16:49:34 schst Exp $
+ * $Id: Compiler.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * WARNING: This is still experimental!
  *
@@ -14,7 +14,7 @@
 /**
  * Compiler for patTemplate
  *
- * $Id: Compiler.php,v 1.4 2004/05/14 16:49:34 schst Exp $
+ * $Id: Compiler.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * WARNING: This is still experimental!
  *
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Dump/Html.php 4.5.4/includes/patTemplate/patTemplate/Dump/Html.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Dump/Html.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Dump/Html.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Dumps templates as HTML
  *
- * $Id: Html.php,v 1.17 2004/12/30 16:44:20 schst Exp $
+ * $Id: Html.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Dump
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Dump.php 4.5.4/includes/patTemplate/patTemplate/Dump.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Dump.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Dump.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate dumpers
  *
- * $Id: Dump.php,v 1.9 2004/05/25 20:38:38 schst Exp $
+ * $Id: Dump.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * The dump functionality is separated from the main class
  * for performance reasons.
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function/Alias.php 4.5.4/includes/patTemplate/patTemplate/Function/Alias.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function/Alias.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function/Alias.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * creates a new function alias
  *
- * $Id: Alias.php,v 1.1 2004/09/07 19:09:56 schst Exp $
+ * $Id: Alias.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
@@ -16,7 +16,7 @@
  * - alias => new alias
  * - function => function to call
  *
- * $Id: Alias.php,v 1.1 2004/09/07 19:09:56 schst Exp $
+ * $Id: Alias.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function/Attribute.php 4.5.4/includes/patTemplate/patTemplate/Function/Attribute.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function/Attribute.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function/Attribute.php	2006-08-01 01:34:25.000000000 -0500
@@ -3,7 +3,7 @@
  * patTemplate function to dynamically change the
  * value of _any_ attribute of the parent tag.
  *
- * $Id: Attribute.php,v 1.1 2004/07/08 20:59:00 schst Exp $
+ * $Id: Attribute.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
@@ -19,7 +19,7 @@
  *
  * The enclosed data will be used as the value of the attribute.
  *
- * $Id: Attribute.php,v 1.1 2004/07/08 20:59:00 schst Exp $
+ * $Id: Attribute.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function/Call.php 4.5.4/includes/patTemplate/patTemplate/Function/Call.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function/Call.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function/Call.php	2006-08-01 01:34:25.000000000 -0500
@@ -6,7 +6,7 @@
  *
  * You may pass any variables to the template.
  *
- * $Id: Call.php,v 1.5 2004/10/28 15:41:57 schst Exp $
+ * $Id: Call.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
@@ -25,7 +25,7 @@
  *
  * You may pass any variables to the template.
  *
- * $Id: Call.php,v 1.5 2004/10/28 15:41:57 schst Exp $
+ * $Id: Call.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function/Globalvar.php 4.5.4/includes/patTemplate/patTemplate/Function/Globalvar.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function/Globalvar.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function/Globalvar.php	2006-08-01 01:34:25.000000000 -0500
@@ -3,7 +3,7 @@
  * patTemplate function that enables adding global variables
  * from within a template.
  *
- * $Id: Globalvar.php,v 1.2 2004/05/28 15:45:08 schst Exp $
+ * $Id: Globalvar.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
@@ -21,7 +21,7 @@
  * default  >  default value of the variable
  * hidden   >  whether to output the content of the variable: yes|no
  *
- * $Id: Globalvar.php,v 1.2 2004/05/28 15:45:08 schst Exp $
+ * $Id: Globalvar.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function/Mambo.php 4.5.4/includes/patTemplate/patTemplate/Function/Mambo.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function/Mambo.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function/Mambo.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: Mambo.php,v 1.1 2004/12/24 04:06:30 eddieajau Exp $
+* @version $Id: Mambo.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function/Phphighlight.php 4.5.4/includes/patTemplate/patTemplate/Function/Phphighlight.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function/Phphighlight.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function/Phphighlight.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate function that highlights PHP code in your templates
  *
- * $Id: Phphighlight.php,v 1.1 2004/05/18 20:10:45 schst Exp $
+ * $Id: Phphighlight.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
@@ -12,7 +12,7 @@
 /**
  * patTemplate function that highlights PHP code in your templates
  *
- * $Id: Phphighlight.php,v 1.1 2004/05/18 20:10:45 schst Exp $
+ * $Id: Phphighlight.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function/Strip.php 4.5.4/includes/patTemplate/patTemplate/Function/Strip.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function/Strip.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function/Strip.php	2006-08-01 01:34:25.000000000 -0500
@@ -3,7 +3,7 @@
  * patTemplate function that strips whitespace from a text
  * block. This is an implementation of Smarty's strip function.
  *
- * $Id: Strip.php,v 1.1 2004/05/13 21:27:27 schst Exp $
+ * $Id: Strip.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
@@ -14,7 +14,7 @@
  * patTemplate function that strips whitespace from a text
  * block. This is an implementation of Smarty's strip function.
  *
- * $Id: Strip.php,v 1.1 2004/05/13 21:27:27 schst Exp $
+ * $Id: Strip.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function/Time.php 4.5.4/includes/patTemplate/patTemplate/Function/Time.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function/Time.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function/Time.php	2006-08-01 01:34:25.000000000 -0500
@@ -3,7 +3,7 @@
  * patTemplate function that calculates the current time
  * or any other time and returns it in the specified format.
  *
- * $Id: Time.php,v 1.2 2004/04/06 18:50:25 schst Exp $
+ * $Id: Time.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
@@ -14,7 +14,7 @@
  * patTemplate function that calculates the current time
  * or any other time and returns it in the specified format.
  *
- * $Id: Time.php,v 1.2 2004/04/06 18:50:25 schst Exp $
+ * $Id: Time.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function/Translate.php 4.5.4/includes/patTemplate/patTemplate/Function/Translate.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function/Translate.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function/Translate.php	2006-08-01 01:34:25.000000000 -0500
@@ -15,7 +15,7 @@
  * $tmpl->setOption( 'lang', 'de' );
  * </code>
  *
- * $Id: Translate.php,v 1.6 2004/10/27 11:22:37 schst Exp $
+ * $Id: Translate.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
@@ -38,7 +38,7 @@
  * $tmpl->setOption( 'lang', 'de' );
  * </code>
  *
- * $Id: Translate.php,v 1.6 2004/10/27 11:22:37 schst Exp $
+ * $Id: Translate.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Function.php 4.5.4/includes/patTemplate/patTemplate/Function.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Function.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Function.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate functions
  *
- * $Id: Function.php,v 1.4 2004/10/27 13:52:20 schst Exp $
+ * $Id: Function.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Functions
@@ -22,7 +22,7 @@
 /**
  * Base class for patTemplate functions
  *
- * $Id: Function.php,v 1.4 2004/10/27 13:52:20 schst Exp $
+ * $Id: Function.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * @abstract
  * @package		patTemplate
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/InputFilter/StripComments.php 4.5.4/includes/patTemplate/patTemplate/InputFilter/StripComments.php
--- 4.5.2.3/includes/patTemplate/patTemplate/InputFilter/StripComments.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/InputFilter/StripComments.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate StripComments input filter
  *
- * $Id: StripComments.php,v 1.1 2004/04/01 19:56:50 schst Exp $
+ * $Id: StripComments.php,v 1.1 2005/07/22 01:57:31 eddieajau Exp $
  *
  * Will remove all HTML comments.
  *
@@ -14,7 +14,7 @@
 /**
  * patTemplate StripComments output filter
  *
- * $Id: StripComments.php,v 1.1 2004/04/01 19:56:50 schst Exp $
+ * $Id: StripComments.php,v 1.1 2005/07/22 01:57:31 eddieajau Exp $
  *
  * Will remove all HTML comments.
  *
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/InputFilter.php 4.5.4/includes/patTemplate/patTemplate/InputFilter.php
--- 4.5.2.3/includes/patTemplate/patTemplate/InputFilter.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/InputFilter.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate input filter
  *
- * $Id: InputFilter.php,v 1.2 2004/05/25 20:38:38 schst Exp $
+ * $Id: InputFilter.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * An input filter is used to modify the stream
  * before it has been processed by patTemplate_Reader.
@@ -15,7 +15,7 @@
 /**
  * Base class for patTemplate input filter
  *
- * $Id: InputFilter.php,v 1.2 2004/05/25 20:38:38 schst Exp $
+ * $Id: InputFilter.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * An input filter is used to modify the stream
  * before it has been processed by patTemplate_Reader.
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Modifier/Dateformat.php 4.5.4/includes/patTemplate/patTemplate/Modifier/Dateformat.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Modifier/Dateformat.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Modifier/Dateformat.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate modfifier Dateformat
  *
- * $Id: Dateformat.php,v 1.1 2004/05/20 16:01:41 schst Exp $
+ * $Id: Dateformat.php,v 1.1 2005/07/22 03:19:45 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Modifiers
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Modifier/Expression.php 4.5.4/includes/patTemplate/patTemplate/Modifier/Expression.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Modifier/Expression.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Modifier/Expression.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate modfifier Expression
  *
- * $Id: Expression.php,v 1.2 2004/11/30 20:46:36 schst Exp $
+ * $Id: Expression.php,v 1.1 2005/07/22 01:57:32 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Modifiers
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Modifier/HTML/Img.php 4.5.4/includes/patTemplate/patTemplate/Modifier/HTML/Img.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Modifier/HTML/Img.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Modifier/HTML/Img.php	2006-08-01 01:34:25.000000000 -0500
@@ -4,7 +4,7 @@
  *
  * It automatically retrieves the width and height of the image.
  *
- * $Id: Img.php,v 1.2 2004/04/11 08:47:45 schst Exp $
+ * $Id: Img.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Modifiers
@@ -16,7 +16,7 @@
  *
  * It automatically retrieves the width and height of the image.
  *
- * $Id: Img.php,v 1.2 2004/04/11 08:47:45 schst Exp $
+ * $Id: Img.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Modifiers
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Modifier/HTML/SEF.php 4.5.4/includes/patTemplate/patTemplate/Modifier/HTML/SEF.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Modifier/HTML/SEF.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Modifier/HTML/SEF.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 /**
 * patTemplate modfifier for Search Engine Friendly URL's
-* @version $Id: SEF.php,v 1.1 2004/12/24 04:06:31 eddieajau Exp $
+* @version $Id: SEF.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Modifier/QuoteLatex.php 4.5.4/includes/patTemplate/patTemplate/Modifier/QuoteLatex.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Modifier/QuoteLatex.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Modifier/QuoteLatex.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate modifier that quotes LaTeX special chars
  *
- * $Id: QuoteLatex.php,v 1.1 2005/01/03 15:56:52 schst Exp $
+ * $Id: QuoteLatex.php,v 1.1 2005/07/22 01:57:32 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Modifiers
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Modifier/Surround.php 4.5.4/includes/patTemplate/patTemplate/Modifier/Surround.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Modifier/Surround.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Modifier/Surround.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate modfifier Surround
  *
- * $Id: Surround.php,v 1.2 2004/10/03 11:35:57 gerd Exp $
+ * $Id: Surround.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Modifiers
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Modifier/Wordwrapper.php 4.5.4/includes/patTemplate/patTemplate/Modifier/Wordwrapper.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Modifier/Wordwrapper.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Modifier/Wordwrapper.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate modfifier Wordwrapper
  *
- * $Id: Wordwrapper.php,v 1.3 2004/04/09 17:59:36 schst Exp $
+ * $Id: Wordwrapper.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Modifiers
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Modifier.php 4.5.4/includes/patTemplate/patTemplate/Modifier.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Modifier.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Modifier.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate variable modifiers
  *
- * $Id: Modifier.php,v 1.2 2004/05/25 20:38:38 schst Exp $
+ * $Id: Modifier.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * A modifier is used to modify a variable when it's parsed
  * into the template.
@@ -15,7 +15,7 @@
 /**
  * Base class for patTemplate variable modifiers
  *
- * $Id: Modifier.php,v 1.2 2004/05/25 20:38:38 schst Exp $
+ * $Id: Modifier.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * A modifier is used to modify a variable when it's parsed
  * into the template.
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Module.php 4.5.4/includes/patTemplate/patTemplate/Module.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Module.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Module.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate Module base class
  *
- * $Id: Module.php,v 1.4 2004/05/25 20:38:38 schst Exp $
+ * $Id: Module.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * The patTemplate_Module is the base class for all patTemplate
  * modules like readers, dumpers, filters, etc.
@@ -14,7 +14,7 @@
 /**
  * patTemplate Module base class
  *
- * $Id: Module.php,v 1.4 2004/05/25 20:38:38 schst Exp $
+ * $Id: Module.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * The patTemplate_Module is the base class for all patTemplate
  * modules like readers, dumpers, filters, etc.
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/OutputCache.php 4.5.4/includes/patTemplate/patTemplate/OutputCache.php
--- 4.5.2.3/includes/patTemplate/patTemplate/OutputCache.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/OutputCache.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate output cache
  *
- * $Id: OutputCache.php,v 1.3 2004/05/25 20:38:38 schst Exp $
+ * $Id: OutputCache.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * An output cache is used to cache the data before
  * the template has been read.
@@ -20,7 +20,7 @@
 /**
  * Base class for patTemplate output cache
  *
- * $Id: OutputCache.php,v 1.3 2004/05/25 20:38:38 schst Exp $
+ * $Id: OutputCache.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * An output cache is used to cache the data before
  * the template has been read.
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/BBCode.php 4.5.4/includes/patTemplate/patTemplate/OutputFilter/BBCode.php
--- 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/BBCode.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/OutputFilter/BBCode.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate BBCode output filter
  *
- * $Id: BBCode.php,v 1.1 2004/07/23 21:01:43 schst Exp $
+ * $Id: BBCode.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * Uses patBBCode.
  *
@@ -14,7 +14,7 @@
 /**
  * patTemplate BBCode output filter
  *
- * $Id: BBCode.php,v 1.1 2004/07/23 21:01:43 schst Exp $
+ * $Id: BBCode.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * Uses patBBCode.
  *
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/Gzip.php 4.5.4/includes/patTemplate/patTemplate/OutputFilter/Gzip.php
--- 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/Gzip.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/OutputFilter/Gzip.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate GZip output filter
  *
- * $Id: Gzip.php,v 1.4 2004/04/01 20:18:24 schst Exp $
+ * $Id: Gzip.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * Checks the accept encoding of the browser and
  * compresses the data before sending it to the client.
@@ -15,7 +15,7 @@
 /**
  * patTemplate GZip output filter
  *
- * $Id: Gzip.php,v 1.4 2004/04/01 20:18:24 schst Exp $
+ * $Id: Gzip.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * Checks the accept encoding of the browser and
  * compresses the data before sending it to the client.
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/PdfLatex.php 4.5.4/includes/patTemplate/patTemplate/OutputFilter/PdfLatex.php
--- 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/PdfLatex.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/OutputFilter/PdfLatex.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate output filter that creates PDF files from latex
  *
- * $Id: PdfLatex.php,v 1.1 2005/01/03 15:56:52 schst Exp $
+ * $Id: PdfLatex.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Filters
@@ -12,7 +12,7 @@
 /**
  * patTemplate output filter that creates PDF files from latex
  *
- * $Id: PdfLatex.php,v 1.1 2005/01/03 15:56:52 schst Exp $
+ * $Id: PdfLatex.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Filters
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/StripWhitespace.php 4.5.4/includes/patTemplate/patTemplate/OutputFilter/StripWhitespace.php
--- 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/StripWhitespace.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/OutputFilter/StripWhitespace.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate StripWhitespace output filter
  *
- * $Id: StripWhitespace.php,v 1.4 2004/04/08 16:11:28 schst Exp $
+ * $Id: StripWhitespace.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * Will remove all whitespace and replace it with a single space.
  *
@@ -14,7 +14,7 @@
 /**
  * patTemplate StripWhitespace output filter
  *
- * $Id: StripWhitespace.php,v 1.4 2004/04/08 16:11:28 schst Exp $
+ * $Id: StripWhitespace.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * Will remove all whitespace and replace it with a single space.
  *
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/Tidy.php 4.5.4/includes/patTemplate/patTemplate/OutputFilter/Tidy.php
--- 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter/Tidy.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/OutputFilter/Tidy.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate Tidy output filter
  *
- * $Id: Tidy.php,v 1.2 2004/06/25 17:20:08 schst Exp $
+ * $Id: Tidy.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * Used to tidy up your resulting HTML document,
  * requires ext/tidy.
@@ -20,7 +20,7 @@
 /**
  * patTemplate Tidy output filter
  *
- * $Id: Tidy.php,v 1.2 2004/06/25 17:20:08 schst Exp $
+ * $Id: Tidy.php,v 1.1 2005/07/22 01:57:33 eddieajau Exp $
  *
  * Used to tidy up your resulting HTML document,
  * requires ext/tidy.
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter.php 4.5.4/includes/patTemplate/patTemplate/OutputFilter.php
--- 4.5.2.3/includes/patTemplate/patTemplate/OutputFilter.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/OutputFilter.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate output filter
  *
- * $Id: OutputFilter.php,v 1.3 2004/05/25 20:38:38 schst Exp $
+ * $Id: OutputFilter.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * An output filter is used to modify the output
  * after it has been processed by patTemplate, but before
@@ -16,7 +16,7 @@
 /**
  * Base class for patTemplate output filter
  *
- * $Id: OutputFilter.php,v 1.3 2004/05/25 20:38:38 schst Exp $
+ * $Id: OutputFilter.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * An output filter is used to modify the output
  * after it has been processed by patTemplate, but before
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Reader/File.php 4.5.4/includes/patTemplate/patTemplate/Reader/File.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Reader/File.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Reader/File.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate Reader that reads from a file
  *
- * $Id: File.php,v 1.15 2004/12/03 17:24:15 schst Exp $
+ * $Id: File.php,v 1.1 2005/07/22 01:57:35 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Readers
@@ -12,7 +12,7 @@
 /**
  * patTemplate Reader that reads from a file
  *
- * $Id: File.php,v 1.15 2004/12/03 17:24:15 schst Exp $
+ * $Id: File.php,v 1.1 2005/07/22 01:57:35 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Readers
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Reader/IT.php 4.5.4/includes/patTemplate/patTemplate/Reader/IT.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Reader/IT.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Reader/IT.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate reader that reads HTML_Template_IT files
  *
- * $Id: IT.php,v 1.3 2004/06/04 19:40:02 schst Exp $
+ * $Id: IT.php,v 1.1 2005/07/22 01:57:35 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Readers
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Reader/String.php 4.5.4/includes/patTemplate/patTemplate/Reader/String.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Reader/String.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Reader/String.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate Reader that reads from a string
  *
- * $Id: String.php,v 1.4 2004/04/23 22:01:02 schst Exp $
+ * $Id: String.php,v 1.1 2005/07/22 01:57:35 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Readers
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Reader.php 4.5.4/includes/patTemplate/patTemplate/Reader.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Reader.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Reader.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate readers
  *
- * $Id: Reader.php,v 1.66 2004/12/30 16:29:05 schst Exp $
+ * $Id: Reader.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * This class is able to parse patTemplate tags from any string you hand it over
  * It will emulate some kind of SAX parsing by calling start-, end- and CData-handlers.
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Stat/File.php 4.5.4/includes/patTemplate/patTemplate/Stat/File.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Stat/File.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Stat/File.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate Stat
  *
- * $Id: File.php,v 1.1 2004/05/17 18:40:54 schst Exp $
+ * $Id: File.php,v 1.1 2005/07/22 01:57:36 eddieajau Exp $
  *
  * A stat component should be implemented for each reader
  * to support caching. Stats return information about the
@@ -16,7 +16,7 @@
 /**
  * Base class for patTemplate Stat
  *
- * $Id: File.php,v 1.1 2004/05/17 18:40:54 schst Exp $
+ * $Id: File.php,v 1.1 2005/07/22 01:57:36 eddieajau Exp $
  *
  * A stat component should be implemented for each reader
  * to support caching. Stats return information about the
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/Stat.php 4.5.4/includes/patTemplate/patTemplate/Stat.php
--- 4.5.2.3/includes/patTemplate/patTemplate/Stat.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/Stat.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate Stat
  *
- * $Id: Stat.php,v 1.1 2004/05/17 18:40:54 schst Exp $
+ * $Id: Stat.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * A stat component should be implemented for each reader
  * to support caching. Stats return information about the
@@ -16,7 +16,7 @@
 /**
  * Base class for patTemplate Stat
  *
- * $Id: Stat.php,v 1.1 2004/05/17 18:40:54 schst Exp $
+ * $Id: Stat.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * A stat component should be implemented for each reader
  * to support caching. Stats return information about the
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/TemplateCache/File.php 4.5.4/includes/patTemplate/patTemplate/TemplateCache/File.php
--- 4.5.2.3/includes/patTemplate/patTemplate/TemplateCache/File.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/TemplateCache/File.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate Template cache that stores data on filesystem
  *
- * $Id: File.php,v 1.2 2004/09/10 11:36:25 schst Exp $
+ * $Id: File.php,v 1.1 2005/07/22 01:57:37 eddieajau Exp $
  *
  * @package		patTemplate
  * @subpackage	Caches
@@ -12,7 +12,7 @@
 /**
  * patTemplate Template cache that stores data on filesystem
  *
- * $Id: File.php,v 1.2 2004/09/10 11:36:25 schst Exp $
+ * $Id: File.php,v 1.1 2005/07/22 01:57:37 eddieajau Exp $
  *
  * Possible parameters for the cache are:
  * - cacheFolder : set the folder from which to load the cache
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate/TemplateCache.php 4.5.4/includes/patTemplate/patTemplate/TemplateCache.php
--- 4.5.2.3/includes/patTemplate/patTemplate/TemplateCache.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate/TemplateCache.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * Base class for patTemplate template cache
  *
- * $Id: TemplateCache.php,v 1.6 2004/05/25 20:38:38 schst Exp $
+ * $Id: TemplateCache.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * A template cache is used to cache the data after
  * the template has been read, but before the variables
@@ -21,7 +21,7 @@
 /**
  * Base class for patTemplate template cache
  *
- * $Id: TemplateCache.php,v 1.6 2004/05/25 20:38:38 schst Exp $
+ * $Id: TemplateCache.php,v 1.1 2005/07/22 01:57:26 eddieajau Exp $
  *
  * A template cache is used to cache the data after
  * the template has been read, but before the variables
diff -ruN 4.5.2.3/includes/patTemplate/patTemplate.php 4.5.4/includes/patTemplate/patTemplate.php
--- 4.5.2.3/includes/patTemplate/patTemplate.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/patTemplate.php	2006-08-01 01:34:25.000000000 -0500
@@ -2,7 +2,7 @@
 /**
  * patTemplate
  *
- * $Id: patTemplate.php,v 1.118 2005/01/03 14:29:56 schst Exp $
+ * $Id: patTemplate.php,v 1.1 2005/07/22 01:57:25 eddieajau Exp $
  *
  * powerful templating engine
  *
diff -ruN 4.5.2.3/includes/patTemplate/tmpl/page.html 4.5.4/includes/patTemplate/tmpl/page.html
--- 4.5.2.3/includes/patTemplate/tmpl/page.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/patTemplate/tmpl/page.html	2006-08-01 01:34:25.000000000 -0500
@@ -1,5 +1,5 @@
 <mos:comment>
-@version $Id: page.html,v 1.10 2005/02/06 18:28:24 eddieajau Exp $
+@version $Id: page.html,v 1.1 2005/07/22 01:57:37 eddieajau Exp $
 @package Mambo_4.5.2
 @copyright (C) (C) 2000 - 2005 Miro International Pty Ltd
 @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/pdf.php 4.5.4/includes/pdf.php
--- 4.5.2.3/includes/pdf.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/pdf.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: pdf.php,v 1.4 2005/01/06 01:13:29 eddieajau Exp $
+* @version $Id: pdf.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/includes/PEAR/PEAR.php 4.5.4/includes/PEAR/PEAR.php
--- 4.5.2.3/includes/PEAR/PEAR.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/PEAR/PEAR.php	2006-08-01 01:34:25.000000000 -0500
@@ -18,7 +18,7 @@
 // |          Tomas V.V.Cox <cox@idecnet.com>                             |
 // +----------------------------------------------------------------------+
 //
-// $Id: PEAR.php,v 1.1 2004/12/24 03:08:15 eddieajau Exp $
+// $Id: PEAR.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $
 //
 
 define('PEAR_ERROR_RETURN',     1);
diff -ruN 4.5.2.3/includes/phpmailer/class.phpmailer.php 4.5.4/includes/phpmailer/class.phpmailer.php
--- 4.5.2.3/includes/phpmailer/class.phpmailer.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/phpmailer/class.phpmailer.php	2006-08-01 01:34:25.000000000 -0500
@@ -125,7 +125,7 @@
      *  Holds PHPMailer version.
      *  @var string
      */
-    var $Version           = "1.72";
+    var $Version           = "1.73";
 
     /**
      * Sets the email address that a reading confirmation will be sent.
@@ -740,7 +740,7 @@
         {
            case "alt":
               // fall through
-           case "alt_attachment":
+           case "alt_attachments":
               $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap);
               break;
            default:
@@ -1087,9 +1087,12 @@
             $this->SetError($this->Lang("file_open") . $path);
             return "";
         }
+        $magic_quotes = get_magic_quotes_runtime();
+        set_magic_quotes_runtime(0);
         $file_buffer = fread($fd, filesize($path));
         $file_buffer = $this->EncodeString($file_buffer, $encoding);
         fclose($fd);
+        set_magic_quotes_runtime($magic_quotes);
 
         return $file_buffer;
     }
diff -ruN 4.5.2.3/includes/phpmailer/class.smtp.php 4.5.4/includes/phpmailer/class.smtp.php
--- 4.5.2.3/includes/phpmailer/class.smtp.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/phpmailer/class.smtp.php	2006-08-01 01:34:25.000000000 -0500
@@ -332,6 +332,12 @@
             # smaller lines
             while(strlen($line) > $max_line_length) {
                 $pos = strrpos(substr($line,0,$max_line_length)," ");
+
+                # Patch to fix DOS attack
+                if(!$pos) {
+                    $pos = $max_line_length - 1;
+                }
+
                 $lines_out[] = substr($line,0,$pos);
                 $line = substr($line,$pos + 1);
                 # if we are processing headers we need to
diff -ruN 4.5.2.3/includes/sef.php 4.5.4/includes/sef.php
--- 4.5.2.3/includes/sef.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/sef.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: sef.php,v 1.9 2005/02/16 18:16:51 saka Exp $
+* @version $Id: sef.php,v 1.3 2005/11/23 22:49:07 csouza Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -10,7 +10,13 @@
 /** ensure this file is being included by a parent file */
 defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
 
-if ($mosConfig_sef) {
+if ($mosConfig_sef) sefParseUrl(config_register_globals());
+
+function sefParseUrl($register_globals){
+    // prevent globals overwrite via REQUEST_URI
+    if (preg_match('/(\b)GLOBALS|_REQUEST|_SERVER|_ENV|_COOKIE|_GET|_POST|_FILES|_SESSION(\b)/i', $_SERVER['REQUEST_URI']) > 0) {
+        die('Invalid Request');
+    }
 	$url_array = explode("/", $_SERVER['REQUEST_URI']);
 	/**
 	* Content
@@ -153,10 +159,13 @@
 		$REQUEST_URI = $uri[0]."index.php?".$QUERY_STRING;
 		$_SERVER['REQUEST_URI'] = $REQUEST_URI;
 	}
-	// Extract to globals
-	while(list($key,$value)=each($_GET)) $GLOBALS[$key]=$value;
-	// Don't allow config vars to be passed as global
-	include( "configuration.php" );
+	
+	if ($register_globals) {
+        // Extract to globals
+        while(list($key,$value)=each($_GET)) {
+            if (!isset($GLOBALS[$key])) $GLOBALS[$key]=$value;
+        }
+    } 
 }
 
 function sefRelToAbs( $string ) {
diff -ruN 4.5.2.3/includes/version.php 4.5.4/includes/version.php
--- 4.5.2.3/includes/version.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/includes/version.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: version.php,v 1.12 2005/02/19 02:06:44 eddieajau Exp $
+* @version $Id: version.php,v 1.8 2006/05/19 cauld Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -16,19 +16,19 @@
 	/** @var string Development Status */
 	var $DEV_STATUS = 'Stable';
 	/** @var int Sub Release Level */
-	var $DEV_LEVEL = '2.3';
+	var $DEV_LEVEL = '4';
 	/** @var string Codename */
-	var $CODENAME = 'Titan Reassigned';
+	var $CODENAME = 'Sani';
 	/** @var string Date */
-	var $RELDATE = '15-June-2005';
+	var $RELDATE = '26-May-2006';
 	/** @var string Time */
-	var $RELTIME = '04:30';
+	var $RELTIME = '10:00';
 	/** @var string Timezone */
 	var $RELTZ = 'GMT';
 	/** @var string Copyright Text */
-	var $COPYRIGHT = 'Copyright 2000 - 2005 Miro International Pty Ltd.  All rights reserved.';
+	var $COPYRIGHT = 'Copyright 2000 - 2006 Mambo Foundation.  All rights reserved.';
 	/** @var string URL */
-	var $URL = '<a href="http://www.mamboserver.com">Mambo</a> is Free Software released under the GNU/GPL License.';
+	var $URL = '<a href="http://mambo-foundation.org">Mambo</a> is Free Software released under the GNU/GPL License.';
 }
 $_VERSION =& new version();
 
diff -ruN 4.5.2.3/index2.php 4.5.4/index2.php
--- 4.5.2.3/index2.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/index2.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,14 +1,27 @@
 <?php
 /**
-* @version $Id: index2.php,v 1.9 2005/02/10 03:12:35 akede Exp $
+* @version $Id: index2.php,v 1.3 2005/11/21 11:57:20 csouza Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * Mambo is Free Software
 */
 
+// fix to address the globals overwrite problem in php versions < 4.4.1
+$protect_globals = array('_REQUEST', '_GET', '_POST', '_COOKIE', '_FILES', '_SERVER', '_ENV', 'GLOBALS', '_SESSION');
+foreach ($protect_globals as $global) {
+    if ( in_array($global , array_keys($_REQUEST)) ||
+         in_array($global , array_keys($_GET))     ||
+         in_array($global , array_keys($_POST))    ||
+         in_array($global , array_keys($_COOKIE))  ||
+         in_array($global , array_keys($_FILES))) {
+        die("Invalid Request.");
+    }
+}
+
 /** Set flag that this is a parent file */
 define( "_VALID_MOS", 1 );
+session_start();
 
 include_once ('globals.php');
 require_once ('configuration.php');
diff -ruN 4.5.2.3/index.php 4.5.4/index.php
--- 4.5.2.3/index.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/index.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,15 +1,27 @@
 <?php
 /**
-* @version $Id: index.php,v 1.9 2005/02/16 02:03:33 eddieajau Exp $
+* @version $Id: index.php,v 1.6 2005/11/21 11:57:20 csouza Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * Mambo is Free Software
 */
 
-/** Set flag that this is a parent file */
-define( '_VALID_MOS', 1 );
+// fix to address the globals overwrite problem in php versions < 4.4.1
+$protect_globals = array('_REQUEST', '_GET', '_POST', '_COOKIE', '_FILES', '_SERVER', '_ENV', 'GLOBALS', '_SESSION');
+foreach ($protect_globals as $global) {
+    if ( in_array($global , array_keys($_REQUEST)) ||
+         in_array($global , array_keys($_GET))     ||
+         in_array($global , array_keys($_POST))    ||
+         in_array($global , array_keys($_COOKIE))  ||
+         in_array($global , array_keys($_FILES))) {
+        die("Invalid Request.");
+    }
+}
 
+/** Set flag that this is a parent file  */
+define( '_VALID_MOS', 1 );
+session_start();
 // checks for configuration file, if none found loads installation page
 if ( !file_exists( 'configuration.php' ) || filesize( 'configuration.php' ) < 10 ) {
 	header( 'Location: installation/index.php' );
@@ -83,6 +95,16 @@
 	}
 }
 
+/** mainframe is an API workhorse, lots of 'core' interaction routines */
+$mainframe = new mosMainFrame( $database, $option, '.' );
+$mainframe->initSession();
+
+// checking if we can find the Itemid thru the content
+if ( $option == 'com_content' && $Itemid === 0 ) {
+	$id = intval( mosGetParam( $_REQUEST, 'id', 0 ) );
+	$Itemid = $mainframe->getItemid( $id );
+}
+
 /** do we have a valid Itemid yet?? */
 if ( $Itemid === null ) {
 	/** Nope, just use the homepage then. */
@@ -102,10 +124,6 @@
 	$option = 'com_search';
 }
 
-/** mainframe is an API workhorse, lots of 'core' interaction routines */
-$mainframe = new mosMainFrame( $database, $option, '.' );
-$mainframe->initSession();
-
 // loads english language file by default
 if ( $mosConfig_lang == '' ) {
 	$mosConfig_lang = 'english';
@@ -114,12 +132,11 @@
 
 // frontend login & logout controls
 $return = mosGetParam( $_REQUEST, 'return', NULL );
-$message = mosGetParam( $_POST, 'message', 0 );
 if ($option == "login") {
 	$mainframe->login();
 
 	// JS Popup message
-	if ( $message ) {
+	if ( mosGetParam( $_POST, 'message', 0 ) ) {
 		?>
 		<script> 
 		<!--//
@@ -139,7 +156,7 @@
 	$mainframe->logout();
 
 	// JS Popup message
-	if ( $message ) {
+	if ( mosGetParam( $_POST, 'message', 0 ) ) {
 		?>
 		<script> 
 		<!--//
diff -ruN 4.5.2.3/language/english.ignore.php 4.5.4/language/english.ignore.php
--- 4.5.2.3/language/english.ignore.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/language/english.ignore.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: english.ignore.php,v 1.4 2005/01/06 01:13:30 eddieajau Exp $
+* @version $Id: english.ignore.php,v 1.1 2005/07/22 01:57:48 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/language/english.php 4.5.4/language/english.php
--- 4.5.2.3/language/english.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/language/english.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,520 +1,519 @@
-<?php
-/**
-* @version $Id: english.php,v 1.15 2005/02/16 01:21:58 eddieajau Exp $
-* @package Mambo
-* @copyright (C) 2000 - 2005 Miro International Pty Ltd
-* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
-* Mambo is Free Software
-*/
-
-/** ensure this file is being included by a parent file */
-defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
-
-/** common */
-DEFINE('_LANGUAGE','en');
-DEFINE('_NOT_AUTH','You are not authorized to view this resource.');
-DEFINE('_DO_LOGIN','You need to login.');
-DEFINE('_VALID_AZ09',"Please enter a valid %s.  No spaces, more than %d characters and contain 0-9,a-z,A-Z");
-DEFINE('_CMN_YES','Yes');
-DEFINE('_CMN_NO','No');
-DEFINE('_CMN_SHOW','Show');
-DEFINE('_CMN_HIDE','Hide');
-
-DEFINE('_CMN_NAME','Name');
-DEFINE('_CMN_DESCRIPTION','Description');
-DEFINE('_CMN_SAVE','Save');
-DEFINE('_CMN_CANCEL','Cancel');
-DEFINE('_CMN_PRINT','Print');
-DEFINE('_CMN_PDF','PDF');
-DEFINE('_CMN_EMAIL','E-mail');
-DEFINE('_ICON_SEP','|');
-DEFINE('_CMN_PARENT','Parent');
-DEFINE('_CMN_ORDERING','Ordering');
-DEFINE('_CMN_ACCESS','Access Level');
-DEFINE('_CMN_SELECT','Select');
-
-DEFINE('_CMN_NEXT','Next');
-DEFINE('_CMN_NEXT_ARROW'," &gt;&gt;");
-DEFINE('_CMN_PREV','Prev');
-DEFINE('_CMN_PREV_ARROW',"&lt;&lt; ");
-
-DEFINE('_CMN_SORT_NONE','No Sorting');
-DEFINE('_CMN_SORT_ASC','Sort Ascending');
-DEFINE('_CMN_SORT_DESC','Sort Descending');
-
-DEFINE('_CMN_NEW','New');
-DEFINE('_CMN_NONE','None');
-DEFINE('_CMN_LEFT','Left');
-DEFINE('_CMN_RIGHT','Right');
-DEFINE('_CMN_CENTER','Center');
-DEFINE('_CMN_ARCHIVE','Archive');
-DEFINE('_CMN_UNARCHIVE','Unarchive');
-DEFINE('_CMN_TOP','Top');
-DEFINE('_CMN_BOTTOM','Bottom');
-
-DEFINE('_CMN_PUBLISHED','Published');
-DEFINE('_CMN_UNPUBLISHED','Unpublished');
-
-DEFINE('_CMN_EDIT_HTML','Edit HTML');
-DEFINE('_CMN_EDIT_CSS','Edit CSS');
-
-DEFINE('_CMN_DELETE','Delete');
-
-DEFINE('_CMN_FOLDER','Folder');
-DEFINE('_CMN_SUBFOLDER','Sub-folder');
-DEFINE('_CMN_OPTIONAL','Optional');
-DEFINE('_CMN_REQUIRED','Required');
-
-DEFINE('_CMN_CONTINUE','Continue');
-
-DEFINE('_CMN_NEW_ITEM_LAST','New items default to the last place. Ordering can be changed after this item is saved.');
-DEFINE('_CMN_NEW_ITEM_FIRST','New items default to the first place. Ordering can be changed after this item is saved.');
-DEFINE('_LOGIN_INCOMPLETE','Please complete the username and password fields.');
-DEFINE('_LOGIN_BLOCKED','Your login has been blocked. Please contact the administrator.');
-DEFINE('_LOGIN_INCORRECT','Incorrect username or password. Please try again.');
-DEFINE('_LOGIN_NOADMINS','You cannot login. There are no administrators set up.');
-DEFINE('_CMN_JAVASCRIPT','!Warning! Javascript must be enabled for proper operation.');
-
-DEFINE('_NEW_MESSAGE','A new private message has arrived');
-DEFINE('_MESSAGE_FAILED','The user has locked their mailbox. Message failed.');
-
-DEFINE('_CMN_IFRAMES', 'This option will not work correctly.  Unfortunately, your browser does not support Inline Frames');
-
-DEFINE('_INSTALL_WARN','For your security please completely remove the installation directory including all files and sub-folders  - then refresh this page');
-DEFINE('_TEMPLATE_WARN','<font color=\"red\"><b>Template File Not Found! Looking for template:</b></font>');
-DEFINE('_NO_PARAMS','There are no Parameters for this item');
-DEFINE('_HANDLER','Handler not defined for type');
-
-/** mambots */
-DEFINE('_TOC_JUMPTO','Article Index');
-
-/**  content */
-DEFINE('_READ_MORE','Read more...');
-DEFINE('_READ_MORE_REGISTER','Register to read more...');
-DEFINE('_MORE','More...');
-DEFINE('_ON_NEW_CONTENT', "A new content item has been submitted by [ %s ]  titled [ %s ]  from section [ %s ]  and category  [ %s ]" );
-DEFINE('_SEL_CATEGORY','- Select Category -');
-DEFINE('_SEL_SECTION','- Select Section -');
-DEFINE('_SEL_AUTHOR','- Select Author -');
-DEFINE('_SEL_POSITION','- Select Position -');
-DEFINE('_SEL_TYPE','- Select Type -');
-DEFINE('_EMPTY_CATEGORY','This Category is currently empty');
-DEFINE('_EMPTY_BLOG','There are no items to display');
-DEFINE('_NOT_EXIST','The page you are trying to access does not exist.<br />Please select a page from the main menu.');
-
-/** classes/html/modules.php */
-DEFINE('_BUTTON_VOTE','Vote');
-DEFINE('_BUTTON_RESULTS','Results');
-DEFINE('_USERNAME','Username');
-DEFINE('_LOST_PASSWORD','Forgotten your password?');
-DEFINE('_PASSWORD','Password');
-DEFINE('_BUTTON_LOGIN','Login');
-DEFINE('_BUTTON_LOGOUT','Logout');
-DEFINE('_NO_ACCOUNT','No account yet?');
-DEFINE('_CREATE_ACCOUNT','Create one');
-DEFINE('_VOTE_POOR','Poor');
-DEFINE('_VOTE_BEST','Best');
-DEFINE('_USER_RATING','User Rating');
-DEFINE('_RATE_BUTTON','Rate');
-DEFINE('_REMEMBER_ME','Remember me');
-
-/** contact.php */
-DEFINE('_ENQUIRY','Enquiry');
-DEFINE('_ENQUIRY_TEXT','This is an enquiry e-mail via %s from:');
-DEFINE('_COPY_TEXT','This is a copy of the following message you sent to %s via %s ');
-DEFINE('_COPY_SUBJECT','Copy of: ');
-DEFINE('_THANK_MESSAGE','Thank you for your e-mail');
-DEFINE('_CLOAKING','This email address is being protected from spam bots, you need Javascript enabled to view it');
-DEFINE('_CONTACT_HEADER_NAME','Name');
-DEFINE('_CONTACT_HEADER_POS','Position');
-DEFINE('_CONTACT_HEADER_EMAIL','Email');
-DEFINE('_CONTACT_HEADER_PHONE','Phone');
-DEFINE('_CONTACT_HEADER_FAX','Fax');
-DEFINE('_CONTACTS_DESC','The Contact list for this Website.');
-
-/** classes/html/contact.php */
-DEFINE('_CONTACT_TITLE','Contact');
-DEFINE('_EMAIL_DESCRIPTION','Send an Email to this Contact:');
-DEFINE('_NAME_PROMPT',' Enter your name:');
-DEFINE('_EMAIL_PROMPT',' E-mail address:');
-DEFINE('_MESSAGE_PROMPT',' Enter your message:');
-DEFINE('_SEND_BUTTON','Send');
-DEFINE('_CONTACT_FORM_NC','Please make sure the form is complete and valid.');
-DEFINE('_CONTACT_TELEPHONE','Telephone: ');
-DEFINE('_CONTACT_MOBILE','Mobile: ');
-DEFINE('_CONTACT_FAX','Fax: ');
-DEFINE('_CONTACT_EMAIL','Email: ');
-DEFINE('_CONTACT_NAME','Name: ');
-DEFINE('_CONTACT_POSITION','Postition: ');
-DEFINE('_CONTACT_ADDRESS','Address: ');
-DEFINE('_CONTACT_MISC','Information: ');
-DEFINE('_CONTACT_SEL','Select Contact:');
-DEFINE('_CONTACT_NONE','There are no Contact Details listed.');
-DEFINE('_EMAIL_A_COPY','Email a copy of this message to your own address');
-DEFINE('_CONTACT_DOWNLOAD_AS','Download information as a');
-DEFINE('_VCARD','VCard');
-
-/** pageNavigation */
-DEFINE('_PN_PAGE','Page');
-DEFINE('_PN_OF','of');
-DEFINE('_PN_START','Start');
-DEFINE('_PN_PREVIOUS','Prev');
-DEFINE('_PN_NEXT','Next');
-DEFINE('_PN_END','End');
-DEFINE('_PN_DISPLAY_NR','Display #');
-DEFINE('_PN_RESULTS','Results');
-
-/** emailfriend */
-DEFINE('_EMAIL_TITLE','E-mail a friend');
-DEFINE('_EMAIL_FRIEND','E-mail this to a friend.');
-DEFINE('_EMAIL_FRIEND_ADDR',"Your friend's E-mail:");
-DEFINE('_EMAIL_YOUR_NAME','Your Name:');
-DEFINE('_EMAIL_YOUR_MAIL','Your E-mail:');
-DEFINE('_SUBJECT_PROMPT',' Message subject:');
-DEFINE('_BUTTON_SUBMIT_MAIL','Send e-mail');
-DEFINE('_BUTTON_CANCEL','Cancel');
-DEFINE('_EMAIL_ERR_NOINFO','You must enter your valid e-mail and the valid e-mail to send to.');
-DEFINE('_EMAIL_MSG',' The following page from the "%s" website has been sent to you by %s ( %s ).
-
-You can access it at the following url:
-%s');
-DEFINE('_EMAIL_INFO','Item sent by');
-DEFINE('_EMAIL_SENT','This item has been sent to');
-DEFINE('_PROMPT_CLOSE','Close Window');
-
-/** classes/html/content.php */
-DEFINE('_AUTHOR_BY', ' Contributed by');
-DEFINE('_WRITTEN_BY', ' Written by');
-DEFINE('_LAST_UPDATED', 'Last Updated');
-DEFINE('_BACK','[ Back ]');
-DEFINE('_LEGEND','Legend');
-DEFINE('_DATE','Date');
-DEFINE('_ORDER_DROPDOWN','Order');
-DEFINE('_HEADER_TITLE','Item Title');
-DEFINE('_HEADER_AUTHOR','Author');
-DEFINE('_HEADER_SUBMITTED','Submitted');
-DEFINE('_HEADER_HITS','Hits');
-DEFINE('_E_EDIT','Edit');
-DEFINE('_E_ADD','Add');
-DEFINE('_E_WARNUSER','Please either Cancel or Save the current change');
-DEFINE('_E_WARNTITLE','Content item must have a title');
-DEFINE('_E_WARNTEXT','Content item must have intro text');
-DEFINE('_E_WARNCAT','Please select a category');
-DEFINE('_E_CONTENT','Content');
-DEFINE('_E_TITLE','Title:');
-DEFINE('_E_CATEGORY','Category:');
-DEFINE('_E_INTRO','Intro Text');
-DEFINE('_E_MAIN','Main Text');
-DEFINE('_E_MOSIMAGE','INSERT {mosimage}');
-DEFINE('_E_IMAGES','Images');
-DEFINE('_E_GALLERY_IMAGES','Gallery Images');
-DEFINE('_E_CONTENT_IMAGES','Content Images');
-DEFINE('_E_EDIT_IMAGE','Edit Image');
-DEFINE('_E_INSERT','Insert');
-DEFINE('_E_UP','Up');
-DEFINE('_E_DOWN','Down');
-DEFINE('_E_REMOVE','Remove');
-DEFINE('_E_SOURCE','Source:');
-DEFINE('_E_ALIGN','Align:');
-DEFINE('_E_ALT','Alt Text:');
-DEFINE('_E_BORDER','Border:');
-DEFINE('_E_CAPTION','Caption');
-DEFINE('_E_APPLY','Apply');
-DEFINE('_E_PUBLISHING','Publishing');
-DEFINE('_E_STATE','State:');
-DEFINE('_E_AUTHOR_ALIAS','Author Alias:');
-DEFINE('_E_ACCESS_LEVEL','Access Level:');
-DEFINE('_E_ORDERING','Ordering:');
-DEFINE('_E_START_PUB','Start Publishing:');
-DEFINE('_E_FINISH_PUB','Finish Publishing:');
-DEFINE('_E_SHOW_FP','Show on Front Page:');
-DEFINE('_E_HIDE_TITLE','Hide Item Title:');
-DEFINE('_E_METADATA','Metadata');
-DEFINE('_E_M_DESC','Description:');
-DEFINE('_E_M_KEY','Keywords:');
-DEFINE('_E_SUBJECT','Subject:');
-DEFINE('_E_EXPIRES','Expiry Date:');
-DEFINE('_E_VERSION','Version:');
-DEFINE('_E_ABOUT','About');
-DEFINE('_E_CREATED','Created:');
-DEFINE('_E_LAST_MOD','Last Modified:');
-DEFINE('_E_HITS','Hits:');
-DEFINE('_E_SAVE','Save');
-DEFINE('_E_CANCEL','Cancel');
-DEFINE('_E_REGISTERED','Registered Users Only');
-DEFINE('_E_ITEM_INFO','Item Information');
-DEFINE('_E_ITEM_SAVED','Item succesfully saved.');
-DEFINE('_ITEM_PREVIOUS','&lt; Prev');
-DEFINE('_ITEM_NEXT','Next &gt;');
-
-
-/** content.php */
-DEFINE('_SECTION_ARCHIVE_EMPTY','There are currently no Archived Entries for this Section, please come back later');
-DEFINE('_CATEGORY_ARCHIVE_EMPTY','There are currently no Archived Entries for this Category, please come back later');
-DEFINE('_HEADER_SECTION_ARCHIVE','Section Archives');
-DEFINE('_HEADER_CATEGORY_ARCHIVE','Category Archives');
-DEFINE('_ARCHIVE_SEARCH_FAILURE','There are no Archived entries for %s %s');	// values are month then year
-DEFINE('_ARCHIVE_SEARCH_SUCCESS','Here are the Archived entries for %s %s');	// values are month then year
-DEFINE('_FILTER','Filter');
-DEFINE('_ORDER_DROPDOWN_DA','Date asc');
-DEFINE('_ORDER_DROPDOWN_DD','Date desc');
-DEFINE('_ORDER_DROPDOWN_TA','Title asc');
-DEFINE('_ORDER_DROPDOWN_TD','Title desc');
-DEFINE('_ORDER_DROPDOWN_HA','Hits asc');
-DEFINE('_ORDER_DROPDOWN_HD','Hits desc');
-DEFINE('_ORDER_DROPDOWN_AUA','Author asc');
-DEFINE('_ORDER_DROPDOWN_AUD','Author desc');
-DEFINE('_ORDER_DROPDOWN_O','Ordering');
-
-/** poll.php */
-DEFINE('_ALERT_ENABLED','Cookies must be enabled!');
-DEFINE('_ALREADY_VOTE','You already voted for this poll today!');
-DEFINE('_NO_SELECTION','No selection has been made, please try again');
-DEFINE('_THANKS','Thanks for your vote!');
-DEFINE('_SELECT_POLL','Select Poll from the list');
-
-/** classes/html/poll.php */
-DEFINE('_JAN','January');
-DEFINE('_FEB','February');
-DEFINE('_MAR','March');
-DEFINE('_APR','April');
-DEFINE('_MAY','May');
-DEFINE('_JUN','June');
-DEFINE('_JUL','July');
-DEFINE('_AUG','August');
-DEFINE('_SEP','September');
-DEFINE('_OCT','October');
-DEFINE('_NOV','November');
-DEFINE('_DEC','December');
-DEFINE('_POLL_TITLE','Poll - Results');
-DEFINE('_SURVEY_TITLE','Poll Title:');
-DEFINE('_NUM_VOTERS','Number of Voters');
-DEFINE('_FIRST_VOTE','First Vote');
-DEFINE('_LAST_VOTE','Last Vote');
-DEFINE('_SEL_POLL','Select Poll:');
-DEFINE('_NO_RESULTS','There are no results for this poll.');
-
-/** registration.php */
-DEFINE('_ERROR_PASS','Sorry, no corresponding user was found');
-DEFINE('_NEWPASS_MSG','The user account $checkusername has this email associated with it.\n'
-.'A web user from $mosConfig_live_site has just requested that a new password be sent.\n\n'
-.' Your New Password is: $newpass\n\nIf you didn\'t ask for this, don\'t worry.'
-.' You are seeing this message, not them. If this was an error just login with your'
-.' new password and then change your password to what you would like it to be.');
-DEFINE('_NEWPASS_SUB','$_sitename :: New password for - $checkusername');
-DEFINE('_NEWPASS_SENT','New User Password created and sent!');
-DEFINE('_REGWARN_NAME','Please enter your name.');
-DEFINE('_REGWARN_UNAME','Please enter a user name.');
-DEFINE('_REGWARN_MAIL','Please enter a valid e-mail address.');
-DEFINE('_REGWARN_PASS','Please enter a valid password.  No spaces, more than 6 characters and contain 0-9,a-z,A-Z');
-DEFINE('_REGWARN_VPASS1','Please verify the password.');
-DEFINE('_REGWARN_VPASS2','Password and verification do not match, please try again.');
-DEFINE('_REGWARN_INUSE','This username/password already in use. Please try another.');
-DEFINE('_REGWARN_EMAIL_INUSE', 'This e-mail is already registered. If you forgot the password click on "Lost your Password" and new password will be sent to you.');
-DEFINE('_SEND_SUB','Account details for %s at %s');
-DEFINE('_USEND_MSG_ACTIVATE', 'Hello %s,
-
-Thank you for registering at %s. Your account is created and must be activated before you can use it.
-To activate the account click on the following link or copy-paste it in your browser:
-%s
-
-After activation you may login to %s using the following username and password:
-
-Username - %s
-Password - %s');
-DEFINE('_USEND_MSG', "Hello %s,
-
-Thank you for registering at %s.
-
-You may now login to %s using the username and password you registered with.");
-DEFINE('_USEND_MSG_NOPASS','Hello $name,\n\nYou have been added as a user to $mosConfig_live_site.\n'
-.'You may login to $mosConfig_live_site with the username and password you registered with.\n\n'
-.'Please do not respond to this message as it is automatically generated and is for information purposes only\n');
-DEFINE('_ASEND_MSG','Hello %s,
-
-A new user has registered at %s.
-This email contains their details:
-
-Name - %s
-e-mail - %s
-Username - %s
-
-Please do not respond to this message as it is automatically generated and is for information purposes only');
-DEFINE('_REG_COMPLETE_NOPASS','<div class="componentheading">Registration Complete!</div><br />&nbsp;&nbsp;'
-.'You may now login.<br />&nbsp;&nbsp;');
-DEFINE('_REG_COMPLETE', '<div class="componentheading">Registration Complete!</div><br />You may now login.');
-DEFINE('_REG_COMPLETE_ACTIVATE', '<div class="componentheading">Registration Complete!</div><br />Your account has been created and activation link has been sent to the e-mail address you entered. Note that you must activate the account by clicking on the activation link when you get the e-mail before you can login.');
-DEFINE('_REG_ACTIVATE_COMPLETE', '<div class="componentheading">Activation Complete!</div><br />Your account has been successfully activated. You can now login using the username and password you choose during the registration.');
-DEFINE('_REG_ACTIVATE_NOT_FOUND', '<div class="componentheading">Invalid Activation Link!</div><br />There is no such account in our database or the account has already been activated.');
-
-/** classes/html/registration.php */
-DEFINE('_PROMPT_PASSWORD','Lost your Password?');
-DEFINE('_NEW_PASS_DESC','Please enter your Username and e-mail address then click on the Send Password button.<br />'
-.'You will receive a new password shortly.  Use this new password to access the site.');
-DEFINE('_PROMPT_UNAME','Username:');
-DEFINE('_PROMPT_EMAIL','E-mail Address:');
-DEFINE('_BUTTON_SEND_PASS','Send Password');
-DEFINE('_REGISTER_TITLE','Registration');
-DEFINE('_REGISTER_NAME','Name:');
-DEFINE('_REGISTER_UNAME','Username:');
-DEFINE('_REGISTER_EMAIL','E-mail:');
-DEFINE('_REGISTER_PASS','Password:');
-DEFINE('_REGISTER_VPASS','Verify Password:');
-DEFINE('_REGISTER_REQUIRED','Fields marked with an asterisk (*) are required.');
-DEFINE('_BUTTON_SEND_REG','Send Registration');
-DEFINE('_SENDING_PASSWORD','Your password will be sent to the above e-mail address.<br />Once you have received your'
-.' new password you can login in and change it.');
-
-/** classes/html/search.php */
-DEFINE('_SEARCH_TITLE','Search');
-DEFINE('_PROMPT_KEYWORD','Search Keyword');
-DEFINE('_SEARCH_MATCHES','returned %d matches');
-DEFINE('_CONCLUSION','Total $totalRows results found.  Search for <b>$searchword</b> with');
-DEFINE('_NOKEYWORD','No results were found');
-DEFINE('_IGNOREKEYWORD','One or more common words were ignored in the search');
-DEFINE('_SEARCH_ANYWORDS','Any words');
-DEFINE('_SEARCH_ALLWORDS','All words');
-DEFINE('_SEARCH_PHRASE','Exact phrase');
-DEFINE('_SEARCH_NEWEST','Newest first');
-DEFINE('_SEARCH_OLDEST','Oldest first');
-DEFINE('_SEARCH_POPULAR','Most popular');
-DEFINE('_SEARCH_ALPHABETICAL','Alphabetical');
-DEFINE('_SEARCH_CATEGORY','Section/Category');
-
-/** templates/*.php */
-DEFINE('_ISO','charset=iso-8859-1');
-DEFINE('_DATE_FORMAT','l, F d Y');  //Uses PHP's DATE Command Format - Depreciated
-/**
-* Modify this line to reflect how you want the date to appear in your site
-*
-*e.g. DEFINE("_DATE_FORMAT_LC","%A, %d %B %Y %H:%M"); //Uses PHP's strftime Command Format
-*/
-DEFINE('_DATE_FORMAT_LC',"%A, %d %B %Y"); //Uses PHP's strftime Command Format
-DEFINE('_DATE_FORMAT_LC2',"%A, %d %B %Y %H:%M");
-DEFINE('_SEARCH_BOX','search...');
-DEFINE('_NEWSFLASH_BOX','Newsflash!');
-DEFINE('_MAINMENU_BOX','Main Menu');
-
-/** classes/html/usermenu.php */
-DEFINE('_UMENU_TITLE','User Menu');
-DEFINE('_HI','Hi, ');
-
-/** user.php */
-DEFINE('_SAVE_ERR','Please complete all the fields.');
-DEFINE('_THANK_SUB','Thanks for your submission. Your submission will now be reviewed before being posted to the site.');
-DEFINE('_UP_SIZE','You cannot upload files greater than 15kb in size.');
-DEFINE('_UP_EXISTS','Image $userfile_name already exists. Please rename the file and try again.');
-DEFINE('_UP_COPY_FAIL','Failed to copy');
-DEFINE('_UP_TYPE_WARN','You may only upload a gif, or jpg image.');
-DEFINE('_MAIL_SUB','User Submitted');
-DEFINE('_MAIL_MSG','Hello $adminName,\n\n\nA user submitted $type:\n [ $title ]\n has been just been submitted by user:\n [ $author ]\n'
-.' for $mosConfig_live_site.\n\n\n\n'
-.'Please go to $mosConfig_live_site/administrator to view and approve this $type.\n\n'
-.'Please do not respond to this message as it is automatically generated and is for information purposes only\n');
-DEFINE('_PASS_VERR1','If changing your password please enter the password again to verify.');
-DEFINE('_PASS_VERR2','If changing your password please make sure the password and verification match.');
-DEFINE('_UNAME_INUSE','This username already in use.');
-DEFINE('_UPDATE','Update');
-DEFINE('_USER_DETAILS_SAVE','Your settings have been saved.');
-DEFINE('_USER_LOGIN','User Login');
-
-/** components/com_user */
-DEFINE('_EDIT_TITLE','Edit Your Details');
-DEFINE('_YOUR_NAME','Your Name:');
-DEFINE('_EMAIL','e-mail:');
-DEFINE('_UNAME','User Name:');
-DEFINE('_PASS','Password:');
-DEFINE('_VPASS','Verify Password:');
-DEFINE('_SUBMIT_SUCCESS','Submission Success!');
-DEFINE('_SUBMIT_SUCCESS_DESC','Your item has been successfully submitted to our administrators. It will be reviewed before being published on this site.');
-DEFINE('_WELCOME','Welcome!');
-DEFINE('_WELCOME_DESC','Welcome to the user section of our site');
-DEFINE('_CONF_CHECKED_IN','Checked out items have now been all checked in');
-DEFINE('_CHECK_TABLE','Checking table');
-DEFINE('_CHECKED_IN','Checked in ');
-DEFINE('_CHECKED_IN_ITEMS',' items');
-DEFINE('_PASS_MATCH','Passwords do not match');
-
-/** components/com_banners */
-DEFINE('_BNR_CLIENT_NAME','You must select a name for the client.');
-DEFINE('_BNR_CONTACT','You must select a contact for the client.');
-DEFINE('_BNR_VALID_EMAIL','You must select a valid email for the client.');
-DEFINE('_BNR_CLIENT','You must select a client,');
-DEFINE('_BNR_NAME','You must select a name for the banner.');
-DEFINE('_BNR_IMAGE','You must select a image for the banner.');
-DEFINE('_BNR_URL','You must select a URL/Custom banner code for the banner.');
-
-/** components/com_login */
-DEFINE('_ALREADY_LOGIN','You are already logged in!');
-DEFINE('_LOGOUT','Click here to logout');
-DEFINE('_LOGIN_TEXT','Use the login and password fields opposite to gain full access');
-DEFINE('_LOGIN_SUCCESS','You have succesfully Logged In');
-DEFINE('_LOGOUT_SUCCESS','You have successfully Logged Out');
-DEFINE('_LOGIN_DESCRIPTION','To access the Private area of this site please Login');
-DEFINE('_LOGOUT_DESCRIPTION','You are currently Logged in to the private area of this site');
-
-
-/** components/com_weblinks */
-DEFINE('_WEBLINKS_TITLE','Web Links');
-DEFINE('_WEBLINKS_DESC','We are regularly out on the web. When we find a great site we list'
-.' it here for you to enjoy.  <br />From the list below choose one of our weblink topics, then select a URL to visit.');
-DEFINE('_HEADER_TITLE_WEBLINKS','Web Link');
-DEFINE('_SECTION','Section:');
-DEFINE('_SUBMIT_LINK','Submit A Web Link');
-DEFINE('_URL','URL:');
-DEFINE('_URL_DESC','Description:');
-DEFINE('_NAME','Name:');
-DEFINE('_WEBLINK_EXIST','There is a weblink already with that name, please try again.');
-DEFINE('_WEBLINK_TITLE','Your Weblink must contain a title.');
-
-/** components/com_newfeeds */
-DEFINE('_FEED_NAME','Feed Name');
-DEFINE('_FEED_ARTICLES','# Articles');
-DEFINE('_FEED_LINK','Feed Link');
-
-/** whos_online.php */
-DEFINE('_WE_HAVE', 'We have ');
-DEFINE('_AND', ' and ');
-DEFINE('_GUEST_COUNT','$guest_array guest');
-DEFINE('_GUESTS_COUNT','$guest_array guests');
-DEFINE('_MEMBER_COUNT','$user_array member');
-DEFINE('_MEMBERS_COUNT','$user_array members');
-DEFINE('_ONLINE',' online');
-DEFINE('_NONE','No Users Online');
-
-/** modules/mod_stats.php */
-DEFINE('_TIME_STAT','Time');
-DEFINE('_MEMBERS_STAT','Members');
-DEFINE('_HITS_STAT','Hits');
-DEFINE('_NEWS_STAT','News');
-DEFINE('_LINKS_STAT','WebLinks');
-DEFINE('_VISITORS','Visitors');
-
-/** /adminstrator/components/com_menus/admin.menus.html.php */
-DEFINE('_MAINMENU_HOME','* The 1st Published item in this menu [mainmenu] is the default `Homepage` for the site *');
-DEFINE('_MAINMENU_DEL','* You cannot `delete` this menu as it is required for the proper operation of mambo *');
-DEFINE('_MENU_GROUP','* Some `Menu Types` appear in more than one group *');
-
-
-/** administrators/components/com_users */
-DEFINE('_NEW_USER_MESSAGE_SUBJECT', 'New User Details' );
-DEFINE('_NEW_USER_MESSAGE', 'Hello %s,
-
-
-You have been added as a user to %s by an Administrator.
-
-This email contains your username and password to log into the %s
-
-Username - %s
-Password - %s
-
-
-Please do not respond to this message as it is automatically generated and is for information purposes only');
-
-/** administrators/components/com_massmail */
-DEFINE('_MASSMAIL_MESSAGE', "This is an email from '%s'
-
-Message:
-" );
-
+<?php
+/**
+* @version $Id: english.php,v 1.2 2005/11/24 04:44:09 cauld Exp $
+* @package Mambo
+* @copyright (C) 2000 - 2005 Miro International Pty Ltd
+* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
+* Mambo is Free Software
+*/
+
+/** ensure this file is being included by a parent file */
+defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
+
+/** common */
+DEFINE('_LANGUAGE','en');
+DEFINE('_NOT_AUTH','You are not authorized to view this resource.');
+DEFINE('_DO_LOGIN','You need to login.');
+DEFINE('_VALID_AZ09',"Please enter a valid %s.  No spaces, more than %d characters and containing only the characters 0-9,a-z, or A-Z");
+DEFINE('_CMN_YES','Yes');
+DEFINE('_CMN_NO','No');
+DEFINE('_CMN_SHOW','Show');
+DEFINE('_CMN_HIDE','Hide');
+
+DEFINE('_CMN_NAME','Name');
+DEFINE('_CMN_DESCRIPTION','Description');
+DEFINE('_CMN_SAVE','Save');
+DEFINE('_CMN_CANCEL','Cancel');
+DEFINE('_CMN_PRINT','Print');
+DEFINE('_CMN_PDF','PDF');
+DEFINE('_CMN_EMAIL','E-mail');
+DEFINE('_ICON_SEP','|');
+DEFINE('_CMN_PARENT','Parent');
+DEFINE('_CMN_ORDERING','Ordering');
+DEFINE('_CMN_ACCESS','Access Level');
+DEFINE('_CMN_SELECT','Select');
+
+DEFINE('_CMN_NEXT','Next');
+DEFINE('_CMN_NEXT_ARROW'," &gt;&gt;");
+DEFINE('_CMN_PREV','Previous');
+DEFINE('_CMN_PREV_ARROW',"&lt;&lt; ");
+
+DEFINE('_CMN_SORT_NONE','No Sorting');
+DEFINE('_CMN_SORT_ASC','Sort Ascending');
+DEFINE('_CMN_SORT_DESC','Sort Descending');
+
+DEFINE('_CMN_NEW','New');
+DEFINE('_CMN_NONE','None');
+DEFINE('_CMN_LEFT','Left');
+DEFINE('_CMN_RIGHT','Right');
+DEFINE('_CMN_CENTER','Center');
+DEFINE('_CMN_ARCHIVE','Archive');
+DEFINE('_CMN_UNARCHIVE','Unarchive');
+DEFINE('_CMN_TOP','Top');
+DEFINE('_CMN_BOTTOM','Bottom');
+
+DEFINE('_CMN_PUBLISHED','Published');
+DEFINE('_CMN_UNPUBLISHED','Unpublished');
+
+DEFINE('_CMN_EDIT_HTML','Edit HTML');
+DEFINE('_CMN_EDIT_CSS','Edit CSS');
+
+DEFINE('_CMN_DELETE','Delete');
+
+DEFINE('_CMN_FOLDER','Folder');
+DEFINE('_CMN_SUBFOLDER','Sub-folder');
+DEFINE('_CMN_OPTIONAL','Optional');
+DEFINE('_CMN_REQUIRED','Required');
+
+DEFINE('_CMN_CONTINUE','Continue');
+
+DEFINE('_CMN_NEW_ITEM_LAST','New items default to the last place. Ordering can be changed after this item is saved.');
+DEFINE('_CMN_NEW_ITEM_FIRST','New items default to the first place. Ordering can be changed after this item is saved.');
+DEFINE('_LOGIN_INCOMPLETE','Please complete the username and password fields.');
+DEFINE('_LOGIN_BLOCKED','Your login has been blocked. Please contact the administrator.');
+DEFINE('_LOGIN_INCORRECT','Incorrect username or password. Please try again.');
+DEFINE('_LOGIN_NOADMINS','You cannot login. There are no administrators set up.');
+DEFINE('_CMN_JAVASCRIPT','!Warning! Javascript must be enabled for proper operation.');
+
+DEFINE('_NEW_MESSAGE','A new private message has arrived');
+DEFINE('_MESSAGE_FAILED','The user has locked their mailbox. Message failed.');
+
+DEFINE('_CMN_IFRAMES', 'This option will not work correctly.  Unfortunately, your browser does not support Inline Frames');
+
+DEFINE('_INSTALL_WARN','For your security please completely remove the installation directory including all files and sub-folders  - then refresh this page');
+DEFINE('_TEMPLATE_WARN','<font color=\"red\"><b>Template File Not Found! Looking for template:</b></font>');
+DEFINE('_NO_PARAMS','There are no Parameters for this item');
+DEFINE('_HANDLER','Handler not defined for type');
+
+/** mambots */
+DEFINE('_TOC_JUMPTO','Article Index');
+
+/**  content */
+DEFINE('_READ_MORE','Read more...');
+DEFINE('_READ_MORE_REGISTER','Register to read more...');
+DEFINE('_MORE','More...');
+DEFINE('_ON_NEW_CONTENT', "A new content item has been submitted by [ %s ]  titled [ %s ]  from section [ %s ]  and category  [ %s ]" );
+DEFINE('_SEL_CATEGORY','- All Categories -');
+DEFINE('_SEL_SECTION','- All Sections -');
+DEFINE('_SEL_AUTHOR','- All Authors -');
+DEFINE('_SEL_POSITION','- All Positions -');
+DEFINE('_SEL_TYPE','- All Types -');
+DEFINE('_EMPTY_CATEGORY','This Category is currently empty');
+DEFINE('_EMPTY_BLOG','There are no items to display');
+DEFINE('_NOT_EXIST','The page you are trying to access does not exist.<br />Please select a page from the main menu.');
+
+/** classes/html/modules.php */
+DEFINE('_BUTTON_VOTE','Vote');
+DEFINE('_BUTTON_RESULTS','Results');
+DEFINE('_USERNAME','Username');
+DEFINE('_LOST_PASSWORD','Password Reminder');
+DEFINE('_PASSWORD','Password');
+DEFINE('_BUTTON_LOGIN','Login');
+DEFINE('_BUTTON_LOGOUT','Logout');
+DEFINE('_NO_ACCOUNT','No account yet?');
+DEFINE('_CREATE_ACCOUNT','Create one');
+DEFINE('_VOTE_POOR','Poor');
+DEFINE('_VOTE_BEST','Best');
+DEFINE('_USER_RATING','User Rating');
+DEFINE('_RATE_BUTTON','Rate');
+DEFINE('_REMEMBER_ME','Remember me');
+
+/** contact.php */
+DEFINE('_ENQUIRY','Enquiry');
+DEFINE('_ENQUIRY_TEXT','This is an enquiry e-mail via %s from:');
+DEFINE('_COPY_TEXT','The following is a copy of the message you sent to %s via %s ');
+DEFINE('_COPY_SUBJECT','Copy of: ');
+DEFINE('_THANK_MESSAGE','Thank you for your e-mail');
+DEFINE('_CLOAKING','This email address is being protected from spam bots, you need Javascript enabled to view it');
+DEFINE('_CONTACT_HEADER_NAME','Name');
+DEFINE('_CONTACT_HEADER_POS','Position');
+DEFINE('_CONTACT_HEADER_EMAIL','Email');
+DEFINE('_CONTACT_HEADER_PHONE','Phone');
+DEFINE('_CONTACT_HEADER_FAX','Fax');
+DEFINE('_CONTACTS_DESC','The Contact list for this Website.');
+
+/** classes/html/contact.php */
+DEFINE('_CONTACT_TITLE','Contact');
+DEFINE('_EMAIL_DESCRIPTION','Send an Email to this Contact:');
+DEFINE('_NAME_PROMPT',' Enter your name:');
+DEFINE('_EMAIL_PROMPT',' E-mail address:');
+DEFINE('_MESSAGE_PROMPT',' Enter your message:');
+DEFINE('_SEND_BUTTON','Send');
+DEFINE('_CONTACT_FORM_NC','Please make sure the form is complete and valid.');
+DEFINE('_CONTACT_TELEPHONE','Telephone: ');
+DEFINE('_CONTACT_MOBILE','Mobile: ');
+DEFINE('_CONTACT_FAX','Fax: ');
+DEFINE('_CONTACT_EMAIL','Email: ');
+DEFINE('_CONTACT_NAME','Name: ');
+DEFINE('_CONTACT_POSITION','Position: ');
+DEFINE('_CONTACT_ADDRESS','Address: ');
+DEFINE('_CONTACT_MISC','Information: ');
+DEFINE('_CONTACT_SEL','Select Contact:');
+DEFINE('_CONTACT_NONE','There are no Contact Details listed.');
+DEFINE('_EMAIL_A_COPY','Email a copy of this message to your own address');
+DEFINE('_CONTACT_DOWNLOAD_AS','Download information as a');
+DEFINE('_VCARD','VCard');
+
+/** pageNavigation */
+DEFINE('_PN_PAGE','Page');
+DEFINE('_PN_OF','of');
+DEFINE('_PN_START','Start');
+DEFINE('_PN_PREVIOUS','Previous');
+DEFINE('_PN_NEXT','Next');
+DEFINE('_PN_END','End');
+DEFINE('_PN_DISPLAY_NR','Display #');
+DEFINE('_PN_RESULTS','Results');
+
+/** emailfriend */
+DEFINE('_EMAIL_TITLE','E-mail a friend');
+DEFINE('_EMAIL_FRIEND','E-mail this to a friend.');
+DEFINE('_EMAIL_FRIEND_ADDR',"Your friend's E-mail:");
+DEFINE('_EMAIL_YOUR_NAME','Your Name:');
+DEFINE('_EMAIL_YOUR_MAIL','Your E-mail:');
+DEFINE('_SUBJECT_PROMPT',' Message subject:');
+DEFINE('_BUTTON_SUBMIT_MAIL','Send e-mail');
+DEFINE('_BUTTON_CANCEL','Cancel');
+DEFINE('_EMAIL_ERR_NOINFO','You must enter valid e-mail addresses for both yourself and your recipient.');
+DEFINE('_EMAIL_MSG',' The following page from the "%s" website has been sent to you by %s ( %s ).
+
+You can access it at the following url:
+%s');
+DEFINE('_EMAIL_INFO','Item sent by');
+DEFINE('_EMAIL_SENT','This item has been sent to');
+DEFINE('_PROMPT_CLOSE','Close Window');
+
+/** classes/html/content.php */
+DEFINE('_AUTHOR_BY', ' Contributed by');
+DEFINE('_WRITTEN_BY', ' Written by');
+DEFINE('_LAST_UPDATED', 'Last Updated');
+DEFINE('_BACK','[ Back ]');
+DEFINE('_LEGEND','Legend');
+DEFINE('_DATE','Date');
+DEFINE('_ORDER_DROPDOWN','Order');
+DEFINE('_HEADER_TITLE','Item Title');
+DEFINE('_HEADER_AUTHOR','Author');
+DEFINE('_HEADER_SUBMITTED','Submitted');
+DEFINE('_HEADER_HITS','Hits');
+DEFINE('_E_EDIT','Edit');
+DEFINE('_E_ADD','Add');
+DEFINE('_E_WARNUSER','Please either Cancel or Save the current change');
+DEFINE('_E_WARNTITLE','Content item must have a title');
+DEFINE('_E_WARNTEXT','Content item must have intro text');
+DEFINE('_E_WARNCAT','Please select a category');
+DEFINE('_E_CONTENT','Content');
+DEFINE('_E_TITLE','Title:');
+DEFINE('_E_CATEGORY','Category:');
+DEFINE('_E_INTRO','Intro Text');
+DEFINE('_E_MAIN','Main Text');
+DEFINE('_E_MOSIMAGE','INSERT {mosimage}');
+DEFINE('_E_IMAGES','Images');
+DEFINE('_E_GALLERY_IMAGES','Gallery Images');
+DEFINE('_E_CONTENT_IMAGES','Content Images');
+DEFINE('_E_EDIT_IMAGE','Edit Image');
+DEFINE('_E_INSERT','Insert');
+DEFINE('_E_UP','Up');
+DEFINE('_E_DOWN','Down');
+DEFINE('_E_REMOVE','Remove');
+DEFINE('_E_SOURCE','Source:');
+DEFINE('_E_ALIGN','Align:');
+DEFINE('_E_ALT','Alt Text:');
+DEFINE('_E_BORDER','Border:');
+DEFINE('_E_CAPTION','Caption');
+DEFINE('_E_APPLY','Apply');
+DEFINE('_E_PUBLISHING','Publishing');
+DEFINE('_E_STATE','State:');
+DEFINE('_E_AUTHOR_ALIAS','Author Alias:');
+DEFINE('_E_ACCESS_LEVEL','Access Level:');
+DEFINE('_E_ORDERING','Ordering:');
+DEFINE('_E_START_PUB','Start Publishing:');
+DEFINE('_E_FINISH_PUB','Finish Publishing:');
+DEFINE('_E_SHOW_FP','Show on Front Page:');
+DEFINE('_E_HIDE_TITLE','Hide Item Title:');
+DEFINE('_E_METADATA','Metadata');
+DEFINE('_E_M_DESC','Description:');
+DEFINE('_E_M_KEY','Keywords:');
+DEFINE('_E_SUBJECT','Subject:');
+DEFINE('_E_EXPIRES','Expiry Date:');
+DEFINE('_E_VERSION','Version:');
+DEFINE('_E_ABOUT','About');
+DEFINE('_E_CREATED','Created:');
+DEFINE('_E_LAST_MOD','Last Modified:');
+DEFINE('_E_HITS','Hits:');
+DEFINE('_E_SAVE','Save');
+DEFINE('_E_CANCEL','Cancel');
+DEFINE('_E_REGISTERED','Registered Users Only');
+DEFINE('_E_ITEM_INFO','Item Information');
+DEFINE('_E_ITEM_SAVED','Item saved successfully.');
+DEFINE('_ITEM_PREVIOUS','&lt; Previous');
+DEFINE('_ITEM_NEXT','Next &gt;');
+
+
+/** content.php */
+DEFINE('_SECTION_ARCHIVE_EMPTY','There are currently no Archived Entries for this Section');
+DEFINE('_CATEGORY_ARCHIVE_EMPTY','There are currently no Archived Entries for this Category');
+DEFINE('_HEADER_SECTION_ARCHIVE','Section Archives');
+DEFINE('_HEADER_CATEGORY_ARCHIVE','Category Archives');
+DEFINE('_ARCHIVE_SEARCH_FAILURE','There are no Archived entries for %s %s');	// values are month then year
+DEFINE('_ARCHIVE_SEARCH_SUCCESS','Here are the Archived entries for %s %s');	// values are month then year
+DEFINE('_FILTER','Filter');
+DEFINE('_ORDER_DROPDOWN_DA','Date asc');
+DEFINE('_ORDER_DROPDOWN_DD','Date desc');
+DEFINE('_ORDER_DROPDOWN_TA','Title asc');
+DEFINE('_ORDER_DROPDOWN_TD','Title desc');
+DEFINE('_ORDER_DROPDOWN_HA','Hits asc');
+DEFINE('_ORDER_DROPDOWN_HD','Hits desc');
+DEFINE('_ORDER_DROPDOWN_AUA','Author asc');
+DEFINE('_ORDER_DROPDOWN_AUD','Author desc');
+DEFINE('_ORDER_DROPDOWN_O','Ordering');
+
+/** poll.php */
+DEFINE('_ALERT_ENABLED','Cookies must be enabled!');
+DEFINE('_ALREADY_VOTE','You already voted for this poll today!');
+DEFINE('_NO_SELECTION','No selection has been made, please try again');
+DEFINE('_THANKS','Thanks for your vote!');
+DEFINE('_SELECT_POLL','Select Poll from the list');
+
+/** classes/html/poll.php */
+DEFINE('_JAN','January');
+DEFINE('_FEB','February');
+DEFINE('_MAR','March');
+DEFINE('_APR','April');
+DEFINE('_MAY','May');
+DEFINE('_JUN','June');
+DEFINE('_JUL','July');
+DEFINE('_AUG','August');
+DEFINE('_SEP','September');
+DEFINE('_OCT','October');
+DEFINE('_NOV','November');
+DEFINE('_DEC','December');
+DEFINE('_POLL_TITLE','Poll - Results');
+DEFINE('_SURVEY_TITLE','Poll Title:');
+DEFINE('_NUM_VOTERS','Number of Voters');
+DEFINE('_FIRST_VOTE','First Vote');
+DEFINE('_LAST_VOTE','Last Vote');
+DEFINE('_SEL_POLL','Select Poll:');
+DEFINE('_NO_RESULTS','There are no results for this poll.');
+
+/** registration.php */
+DEFINE('_ERROR_PASS','Sorry, no corresponding user was found');
+DEFINE('_NEWPASS_MSG','The user account $checkusername has this email associated with it.\n'
+.'A web user from $mosConfig_live_site has just requested that a new password be sent.\n\n'
+.' Your New Password is: $newpass\n\nIf you didn\'t ask for this, don\'t worry.'
+.' You are seeing this message, not them. If this was an error just login with your'
+.' new password and then change your password to what you would like it to be.');
+DEFINE('_NEWPASS_SUB','$_sitename :: New password for - $checkusername');
+DEFINE('_NEWPASS_SENT','New User Password created and sent!');
+DEFINE('_REGWARN_NAME','Please enter your name.');
+DEFINE('_REGWARN_UNAME','Please enter a user name.');
+DEFINE('_REGWARN_MAIL','Please enter a valid e-mail address.');
+DEFINE('_REGWARN_PASS','Please enter a valid password -- more than 6 characters with no spaces and containing only the characters 0-9, a-z, or A-Z');
+DEFINE('_REGWARN_VPASS1','Please verify the password.');
+DEFINE('_REGWARN_VPASS2','Password and verification do not match, please try again.');
+DEFINE('_REGWARN_INUSE','This username/password is already in use. Please try another.');
+DEFINE('_REGWARN_EMAIL_INUSE', 'This e-mail is already registered. If you forgot the password click on "Password Reminder" and new password will be sent to you.');
+DEFINE('_SEND_SUB','Account details for %s at %s');
+DEFINE('_USEND_MSG_ACTIVATE', 'Hello %s,
+
+Thank you for registering at %s. Your account has been created but, as a precaution, it must be activated by you before you can use it.
+To activate the account click on the following link or copy and paste it in your browser:
+%s
+
+After activation you may login to %s using the following username and password:
+
+Username - %s
+Password - %s');
+DEFINE('_USEND_MSG', "Hello %s,
+
+Thank you for registering at %s.
+
+You may now login to %s using the username and password you registered with.");
+DEFINE('_USEND_MSG_NOPASS','Hello $name,\n\nYou have been added as a user to $mosConfig_live_site.\n'
+.'You may login to $mosConfig_live_site with the username and password you registered with.\n\n'
+.'Please do not respond to this message as it is automatically generated and is for information purposes only\n');
+DEFINE('_ASEND_MSG','Hello %s,
+
+A new user has registered at %s.
+This email contains their details:
+
+Name - %s
+e-mail - %s
+Username - %s
+
+Please do not respond to this message as it is automatically generated and is for information purposes only');
+DEFINE('_REG_COMPLETE_NOPASS','<div class="componentheading">Registration Complete</div><br />&nbsp;&nbsp;'
+.'You may now login.<br />&nbsp;&nbsp;');
+DEFINE('_REG_COMPLETE', '<div class="componentheading">Registration Complete</div><br />You may now login.');
+DEFINE('_REG_COMPLETE_ACTIVATE', '<div class="componentheading">Registration Complete</div><br />Your account has been created and an activation link has been sent to the e-mail address you entered. Note that you must activate the account by clicking on the activation link before you can login.');
+DEFINE('_REG_ACTIVATE_COMPLETE', '<div class="componentheading">Activation Complete!</div><br />Your account has been activated successfully. You can now login using the username and password you chose during registration.');
+DEFINE('_REG_ACTIVATE_NOT_FOUND', '<div class="componentheading">Invalid Activation Link!</div><br />There is no such account in our database or the account has already been activated.');
+
+/** classes/html/registration.php */
+DEFINE('_PROMPT_PASSWORD','Lost your Password?');
+DEFINE('_NEW_PASS_DESC','Please enter your Username and e-mail address then click on the Send Password button.<br />'
+.'You will receive a new password shortly.  Use the new password to access the site.');
+DEFINE('_PROMPT_UNAME','Username:');
+DEFINE('_PROMPT_EMAIL','E-mail Address:');
+DEFINE('_BUTTON_SEND_PASS','Send Password');
+DEFINE('_REGISTER_TITLE','Registration');
+DEFINE('_REGISTER_NAME','Name:');
+DEFINE('_REGISTER_UNAME','Username:');
+DEFINE('_REGISTER_EMAIL','E-mail:');
+DEFINE('_REGISTER_PASS','Password:');
+DEFINE('_REGISTER_VPASS','Verify Password:');
+DEFINE('_REGISTER_REQUIRED','Fields marked with an asterisk (*) are required.');
+DEFINE('_BUTTON_SEND_REG','Send Registration');
+DEFINE('_SENDING_PASSWORD','Your password will be sent to the above e-mail address.<br />Once you have received your'
+.' new password you can login and change it, if you so desire.');
+
+/** classes/html/search.php */
+DEFINE('_SEARCH_TITLE','Search');
+DEFINE('_PROMPT_KEYWORD','Search Keyword');
+DEFINE('_SEARCH_MATCHES','returned %d matches');
+DEFINE('_CONCLUSION','Total $totalRows results found.  Search for <b>$searchword</b> with');
+DEFINE('_NOKEYWORD','No results were found');
+DEFINE('_IGNOREKEYWORD','One or more common words were ignored in the search');
+DEFINE('_SEARCH_ANYWORDS','Any words');
+DEFINE('_SEARCH_ALLWORDS','All words');
+DEFINE('_SEARCH_PHRASE','Exact phrase');
+DEFINE('_SEARCH_NEWEST','Newest first');
+DEFINE('_SEARCH_OLDEST','Oldest first');
+DEFINE('_SEARCH_POPULAR','Most popular');
+DEFINE('_SEARCH_ALPHABETICAL','Alphabetical');
+DEFINE('_SEARCH_CATEGORY','Section/Category');
+
+/** templates/*.php */
+DEFINE('_ISO','charset=iso-8859-1');
+DEFINE('_DATE_FORMAT','l, F d Y');  //Uses PHP's DATE Command Format - Depreciated
+/**
+* Modify this line to reflect how you want the date to appear in your site
+*
+*e.g. DEFINE("_DATE_FORMAT_LC","%A, %d %B %Y %H:%M"); //Uses PHP's strftime Command Format
+*/
+DEFINE('_DATE_FORMAT_LC',"%A, %d %B %Y"); //Uses PHP's strftime Command Format
+DEFINE('_DATE_FORMAT_LC2',"%A, %d %B %Y %H:%M");
+DEFINE('_SEARCH_BOX','search...');
+DEFINE('_NEWSFLASH_BOX','Newsflash!');
+DEFINE('_MAINMENU_BOX','Main Menu');
+
+/** classes/html/usermenu.php */
+DEFINE('_UMENU_TITLE','User Menu');
+DEFINE('_HI','Hi, ');
+
+/** user.php */
+DEFINE('_SAVE_ERR','Please complete all the fields.');
+DEFINE('_THANK_SUB','Thanks for your submission; it will be reviewed before being posted to the site.');
+DEFINE('_UP_SIZE','You cannot upload files greater than 15kb in size.');
+DEFINE('_UP_EXISTS','Image $userfile_name already exists. Please rename the file and try again.');
+DEFINE('_UP_COPY_FAIL','Failed to copy');
+DEFINE('_UP_TYPE_WARN','You may only upload a gif or jpg image.');
+DEFINE('_MAIL_SUB','User Submitted');
+DEFINE('_MAIL_MSG','Hello $adminName,\n\n\nA user submitted $type:\n [ $title ]\n has been just been submitted by user:\n [ $author ]\n'
+.' for $mosConfig_live_site.\n\n\n\n'
+.'Please go to $mosConfig_live_site/administrator to view and approve this $type.\n\n'
+.'Please do not respond to this message as it is automatically generated and is for information purposes only\n');
+DEFINE('_PASS_VERR1','If changing your password please enter the password again to verify.');
+DEFINE('_PASS_VERR2','If changing your password please make sure the password and verification match.');
+DEFINE('_UNAME_INUSE','This username already in use.');
+DEFINE('_UPDATE','Update');
+DEFINE('_USER_DETAILS_SAVE','Your settings have been saved.');
+DEFINE('_USER_LOGIN','User Login');
+
+/** components/com_user */
+DEFINE('_EDIT_TITLE','Edit Your Details');
+DEFINE('_YOUR_NAME','Your Name:');
+DEFINE('_EMAIL','e-mail:');
+DEFINE('_UNAME','User Name:');
+DEFINE('_PASS','Password:');
+DEFINE('_VPASS','Verify Password:');
+DEFINE('_SUBMIT_SUCCESS','Submission Success!');
+DEFINE('_SUBMIT_SUCCESS_DESC','Your item has been submitted to the site administrators. It will be reviewed before being published on the site.');
+DEFINE('_WELCOME','Welcome!');
+DEFINE('_WELCOME_DESC','Welcome to the user section of our site');
+DEFINE('_CONF_CHECKED_IN','All items checked out have now been checked in');
+DEFINE('_CHECK_TABLE','Checking table');
+DEFINE('_CHECKED_IN','Checked in ');
+DEFINE('_CHECKED_IN_ITEMS',' items');
+DEFINE('_PASS_MATCH','Passwords do not match');
+
+/** components/com_banners */
+DEFINE('_BNR_CLIENT_NAME','You must select a name for the client.');
+DEFINE('_BNR_CONTACT','You must select a contact for the client.');
+DEFINE('_BNR_VALID_EMAIL','You must select a valid email for the client.');
+DEFINE('_BNR_CLIENT','You must select a client,');
+DEFINE('_BNR_NAME','You must select a name for the banner.');
+DEFINE('_BNR_IMAGE','You must select a image for the banner.');
+DEFINE('_BNR_URL','You must select a URL/Custom banner code for the banner.');
+
+/** components/com_login */
+DEFINE('_ALREADY_LOGIN','You are already logged in!');
+DEFINE('_LOGOUT','Click here to logout');
+DEFINE('_LOGIN_TEXT','Use the login and password fields opposite to gain full access');
+DEFINE('_LOGIN_SUCCESS','You have Logged In succesfully');
+DEFINE('_LOGOUT_SUCCESS','You have Logged Out successfully ');
+DEFINE('_LOGIN_DESCRIPTION','To access the Private areas of this site please Login');
+DEFINE('_LOGOUT_DESCRIPTION','You are now Logged in to a private area of this site');
+
+
+/** components/com_weblinks */
+DEFINE('_WEBLINKS_TITLE','Web Links');
+DEFINE('_WEBLINKS_DESC','From the list below choose one of our web link categories, then select a URL to visit the site.');
+DEFINE('_HEADER_TITLE_WEBLINKS','Web Link');
+DEFINE('_SECTION','Section:');
+DEFINE('_SUBMIT_LINK','Submit A Web Link');
+DEFINE('_URL','URL:');
+DEFINE('_URL_DESC','Description:');
+DEFINE('_NAME','Name:');
+DEFINE('_WEBLINK_EXIST','There is already a web link that name, please try again.');
+DEFINE('_WEBLINK_TITLE','Your web link must be given a title.');
+
+/** components/com_newfeeds */
+DEFINE('_FEED_NAME','Feed Name');
+DEFINE('_FEED_ARTICLES','# Articles');
+DEFINE('_FEED_LINK','Feed Link');
+
+/** whos_online.php */
+DEFINE('_WE_HAVE', 'We have ');
+DEFINE('_AND', ' and ');
+DEFINE('_GUEST_COUNT','$guest_array guest');
+DEFINE('_GUESTS_COUNT','$guest_array guests');
+DEFINE('_MEMBER_COUNT','$user_array member');
+DEFINE('_MEMBERS_COUNT','$user_array members');
+DEFINE('_ONLINE',' online');
+DEFINE('_NONE','No Users Online');
+
+/** modules/mod_stats.php */
+DEFINE('_TIME_STAT','Time');
+DEFINE('_MEMBERS_STAT','Members');
+DEFINE('_HITS_STAT','Hits');
+DEFINE('_NEWS_STAT','News');
+DEFINE('_LINKS_STAT','WebLinks');
+DEFINE('_VISITORS','Visitors');
+
+/** /adminstrator/components/com_menus/admin.menus.html.php */
+DEFINE('_MAINMENU_HOME','* The 1st Published item in this menu [mainmenu] is the default `Homepage` for the site *');
+DEFINE('_MAINMENU_DEL','* You cannot `delete` this menu as it is required for the proper operation of Mambo *');
+DEFINE('_MENU_GROUP','* Some `Menu Types` appear in more than one group *');
+
+
+/** administrators/components/com_users */
+DEFINE('_NEW_USER_MESSAGE_SUBJECT', 'New User Details' );
+DEFINE('_NEW_USER_MESSAGE', 'Hello %s,
+
+
+You have been added as a user to %s by an Administrator.
+
+This email contains your username and password to log into the %s
+
+Username - %s
+Password - %s
+
+
+Please do not respond to this message as it is automatically generated and is for information purposes only');
+
+/** administrators/components/com_massmail */
+DEFINE('_MASSMAIL_MESSAGE', "This is an email from '%s'
+
+Message:
+" );
+
 ?>
\ No newline at end of file
diff -ruN 4.5.2.3/LICENSE 4.5.4/LICENSE
--- 4.5.2.3/LICENSE	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/LICENSE	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,340 @@
+GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff -ruN 4.5.2.3/mainbody.php 4.5.4/mainbody.php
--- 4.5.2.3/mainbody.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mainbody.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mainbody.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: mainbody.php,v 1.1 2005/07/22 01:57:42 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/content/geshi/geshi/css.php 4.5.4/mambots/content/geshi/geshi/css.php
--- 4.5.2.3/mambots/content/geshi/geshi/css.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/geshi/geshi/css.php	2006-08-01 01:34:25.000000000 -0500
@@ -7,7 +7,7 @@
  * Release Version: 1.0.3
  * CVS Revision Version: $Revision: 1.1 $
  * Date Started: 2004/06/18
- * Last Modified: $Date: 2004/12/17 08:01:42 $
+ * Last Modified: $Date: 2005/07/22 01:57:49 $
  *
  * CSS language file for GeSHi.
  *
diff -ruN 4.5.2.3/mambots/content/geshi/geshi/html4strict.php 4.5.4/mambots/content/geshi/geshi/html4strict.php
--- 4.5.2.3/mambots/content/geshi/geshi/html4strict.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/geshi/geshi/html4strict.php	2006-08-01 01:34:25.000000000 -0500
@@ -7,7 +7,7 @@
  * Release Version: 1.0.3
  * CVS Revision Version: $Revision: 1.1 $
  * Date Started: 2004/07/10
- * Last Modified: $Date: 2004/12/17 08:01:43 $
+ * Last Modified: $Date: 2005/07/22 01:57:49 $
  *
  * HTML 4.01 strict language file for GeSHi.
  *
diff -ruN 4.5.2.3/mambots/content/geshi/geshi/javascript.php 4.5.4/mambots/content/geshi/geshi/javascript.php
--- 4.5.2.3/mambots/content/geshi/geshi/javascript.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/geshi/geshi/javascript.php	2006-08-01 01:34:25.000000000 -0500
@@ -7,7 +7,7 @@
  * Release Version: 1.0.1
  * CVS Revision Version: $Revision: 1.1 $
  * Date Started: 2004/06/20
- * Last Modified: $Date: 2004/12/17 08:01:43 $
+ * Last Modified: $Date: 2005/07/22 01:57:49 $
  *
  * JavaScript language file for GeSHi.
  *
diff -ruN 4.5.2.3/mambots/content/geshi/geshi/php-brief.php 4.5.4/mambots/content/geshi/geshi/php-brief.php
--- 4.5.2.3/mambots/content/geshi/geshi/php-brief.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/geshi/geshi/php-brief.php	2006-08-01 01:34:25.000000000 -0500
@@ -7,7 +7,7 @@
  * Release Version: 1.0.3
  * CVS Revision Version: $Revision: 1.1 $
  * Date Started: 2004/06/02
- * Last Modified: $Date: 2004/12/17 08:01:44 $
+ * Last Modified: $Date: 2005/07/22 01:57:49 $
  *
  * PHP language file for GeSHi (brief version).
  *
diff -ruN 4.5.2.3/mambots/content/geshi/geshi/php.php 4.5.4/mambots/content/geshi/geshi/php.php
--- 4.5.2.3/mambots/content/geshi/geshi/php.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/geshi/geshi/php.php	2006-08-01 01:34:25.000000000 -0500
@@ -7,7 +7,7 @@
  * Release Version: 1.0.3
  * CVS Revision Version: $Revision: 1.1 $
  * Date Started: 2004/06/20
- * Last Modified: $Date: 2004/12/17 08:01:44 $
+ * Last Modified: $Date: 2005/07/22 01:57:50 $
  *
  * PHP language file for GeSHi.
  *
diff -ruN 4.5.2.3/mambots/content/geshi/geshi/sql.php 4.5.4/mambots/content/geshi/geshi/sql.php
--- 4.5.2.3/mambots/content/geshi/geshi/sql.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/geshi/geshi/sql.php	2006-08-01 01:34:25.000000000 -0500
@@ -7,7 +7,7 @@
  * Release Version: 1.0.3
  * CVS Revision Version: $Revision: 1.1 $
  * Date Started: 2004/06/04
- * Last Modified: $Date: 2004/12/17 08:01:45 $
+ * Last Modified: $Date: 2005/07/22 01:57:50 $
  *
  * SQL language file for GeSHi.
  *
diff -ruN 4.5.2.3/mambots/content/geshi/geshi/xml.php 4.5.4/mambots/content/geshi/geshi/xml.php
--- 4.5.2.3/mambots/content/geshi/geshi/xml.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/geshi/geshi/xml.php	2006-08-01 01:34:25.000000000 -0500
@@ -7,7 +7,7 @@
  * Release Version: 1.0.1
  * CVS Revision Version: $Revision: 1.1 $
  * Date Started: 2004/09/01
- * Last Modified: $Date: 2004/12/17 08:01:45 $
+ * Last Modified: $Date: 2005/07/22 01:57:50 $
  *
  * XML language file for GeSHi. Based on the idea/file by Christian Weiske
  *
diff -ruN 4.5.2.3/mambots/content/geshi/geshi.php 4.5.4/mambots/content/geshi/geshi.php
--- 4.5.2.3/mambots/content/geshi/geshi.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/geshi/geshi.php	2006-08-01 01:34:25.000000000 -0500
@@ -7,7 +7,7 @@
  * Release Version: 1.0.4
  * CVS Revision Version: $Revision: 1.1 $
  * Date Started: 2004/05/20
- * Last Modified: $Date: 2004/12/17 08:01:42 $
+ * Last Modified: $Date: 2005/07/22 01:57:49 $
  *
  * The GeSHi class for Generic Syntax Highlighting. Please refer to the documentation
  * at http://qbnz.com/highlighter/documentation.php for more information about how to
diff -ruN 4.5.2.3/mambots/content/geshi.php 4.5.4/mambots/content/geshi.php
--- 4.5.2.3/mambots/content/geshi.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/geshi.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: geshi.php,v 1.6 2005/01/06 01:13:30 eddieajau Exp $
+* @version $Id: geshi.php,v 1.1 2005/07/22 01:57:49 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/content/legacybots.php 4.5.4/mambots/content/legacybots.php
--- 4.5.2.3/mambots/content/legacybots.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/legacybots.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: legacybots.php,v 1.4 2005/01/06 01:13:30 eddieajau Exp $
+* @version $Id: legacybots.php,v 1.1 2005/07/22 01:57:49 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/content/moscode.php 4.5.4/mambots/content/moscode.php
--- 4.5.2.3/mambots/content/moscode.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/moscode.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: moscode.php,v 1.4 2005/01/06 01:13:30 eddieajau Exp $
+* @version $Id: moscode.php,v 1.1 2005/07/22 01:57:49 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/content/mosemailcloak.php 4.5.4/mambots/content/mosemailcloak.php
--- 4.5.2.3/mambots/content/mosemailcloak.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/mosemailcloak.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mosemailcloak.php,v 1.5 2005/01/12 07:07:50 stingrey Exp $
+* @version $Id: mosemailcloak.php,v 1.2 2005/07/22 03:30:14 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/content/mosimage.php 4.5.4/mambots/content/mosimage.php
--- 4.5.2.3/mambots/content/mosimage.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/mosimage.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mosimage.php,v 1.7 2005/02/16 15:09:25 rhuk Exp $
+* @version $Id: mosimage.php,v 1.2 2005/10/16 00:10:03 cauld Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -131,7 +131,7 @@
 			}
 			
 			// assemble the <image> tag
-			$image = '<img src="'. $mosConfig_live_site .'/images/stories/'. $attrib[0] .'"'. $size;
+			$image = '<img src="'. $mosConfig_live_site .'/images/stories/'. $attrib[0] .'" '. $size;
 			// no aligment variable - if caption detected
 			if ( !$attrib[4] ) {
 				$image .= $attrib[1] ? ' align="'. $attrib[1] .'"' : '';
diff -ruN 4.5.2.3/mambots/content/mosloadposition.php 4.5.4/mambots/content/mosloadposition.php
--- 4.5.2.3/mambots/content/mosloadposition.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/mosloadposition.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mosloadposition.php,v 1.4 2005/01/29 08:53:26 akede Exp $
+* @version $Id: mosloadposition.php,v 1.1 2005/07/22 01:57:49 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/content/mospaging.php 4.5.4/mambots/content/mospaging.php
--- 4.5.2.3/mambots/content/mospaging.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/mospaging.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mospaging.php,v 1.6 2005/02/04 21:13:48 saka Exp $
+* @version $Id: mospaging.php,v 1.1 2005/07/22 01:57:49 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/content/mossef.php 4.5.4/mambots/content/mossef.php
--- 4.5.2.3/mambots/content/mossef.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/mossef.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mossef.php,v 1.4 2005/01/06 01:13:30 eddieajau Exp $
+* @version $Id: mossef.php,v 1.1 2005/07/22 01:57:49 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/content/mosvote.php 4.5.4/mambots/content/mosvote.php
--- 4.5.2.3/mambots/content/mosvote.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/content/mosvote.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mosvote.php,v 1.5 2005/01/06 01:13:30 eddieajau Exp $
+* @version $Id: mosvote.php,v 1.1 2005/07/22 01:57:49 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/editors/none.php 4.5.4/mambots/editors/none.php
--- 4.5.2.3/mambots/editors/none.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/none.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: none.php,v 1.4 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: none.php,v 1.1 2005/07/22 01:57:50 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/editors/none.xml 4.5.4/mambots/editors/none.xml
--- 4.5.2.3/mambots/editors/none.xml	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/none.xml	2006-08-01 01:34:25.000000000 -0500
@@ -1,8 +1,8 @@
 <?xml version="1.0" ?>
-<mosinstall version="4.5.2" type="mambot" group="editors">
+<mosinstall version="4.5.3" type="mambot" group="editors">
     <name>none</name>
     <version></version>
-    <creationDate>August 2004</creationDate>
+    <creationDate>Dec 2005</creationDate>
     <author></author>
     <authorEmail>N/A</authorEmail>
     <authorUrl></authorUrl>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/about.html 4.5.4/mambots/editors/tinymce/docs/about.html
--- 4.5.2.3/mambots/editors/tinymce/docs/about.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/about.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>About</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>About</h1>
+</div>
+
+<div class="content">
+	<h2>General information</h2>
+	<div class="section">
+		<p>TinyMCE is a powerful WYSIWYG editor control for web browsers such as MSIE or Mozilla that enables the user to edit HTML contents in a more user friendly way. The editor control is very flexible and it's built for integration purposes for example usage within systems like Intranets, CMS, LMS and so forth.</p>
+		<p>
+		TinyMCE is developed by <a href="http://www.moxiecode.com">Moxiecode Systems AB</a> and is currently released under the &quot;LGPL&quot; license, read the license agreement for details.
+		</p>
+		<h2>Features</h2>
+		<p>
+			<ul>
+				<li>Easy to integrate, takes only a couple lines of code.</li>
+				<li>Theme and template support.</li>
+				<li>Easy to extend with custom code. (Plugins and callbacks)</li>
+				<li>Customizable HTML output. Block elements and force attributes.</li>
+				<li>International language support (Language packs).</li>
+				<li>Multiple browser support, currently Mozilla (PC, Mac and Linux), MSIE (PC) and FireFox (PC, Mac and Linux) and some limited Safari support.</li>
+			</ul>
+		</p>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/compatiblity_chart.html 4.5.4/mambots/editors/tinymce/docs/compatiblity_chart.html
--- 4.5.2.3/mambots/editors/tinymce/docs/compatiblity_chart.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/compatiblity_chart.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Compatiblity Chart</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Compatiblity Chart</h1>
+</div>
+
+<div class="content">
+	<h2>Browser support</h2>
+	<div class="section">
+		<p>TinyMCE uses advanced JavaScript and tries to be as smart as possible when it comes to different browsers, the main focus is on Microsoft Internet Explorer and Mozilla/Firefox. The table was reset to only show the browsers we ourselves can test on. It works with many older versions of Mozilla and Firefox. <strong>Just cause a browser is not listed on this page doesn't mean it does not work, try out the examples on our website.</strong></p>
+
+		<p>Since MacOS X 10.4 is more or less Linux we are not testing much on Linux any more, use the Sourceforge bug report system to submit bugs on the very latest browsers only.</p>
+		<p>
+			<table border="1" cellspacing="0" cellpadding="4">
+				<tr>
+					<td>&nbsp;</td>
+					<td>Windows XP</td>
+					<td>MacOS X 10.4</td>
+				</tr>
+				<tr>
+					<td>MSIE 6</td>
+					<td>OK</td>
+					<td>&nbsp;</td>
+				</tr>
+				<tr>
+					<td>MSIE 5.5 SP2</td>
+					<td>OK</td>
+					<td>&nbsp;</td>
+				</tr>
+				<tr>
+					<td>MSIE 5.0</td>
+					<td>OK</td>
+					<td>&nbsp;</td>
+				</tr>
+				<tr>
+					<td>Mozilla 1.7.x</td>
+					<td>OK</td>
+					<td>OK</td>
+				</tr>
+				<tr>
+					<td>Firefox 1.0.x</td>
+					<td>OK</td>
+					<td>OK</td>
+				</tr>
+				<tr>
+					<td>Firefox 1.5b2</td>
+					<td>OK</td>
+					<td>OK</td>
+				</tr>
+				<tr>
+					<td>Safari 2.0 (412)</td>
+					<td>&nbsp;</td>
+					<td>OK(1)</td>
+				</tr>
+				<tr>
+					<td>Opera 9 Preview 1</td>
+					<td>OK(1)</td>
+					<td>OK(1)</td>
+				</tr>
+			</table>
+		</p>
+		<p>
+		<ul>
+			<li>(1) - Partialy working</li>
+			<li>(2) - Buggy browser version</li>
+		</ul>
+		</p>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/credits.html 4.5.4/mambots/editors/tinymce/docs/credits.html
--- 4.5.2.3/mambots/editors/tinymce/docs/credits.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/credits.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Credits</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Credits</h1>
+</div>
+
+<div class="content">
+	<h2>Contributors</h2>
+	<div class="section">
+		<p>These are the people, companies or organizations that have contributed in some way to the TinyMCE project. If you feel we are missing someone please inform us right away and we will correct this in future versions of TinyMCE.</p>
+		<p>
+		Please note that some of these have contributed with complete language packs and some have updated parts of language packs or similar.
+		</p>
+	</div>
+	<div class="separator"></div>
+		<div class="section">
+			<p>
+			<ul>
+				<li class="list_subtitle">Code / Solutions / Features</li>
+				<ul>
+					<li>Digital Ventures</li>
+					<li>donadoni</li>
+					<li>Michael Keck</li>
+					<li>Victor Nilsson</li>
+					<li>Jrgen Baute</li>
+					<li>"Neirda"</li>
+					<li>"speednet"</li>
+					<li>Virtuelcom</li>
+					<li>"SlyD"</li>
+					<li>Ernst de Moor</li>
+					<li>"jamesw"</li>
+					<li>Vincent FIACK</li>
+					<li>Aptest</li>
+				</ul>
+				<li class="list_subtitle">Language packs</li>
+				<ul>
+					<li>Marcin Szymon Sznyra</li>
+					<li>"revyag"</li>
+					<li>Jim Kou</li>
+					<li>"Krokogras"</li>
+					<li>Hani Suleiman</li>
+					<li>Jan Moelgaard</li>
+					<li>Christopher Mller</li>
+					<li>Virtuelcom</li>
+					<li>Pavel Novk</li>
+					<li>Simon Rupf</li>
+					<li>"Fabrix Xm"</li>
+					<li>Mats Lfstrm, York Consulting AB</li>
+					<li>Morteza Zafari</li>
+					<li>Laurent Dran</li>
+					<li>Tobias Heer</li>
+					<li>"Innozent"</li>
+					<li>"cube316"</li>
+					<li>Jos Pedro Pereira</li>
+					<li>"Martin"</li>
+					<li>Sten Aksel Heien</li>
+					<li>Setzer Gabbiani</li>
+					<li>Jacaranda Bill</li>
+					<li>Pat Boens</li>
+					<li>Roman Filippov</li>
+					<li>Arnoud van Delden</li>
+				</ul>
+			</ul>
+			</p>
+			<p>There are also a few corporations that have contributed in various ways to have features developed by payed support.
+			</p>
+		</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/css/screen.css 4.5.4/mambots/editors/tinymce/docs/css/screen.css
--- 4.5.2.3/mambots/editors/tinymce/docs/css/screen.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/css/screen.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,168 @@
+body {
+	background-color: #FFFFFF;
+	font-family: Verdana, Arial, helvetica, sans-serif;
+	font-size: 12px;
+}
+
+.header {
+	border: #E0E0E0 solid 1px;
+}
+
+.footer {
+	border: #E0E0E0 solid 1px;
+	height: 20px;
+}
+
+h1 {
+	font-size: 18px;
+	font-weight: bold;
+	padding: 0;
+	margin: 4px;
+}
+
+h2 {
+	font-size: 14px;
+	font-weight: bold;
+	padding: 0;
+	margin: 0;
+	margin-top: 4px;
+	margin-bottom: 4px;
+}
+
+h3 {
+	font-size: 11px;
+	font-weight: bold;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 3px;
+}
+
+.section {
+	margin-left: 15px;
+}
+
+.column {
+	margin-right: 20px;
+	float: left
+}
+
+.separator {
+	border-bottom: 1px solid #E6EBF1;
+	margin-top: 10px;
+	margin-bottom: 10px;
+}
+
+p {
+}
+
+.helpindex {
+	margin-left: 20px;
+	padding-left: 0;
+}
+
+
+.optionlist {
+	margin: 0;
+	padding: 0;
+	margin-bottom: 10px;
+}
+
+.optionlist li {
+	padding: 0;
+	margin: 0;
+	margin-top: 3px;
+	margin-bottom: 3px;
+	margin-left: 10px;
+	list-style-type: none;
+}
+
+.helpindex li {
+	margin-top: 3px;
+}
+
+.content {
+	margin: 10px;
+}
+
+.example {
+	background-color: #E6EBF1;
+	margin-left: 10px;
+}
+
+code, pre {
+	margin: 0;
+	padding: 0;
+	background-color: #E6EBF1;
+}
+
+.copyright {
+	margin: 3px;
+	float: left;
+}
+
+.helpindexlink {
+	margin: 3px;
+	float: right;
+}
+
+a:visited {
+	color: #666666;
+	text-decoration: underline;
+}
+
+a:active {
+	color: #666666;
+	text-decoration: underline;
+}
+
+a:hover {
+	color: #666666;
+	text-decoration: underline;
+}
+
+a {
+	color: #666666;
+	text-decoration: underline;
+}
+
+.list_subtitle {
+	padding-top: 5px;
+}
+
+.note {
+	margin-top: 5px;
+	margin-left: 10px;
+	font-size: 10px;
+}
+
+.marked {
+	color: red;
+	font-weight: bold;
+}
+
+thead {
+	background-color: #E6EBF1;	
+}
+
+.btable {
+}
+
+.btable th {
+	border: 1px solid gray;
+	vertical-align: top;
+}
+
+.btable td {
+	border: 1px solid gray;
+	vertical-align: top;
+}
+
+.plist {
+	list-style-type: none;
+	margin: 0;
+	padding: 0;
+}
+
+.plist li {
+	padding-bottom: 3px;
+}
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/customization_language_packs.html 4.5.4/mambots/editors/tinymce/docs/customization_language_packs.html
--- 4.5.2.3/mambots/editors/tinymce/docs/customization_language_packs.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/customization_language_packs.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Customization - Creating a language pack</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Customization - Creating a language pack</h1>
+</div>
+
+<div class="content">
+	<h2>Making language packs</h2>
+	<p>Language packs are simply JavaScript name/value arrays placed in the &quot;<ISO-639-1 code>.js&quot; files in the &quot;lang&quot; directory. Remember to allways use the &quot;lang_&quot; prefix for these value names so that they don't override other variables in the templates. The example below shows how the cut, copy and paste texts are lang packed. Notice there are three kinds of language packs the first one is the general one shared by all themes these are located in the &quot;jscripts/tiny_mce/langs&quot; directory the secound ones are theme specific language packs these are contained in &quot;jscripts/tiny_mce/themes/&lt;some theme&gt;/langs&quot; and the last one is plugin specific language packs located in each plugin.
+	</p>
+	<p>
+	<div class="example">
+<pre>
+tinyMCE.addToLang('',{
+cut_desc : 'Cut (Ctrl+X)',
+copy_desc : 'Copy (Ctrl+C)',
+paste_desc : 'Paste (Ctrl+P)'
+);
+</pre>
+	</div>
+	</p>
+	<p>
+	Remember the last translation line should not have a , character at the end. The first parameter to the addToLang is the prefix to add before each variable, this was added to reduce the overall size of the language packs to reduce the overall download time.
+	</p>
+	<h3>Files to edit</h3>
+	<p>
+	When translating TinyMCE, these are the files that currently needs to be translated:
+	</p>
+	<p>
+	/tinymce/jscripts/tiny_mce/langs/en.js<br />
+	/tinymce/jscripts/tiny_mce/plugins/&lt;plugin&gt;/langs/en.js<br />
+	/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js<br />
+	</p>
+	<p>
+	Notice some language variables may include a name/url of a gif image or simmilar, for example the button for bold has a "F" character in the Swedish language pack. There are also relative window sizes located in the language packs, for example is the link dialog needs to be bigger inorder to fit a specific translation you can alter the width of the window by modifying these variables.
+	</p>
+	<h3>Contributing your language pack</h3>
+	<p>
+	Go to the <a href="http://sourceforge.net/tracker/?atid=635684&group_id=103281&func=browse">sourceforge patch page</a> and upload a zip containing all the language files in the correct directory structure.<br /><br />
+	Please translate all the plugins, even if you aren't using them.<br />
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/customization_plugins.html 4.5.4/mambots/editors/tinymce/docs/customization_plugins.html
--- 4.5.2.3/mambots/editors/tinymce/docs/customization_plugins.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/customization_plugins.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Customization - Creating a plugin</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Customization - Creating a plugin</h1>
+</div>
+
+<div class="content">
+	
+<h2>Creating your own plugins</h2>
+<p>
+Creating you own plugins for the TinyMCE application is fairly easy if you know the basics of HTML, CSS and Javascript. The most easy way is to copy the &quot;_template&quot; directory or one of the other core plugins and work from there. The &quot;_template&quot; directory is a tutorial plugin that shows how to create a plugin. After you copy the template you need to change the red sections marked below to the name of your plugin this is needed so that plugins don't overlap in other words it gives the plugin a unique name.
+</p>
+<p>If you want you may add plugin specific options/settings but remember to namespace them in the following format &quot;&lt;your plugin&gt;_&lt;option&gt;&quot; for example &quot;yourplugin_someoption&quot;.</p>
+<p>Specific callback functions that you don't need or doesn't do anything can be removed.</p>
+
+<div class="separator"></div>
+<h3>Plugin directory structure</h3>
+<p>
+<table class="btable">
+<thead>
+	<th>File/Directory</td>	
+	<th>Description</td>	
+</thead>
+<tbody>
+	<tr><td>css</td><td>Plugin specific CSS files</td></tr>
+	<tr><td>docs</td><td>Plugin specific documentation</td></tr>
+	<tr><td>images</td><td>Plugin specific images</td></tr>
+	<tr><td>jscripts</td><td>Plugin specific jscripts for HTML dialogs</td></tr>
+	<tr><td>langs</td><td>Plugin specific language files</td></tr>
+	<tr><td>editor_plugin.js</td><td>Editor plugin file (compressed).</td></tr>
+	<tr><td>editor_plugin_src.js</td><td>Editor plugin file (source).</td></tr>
+	<tr><td>somedialog.htm</td><td>Plugin specific dialog HTML file.</td></tr>
+</table>
+</p>
+<div class="separator"></div>
+<h3>Plugin example source</h3>
+<p>
+The example below shows a simple empty plugin and all possible callbacks.
+</p>
+<p>
+<div class="example">
+<pre>
+var TinyMCE_<span class="marked">SomeName</span>Plugin = {
+	/**
+	 * Returns information about the plugin as a name/value array.
+	 * The current keys are longname, author, authorurl, infourl and version.
+	 *
+	 * @returns Name/value array containing information about the plugin.
+	 * @type Array 
+	 */
+	getInfo : function() {
+		return {
+			longname : 'Your plugin',
+			author : 'Your name',
+			authorurl : 'http://www.yoursite.com',
+			infourl : 'http://www.yoursite.com/docs/template.html',
+			version : "1.0"
+		};
+	},
+
+	/**
+	 * Gets executed when a TinyMCE editor instance is initialized.
+	 *
+	 * @param {TinyMCE_Control} Initialized TinyMCE editor control instance. 
+	 */
+	initInstance : function(inst) {
+		// You can take out plugin specific parameters
+		alert("Initialization parameter:" + tinyMCE.getParam("<span class="marked">somename</span>_someparam", false));
+
+		// Register custom keyboard shortcut
+		inst.addShortcut('ctrl', 't', 'lang_<span class="marked">somename</span>_desc', 'mceSomeCommand');
+	},
+
+	/**
+	 * Returns the HTML code for a specific control or empty string if this plugin doesn't have that control.
+	 * A control can be a button, select list or any other HTML item to present in the TinyMCE user interface.
+	 * The variable {$editor_id} will be replaced with the current editor instance id and {$pluginurl} will be replaced
+	 * with the URL of the plugin. Language variables such as {$lang_somekey} will also be replaced with contents from
+	 * the language packs.
+	 *
+	 * @param {string} cn Editor control/button name to get HTML for.
+	 * @return HTML code for a specific control or empty string.
+	 * @type string
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "<span class="marked">SomeControl</span>":
+				return tinyMCE.getButtonHTML(cn, 'lang_<span class="marked">someplugin</span>_<span class="marked">button</span>_desc', '{$pluginurl}/images/<span class="marked">someimage</span>.gif', '<span class="marked">mceSomeCommand</span>');
+		}
+
+		return "";
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "advhr":
+				return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');
+		}
+
+		return "";
+	},
+
+
+	/**
+	 * Executes a specific command, this function handles plugin commands.
+	 *
+	 * @param {string} editor_id TinyMCE editor instance id that issued the command.
+	 * @param {HTMLElement} element Body or root element for the editor instance.
+	 * @param {string} command Command name to be executed.
+	 * @param {string} user_interface True/false if a user interface should be presented.
+	 * @param {mixed} value Custom value argument, can be anything.
+	 * @return true/false if the command was executed by this plugin or not.
+	 * @type
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			// Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
+			case "mce<span class="marked">SomeCommand</span>":
+				// Do your custom command logic here.
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	/**
+	 * Gets called ones the cursor/selection in a TinyMCE instance changes. This is useful to enable/disable
+	 * button controls depending on where the user are and what they have selected. This method gets executed
+	 * alot and should be as performance tuned as possible.
+	 *
+	 * @param {string} editor_id TinyMCE editor instance id that was changed.
+	 * @param {HTMLNode} node Current node location, where the cursor is in the DOM tree.
+	 * @param {int} undo_index The current undo index, if this is -1 custom undo/redo is disabled.
+	 * @param {int} undo_levels The current undo levels, if this is -1 custom undo/redo is disabled.
+	 * @param {boolean} visual_aid Is visual aids enabled/disabled ex: dotted lines on tables.
+	 * @param {boolean} any_selection Is there any selection at all or is there only a cursor.
+	 */
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+	},
+
+	/**
+	 * Gets called when a TinyMCE editor instance gets filled with content on startup.
+	 *
+	 * @param {string} editor_id TinyMCE editor instance id that was filled with content.
+	 * @param {HTMLElement} body HTML body element of editor instance.
+	 * @param {HTMLDocument} doc HTML document instance.
+	 */
+	setupContent : function(editor_id, body, doc) {
+	},
+
+	/**
+	 * Gets called when the contents of a TinyMCE area is modified, in other words when a undo level is
+	 * added.
+	 *
+	 * @param {TinyMCE_Control} inst TinyMCE editor area control instance that got modified.
+	 */
+	onChange : function(inst) {
+	},
+
+	/**
+	 * Gets called when TinyMCE handles events such as keydown, mousedown etc. TinyMCE
+	 * doesn't listen on all types of events so custom event handling may be required for
+	 * some purposes.
+	 *
+	 * @param {Event} e HTML editor event reference.
+	 * @return true - pass to next handler in chain, false - stop chain execution
+	 * @type boolean
+	 */
+	handleEvent : function(e) {
+		return true;
+	},
+
+	/**
+	 * Gets called when HTML contents is inserted or retrived from a TinyMCE editor instance.
+	 * The type parameter contains what type of event that was performed and what format the content is in.
+	 * Possible valuses for type is get_from_editor, insert_to_editor, get_from_editor_dom, insert_to_editor_dom.
+	 *
+	 * @param {string} type Cleanup event type.
+	 * @param {mixed} content Editor contents that gets inserted/extracted can be a string or DOM element.
+	 * @param {TinyMCE_Control} inst TinyMCE editor instance control that performes the cleanup.
+	 * @return New content or the input content depending on action.
+	 * @type string
+	 */
+	cleanup : function(type, content, inst) {
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	/**
+	 * This is just a internal plugin method, prefix all internal methods with a _ character.
+	 * The prefix is needed so they doesn't collide with future TinyMCE callback functions.
+	 *
+	 * @param {string} a Some arg1.
+	 * @param {string} b Some arg2.
+	 * @return Some return.
+	 * @type string
+	 */
+	_someInternalFunction : function(a, b) {
+		return 1;
+	}
+};
+
+// Adds the plugin class to the list of available TinyMCE plugins
+tinyMCE.addPlugin("<span class="marked">someplugin</span>", TinyMCE_<span class="marked">SomePlugin</span>Plugin);
+</pre>
+</div>
+</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/customization_themes.html 4.5.4/mambots/editors/tinymce/docs/customization_themes.html
--- 4.5.2.3/mambots/editors/tinymce/docs/customization_themes.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/customization_themes.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,262 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Customization - Creating a theme</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Customization - Creating a theme</h1>
+</div>
+
+<div class="content">
+<h2>Creating your own Themes</h2>
+<p>
+Creating you own themes for the TinyMCE application is fairly easy if you know the basics of HTML, CSS and Javascript. The most easy way is to copy the &quot;simple&quot; or the &quot;advanced&quot; template and rename it as your own name to for example &quot;mytheme&quot;. After you copy the template you need to change the red sections marked below to &quot;mytheme&quot; this is needed so that themes don't overlap in other words it gives the theme a unique name. Then just alter the HTML code as you see fit but notice some elements needs to be there so check the docs below on each function also remember that your custom themes needs to be located in tiny_mce's &quot;themes&quot; directory. If you want you may add theme specific options/settings but remember to namespace them in the following format &quot;theme_&lt;your theme&gt;_&lt;option&gt;&quot;.
+</p>
+<div class="separator"></div>
+<h3>Theme directory structure</h3>
+<p>
+<table class="btable">
+<thead>
+	<th>File/Directory</td>	
+	<th>Description</td>	
+</thead>
+<tbody>
+	<tr><td>css</td><td>Theme specific CSS files</td></tr>
+	<tr><td>docs</td><td>Theme specific documentation</td></tr>
+	<tr><td>images</td><td>Theme specific images</td></tr>
+	<tr><td>jscripts</td><td>Theme specific jscripts for HTML dialogs</td></tr>
+	<tr><td>langs</td><td>Theme specific language files</td></tr>
+	<tr><td>editor_template.js</td><td>Editor theme template file (compressed).</td></tr>
+	<tr><td>editor_template_src.js</td><td>Editor theme template file (source).</td></tr>
+	<tr><td>somedialog.htm</td><td>Theme specific dialog HTML file.</td></tr>
+</table>
+</p>
+<div class="separator"></div>
+<h3>Theme example source</h3>
+<p>
+The example below shows a simple empty theme and all possible callbacks.
+</p>
+<p>
+<div class="example">
+<pre>
+var TinyMCE_<span class="marked">SomeName</span>Theme = {
+	/**
+	 * Returns information about the theme as a name/value array.
+	 * The current keys are longname, author, authorurl, infourl and version.
+	 *
+	 * @returns Name/value array containing information about the theme.
+	 * @type Array 
+	 */
+	getInfo : function() {
+		return {
+			longname : 'Your Theme',
+			author : 'Your name',
+			authorurl : 'http://www.yoursite.com',
+			infourl : 'http://www.yoursite.com/docs/template.html',
+			version : "1.0"
+		};
+	},
+
+	/**
+	 * Gets executed when a TinyMCE editor instance is initialized.
+	 *
+	 * @param {TinyMCE_Control} Initialized TinyMCE editor control instance. 
+	 */
+	initInstance : function(inst) {
+		// You can take out theme specific parameters
+		alert("Initialization parameter:" + tinyMCE.getParam("<span class="marked">somename</span>_someparam", false));
+
+		// Register custom keyboard shortcut
+		inst.addShortcut('ctrl', 't', 'lang_<span class="marked">somename</span>_desc', 'mceSomeCommand');
+	},
+
+	/**
+	 * Returns the HTML code for a specific control or empty string if this theme doesn't have that control.
+	 * A control can be a button, select list or any other HTML item to present in the TinyMCE user interface.
+	 * The variable {$editor_id} will be replaced with the current editor instance id and {$themeurl} will be replaced
+	 * with the URL of the theme. Language variables such as {$lang_somekey} will also be replaced with contents from
+	 * the language packs.
+	 *
+	 * @param {string} cn Editor control/button name to get HTML for.
+	 * @return HTML code for a specific control or empty string.
+	 * @type string
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "<span class="marked">SomeControl</span>":
+				return tinyMCE.getButtonHTML(cn, 'lang_<span class="marked">sometheme</span>_<span class="marked">button</span>_desc', '{$themeurl}/images/<span class="marked">someimage</span>.gif', '<span class="marked">mceSomeCommand</span>');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Returns the HTML code that should be inserted for a specific editor instance.
+	 * This function should return a name/value array with three items html, delta_width, delta_height.
+	 * The html item should contain the HTML code to insert as a editor instance.
+	 * The variable {$editor_id} will be replaced with the current editor instance id and {$themeurl} will be replaced
+	 * with the URL of the theme. Language variables such as {$lang_somekey} will also be replaced with contents from
+	 * the language packs. Any element with the id {$editor_id} will be replaced with the editor iframe element.
+	 * The {$width} and {$height} variables will be replaced with the editors outside dimension values.
+	 * The delta_width/height is the relative width/height in pixels to add or remove from the iframe dimensions.
+	 *
+	 * @param {Array} settings Name/Value array instance settings.
+	 * @param {string} editor_id TinMYCE editor control instance id.
+	 * @return Name/Value array of editor template data.
+	 * @type Array
+	 */
+	getEditorTemplate : function(settings, editor_id) {
+		var html = "";
+
+		// Build toolbar and editor instance
+		html += "..";
+
+		return {
+			html : html,
+			delta_width : 0,
+			delta_height : 0
+		};
+	},
+
+	/**
+	 * Executes a specific command, this function handles theme commands.
+	 *
+	 * @param {string} editor_id TinyMCE editor instance id that issued the command.
+	 * @param {HTMLElement} element Body or root element for the editor instance.
+	 * @param {string} command Command name to be executed.
+	 * @param {string} user_interface True/false if a user interface should be presented.
+	 * @param {mixed} value Custom value argument, can be anything.
+	 * @return true/false if the command was executed by this theme or not.
+	 * @type
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			// Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
+			case "mce<span class="marked">SomeCommand</span>":
+				// Do your custom command logic here.
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	/**
+	 * Gets called ones the cursor/selection in a TinyMCE instance changes. This is useful to enable/disable
+	 * button controls depending on where the user are and what they have selected. This method gets executed
+	 * alot and should be as performance tuned as possible.
+	 *
+	 * @param {string} editor_id TinyMCE editor instance id that was changed.
+	 * @param {HTMLNode} node Current node location, where the cursor is in the DOM tree.
+	 * @param {int} undo_index The current undo index, if this is -1 custom undo/redo is disabled.
+	 * @param {int} undo_levels The current undo levels, if this is -1 custom undo/redo is disabled.
+	 * @param {boolean} visual_aid Is visual aids enabled/disabled ex: dotted lines on tables.
+	 * @param {boolean} any_selection Is there any selection at all or is there only a cursor.
+	 */
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+	},
+
+	/**
+	 * Gets called when a TinyMCE editor instance gets filled with content on startup.
+	 *
+	 * @param {string} editor_id TinyMCE editor instance id that was filled with content.
+	 * @param {HTMLElement} body HTML body element of editor instance.
+	 * @param {HTMLDocument} doc HTML document instance.
+	 */
+	setupContent : function(editor_id, body, doc) {
+	},
+
+	/**
+	 * Gets called when the contents of a TinyMCE area is modified, in other words when a undo level is
+	 * added.
+	 *
+	 * @param {TinyMCE_Control} inst TinyMCE editor area control instance that got modified.
+	 */
+	onChange : function(inst) {
+	},
+
+	/**
+	 * Gets called when TinyMCE handles events such as keydown, mousedown etc. TinyMCE
+	 * doesn't listen on all types of events so custom event handling may be required for
+	 * some purposes.
+	 *
+	 * @param {Event} e HTML editor event reference.
+	 * @return true - pass to next handler in chain, false - stop chain execution
+	 * @type boolean
+	 */
+	handleEvent : function(e) {
+		return true;
+	},
+
+	/**
+	 * Gets called when HTML contents is inserted or retrived from a TinyMCE editor instance.
+	 * The type parameter contains what type of event that was performed and what format the content is in.
+	 * Possible valuses for type is get_from_editor, insert_to_editor, get_from_editor_dom, insert_to_editor_dom.
+	 *
+	 * @param {string} type Cleanup event type.
+	 * @param {mixed} content Editor contents that gets inserted/extracted can be a string or DOM element.
+	 * @param {TinyMCE_Control} inst TinyMCE editor instance control that performes the cleanup.
+	 * @return New content or the input content depending on action.
+	 * @type string
+	 */
+	cleanup : function(type, content, inst) {
+		return content;
+	},
+
+	// Private theme internal methods
+
+	/**
+	 * This is just a internal theme method, prefix all internal methods with a _ character.
+	 * The prefix is needed so they doesn't collide with future TinyMCE callback functions.
+	 *
+	 * @param {string} a Some arg1.
+	 * @param {string} b Some arg2.
+	 * @return Some return.
+	 * @type string
+	 */
+	_someInternalFunction : function(a, b) {
+		return 1;
+	}
+};
+
+// Adds the theme class to the list of available TinyMCE themes
+tinyMCE.addTheme("<span class="marked">sometheme</span>", TinyMCE_<span class="marked">SomeTheme</span>Theme);
+</pre>
+</div>
+</p>
+<div class="separator"></div>
+
+<h3>Creating popup HTML files</h3>
+<p>
+When creating a popup you need to include the &quot;tiny_mce_popup.js&quot; this enables you to retrive the tinyMCE global instance in all popup windows. All variables and language definitions gets replaced in the page when it loads. So language variables such as {$lang_something} can be places in the HTML code, if you need to get a language string in JavaScript simply use the tinyMCE.getLang function.
+</p>
+<h3>Example of simple popup file:</h3>
+<div class="example">
+<pre>
+&lt;html&gt;
+&lt;head&gt;
+&lt;title&gt;{$lang_theme_sample_title}&lt;/title&gt;
+&lt;script language=&quot;javascript&quot; src=&quot;../../tiny_mce_popup.js&quot;&gt;&lt;/script&gt;
+&lt;script language=&quot;javascript&quot;&gt;
+     // getWindowArg returns any arguments passed to the window
+     alert(tinyMCE.getWindowArg('some_arg'));
+&lt;/script&gt;
+&lt;body&gt;
+     &lt;strong&gt;{$lang_theme_sample_desc}&lt;/strong&gt;
+&lt;/body&gt;
+</pre>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/faq.html 4.5.4/mambots/editors/tinymce/docs/faq.html
--- 4.5.2.3/mambots/editors/tinymce/docs/faq.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/faq.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,220 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Frequently Asked Questions</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Frequently Asked Questions</h1>
+</div>
+
+<div class="content">
+	<p>Here are some common answers to common questions. If you need more help you can always visit the <a href="http://tinymce.moxiecode.com/">TinyMCE Forum</a> on the TinyMCE web site.</p>
+	<p>
+		<ul class="plist">
+			<li><a href="#broken">TinyMCE is broken, what should I do?</a></li>
+			<li><a href="#paths">Why is my paths incorrect, I want absolute/relative URLs?</a></li>
+			<li><a href="#strip">Why does TinyMCE strip aways attributes or tags from my source?</a></li>
+			<li><a href="#font">How do I change the default font size/face color of the editor?</a></li>
+			<li><a href="#remove">How do I remove/add buttons/controls to TinyMCE?</a></li>
+			<li><a href="#quotes">Why does my HTML output include lots of \&quot; like &lt;a href=\&quot;mylink.htm\&quot;&gt;link&lt;/a&gt;?</a></li>
+			<li><a href="#load">TinyMCE takes ages to load, is there a way to make it load quicker?</a></li>
+			<li><a href="#hidden">TinyMCE stops working when placed in tabs or hidden divs?</a></li>
+			<li><a href="#commercial">Can I use TinyMCE in my commercial application?</a></li>
+			<li><a href="#commercial2">Are there any restrictions to using TinyMCE in my commercial application?</a></li>
+			<li><a href="#lgpl">I don't like LGPL, is there a commercial license available for me?</a></li>
+			<li><a href="#support">Do you provide support?</a></li>
+			<li><a href="#who">Who made this software?</a></li>
+		</ul>
+	</p>
+
+	<div class="separator"></div>
+
+	<a name="broken"></a>
+	<h2>TinyMCE is broken, what should I do?</h2>
+	<div class="section">
+		<p>There are a few things you should check before posting questions about your problem at the forum or sourceforge.</p>
+		<p>
+			<ul>
+				<li>Does TinyMCE work on the <a href="http://tinymce.moxiecode.com/example_full.php?example=true">TinyMCE website</a>. Then you know that TinyMCE works with your browser.</li>
+				<li>Try to disable any other JavaScripts on the page, some scripts interfere with internal functions that TinyMCE uses. Those scripts are probably poorly written.</li>
+				<li>Check that you havn't missed removing the last , character in your initialization code and that all the other rows have a trailing , character.</li>
+				<li>Verify that the path/URL to TinyMCE is correct, you can use the excellent tool <a href="http://www.fiddlertool.com/fiddler/">Fiddler</a> for this and other HTTP debugging.</li>
+				<li>Do not cross domain load TinyMCE or any other script unless you really really must, since this will invoke various browser security features. In other words, try placing everything on the same server.</li>
+				<li>Don't place textareas within paragraph elements since this is not valid HTML and it will break MSIE and TinyMCE.</li>
+			</ul>
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="paths"></a>
+	<h2>Why is my paths incorrect, I want absolute/relative URLs?</h2>
+	<div class="section">
+		<p>
+			These are the diffrent configuration scenarios for URLs within TinyMCE:
+			<table class="btable">
+				<thead>
+					<th>Output</th>
+					<th>Config</th>
+					<th>Description</th>
+				</thead>
+				<tbody>
+					<tr>
+						<td><strong>http://www.site.com/path1/path2/file.htm</strong> will be converted to <strong>path2/file.htm</strong></td>
+						<td nowrap="nowrap">
+<a href="option_relative_urls.html">relative_urls</a> : true,<br />
+<a href="option_document_base_url.html">document_base_url</a> : &quot;http://www.site.com/path1/&quot;<br />
+</td>
+						<td>This will convert all URLs within the same domain to relative URLs.<br /> <strong>The URLs will be relative from the <a href="option_document_base_url.html">document_base_url</a></strong>.</td>
+					</tr>
+
+					<tr>
+						<td><strong>path2/file.htm</strong> will be converted to <strong>/path1/path2/file.htm</strong></td>
+						<td nowrap="nowrap">
+<a href="option_relative_urls.html">relative_urls</a> : false,<br />
+<a href="option_remove_script_host.html">remove_script_host</a> : true,<br />
+<a href="option_document_base_url.html">document_base_url</a> : &quot;http://www.site.com/path1/&quot;<br />
+</td>
+						<td>This will convert all relative URLs to absolute URLs.<br /> <strong>The URLs will be absolute based on the <a href="option_document_base_url.html">document_base_url</a></strong>.</td>
+					</tr>
+
+					<tr>
+						<td><strong>path2/file.htm</strong> will be converted to <strong>http://www.site.com/path1/path2/file.htm</strong></td>
+						<td nowrap="nowrap">
+<a href="option_relative_urls.html">relative_urls</a> : false,<br />
+<a href="option_remove_script_host.html">remove_script_host</a> : false,<br />
+<a href="option_document_base_url.html">document_base_url</a> : &quot;http://www.site.com/path1/&quot;<br />
+</td>
+						<td>This will convert all relative URLs to absolute URLs.<br /> <strong>The URLs will be absolute based on the <a href="option_document_base_url.html">document_base_url</a></strong>.</td>
+					</tr>
+
+					<tr>
+						<td><strong>path2/file.htm</strong> or <strong>http://www.site.com/path1/path2/file.htm</strong> will not be converted at all.</td>
+						<td nowrap="nowrap">
+<a href="option_convert_urls.html">convert_urls</a> : false<br />
+</td>
+						<td>This option will preserve the URLs as they are in a separate attribute while editing, <strong>since browsers tend to auto convert URLs</strong>.</td>
+					</tr>
+
+				</tbody>
+			</table>
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="strip"></a>
+	<h2>Why does TinyMCE strip aways attributes or tags from my source?</h2>
+	<div class="section">
+		<p>You need to check out the &quot;<a href="option_valid_elements.html">valid_elements</a>&quot; and &quot;<a href="option_extended_valid_elements.html">extended_valid_elements</a>&quot; option in the configuration. By default, TinyMCE only allows certain tags and attributes. TinyMCE also tries to follow the XHTML specification as much as possible (and so should you), this can cause some unexpected source changes, there are however configuration options to battle this issue, study the configuration options in details.</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="font"></a>
+	<h2>How do I change the default font size/face color of the editor?</h2>
+	<div class="section">
+		<p>
+			We recommend that you have a look at the <a href="option_content_css.html">content_css</a> option, this enables you to switch the CSS file TinyMCE uses for it's editing area with a file with your CSS rules for font size and so forth.
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="remove"></a>
+	<h2>How do I remove/add buttons/controls to TinyMCE?</h2>
+	<div class="section">
+		<p>
+			There are quite a few options for this but a reference of all available buttons/control names can be found in the <a href="reference_buttons.html">button/control reference</a>.
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="quotes"></a>
+	<h2>Why does my HTML output include lots of \&quot; like &lt;a href=\&quot;mylink.htm\&quot;&gt;link&lt;/a&gt;?</h2>
+	<div class="section">
+		<p>This is probably because you are using PHP and it has a feature that's called magic quotes that is enabled by default. You can read more about this at the <a href="http://se2.php.net/magic_quotes/">PHP website</a> or use the <a href="http://www.php.net/manual/en/function.stripslashes.php">stripslashes</a> function.</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="load"></a>
+	<h2>TinyMCE takes ages to load, is there a way to make it load quicker?</h2>
+	<div class="section">
+		<p>
+			If you use PHP on your server you can use tiny_mce_gzip.php instead of tiny_mce.js in page script call. This PHP file bundles all .js files together into two HTTP requests instead of one for each plugin, language file and theme and it also GZip compresses these files.
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="hidden"></a>
+	<h2>TinyMCE stops working when placed in tabs or hidden divs?</h2>
+	<div class="section">
+		<p>Since Gecko based browsers Mozilla/Firefox has a bug where it looses designMode on iframes that are hidden a special option is needed that re-enables the design mode when reappearing after being hidden. Enable this option to resolve the issue: &quot;<a href="option_auto_reset_designmode.html">auto_reset_designmode</a>&quot;.</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="commercial"></a>
+	<h2>Can I use TinyMCE in my commercial application?</h2>
+	<div class="section">
+		<p>Yes you can, the LGPL license is a Free Software License. You can read the whole license <a href="license.html">here</a> or visit Free Software Foundation web site <a href="http://www.fsf.org/" target="_blank">here</a></p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="commercial2"></a>
+	<h2>Are there any restrictions to using TinyMCE in my commercial application?</h2>
+	<div class="section">
+		<p>
+			Yes, all copyright notices must be intact. Moxiecode Systems are still the copyright holders of the source code, so you can not use the code for other applications. Any modifications or add-ons you make to the source has to be contributes back to the TinyMCE community.
+		</p>
+		<p>
+			If you start to make a lot of revenue from using TinyMCE, please remember the time and dedication that has been put into this by other developers, respect this and give credit to those who deserve it.
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="lgpl"></a>
+	<h2>I don't like LGPL, is there a commercial license available for me?</h2>
+	<div class="section">
+		<p>
+			Yes, we can draw up a license for you that enables you to remove copyright restrictions or anything else you would like to have in this license agreement. Contact us through email, sales (at) moxiecode (dot) com.
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="support"></a>
+	<h2>Do you provide support?</h2>
+	<div class="section">
+		<p>
+			We do not provide any non-commercial support outside the forum on the <a href="http://tinymce.moxiecode.com/">TinyMCE</a> web site. If you require commercial support, contact us by email, sales (at) moxiecode (dot) com.
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<a name="who"></a>
+	<h2>Who made this software?</h2>
+	<div class="section">
+		<p>
+			The author of TinyMCE is <a href="http://www.moxiecode.com/" target="_blank">Moxiecode Systems</a>, parts of code has also been contributed by others, <a href="credits.html">here</a> are the credits list.
+		</p>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
Files 4.5.2.3/mambots/editors/tinymce/docs/images/moxiecode.gif and 4.5.4/mambots/editors/tinymce/docs/images/moxiecode.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/index.html 4.5.4/mambots/editors/tinymce/docs/index.html
--- 4.5.2.3/mambots/editors/tinymce/docs/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/docs/index.html	2006-08-01 01:34:25.000000000 -0500
@@ -1 +1,44 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>TinyMCE Documentation - Index</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>TinyMCE Documentation</h1>
+</div>
+
+<div class="content">
+	<ul class="helpindex">
+		<li><a href="about.html">About TinyMCE</a></li>
+		<li><a href="installing.html">Installation instructions</a></li>
+		<li class="list_subtitle"><strong>Reference</strong></li>
+		<ul>
+			<li><a href="reference_configuration.html">Configuration</a></li>
+			<li><a href="reference_buttons.html">Button/control reference</a></li>
+			<li><a href="reference_javascript_functions.html">JavaScript functions</a></li>
+			<li><a href="reference_plugins.html">Plugins</a></li>
+		</ul>
+		<li class="list_subtitle"><strong>Customization</strong></li>
+		<ul style="padding-bottom: 5px;">
+			<li><a href="customization_plugins.html">Creating a plugin</a></li>
+			<li><a href="customization_language_packs.html">Creating a language pack</a></li>
+			<li><a href="customization_themes.html">Creating a theme</a></li>
+		</ul>
+		<li><a href="compatiblity_chart.html">Compatiblity chart</a></li>
+		<li><a href="faq.html">Frequently asked questions</a></li>
+		<li><a href="credits.html">Credits</a></li>
+		<li><a href="license.html">License (LGPL)</a></li>
+	</ul>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/installation_example_00.html 4.5.4/mambots/editors/tinymce/docs/installation_example_00.html
--- 4.5.2.3/mambots/editors/tinymce/docs/installation_example_00.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/installation_example_00.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Installation Example 00</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
+<script language="javascript" type="text/javascript">
+tinyMCE.init({
+	mode : "textareas",
+	theme : "simple"
+});
+</script>
+</head>
+<body>
+
+<div class="header">
+	<h1>Installation example 00</h1>
+</div>
+
+<div class="content">
+	<h3>Example</h3>
+	<form method="post">
+		<textarea name="content" cols="50" rows="15">This is some content that will be editable with TinyMCE.</textarea>
+	</form>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/installation_example_01.html 4.5.4/mambots/editors/tinymce/docs/installation_example_01.html
--- 4.5.2.3/mambots/editors/tinymce/docs/installation_example_01.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/installation_example_01.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Installation Example 01</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce_src.js"></script>
+<script language="javascript" type="text/javascript">
+tinyMCE.init({
+	mode : "textareas",
+	theme : "advanced"
+});
+</script>
+</head>
+<body>
+
+<div class="header">
+	<h1>Installation example 01</h1>
+</div>
+
+<div class="content">
+	<h3>Example</h3>
+	<p>Open this page with "View source" or similar to see how the configuration is made.</p>
+	<form method="post">
+		<textarea name="content" cols="50" rows="15">This is some content that will be editable with TinyMCE.</textarea>
+	</form>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/installation_example_02.html 4.5.4/mambots/editors/tinymce/docs/installation_example_02.html
--- 4.5.2.3/mambots/editors/tinymce/docs/installation_example_02.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/installation_example_02.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Installation Example 02</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
+<script language="javascript" type="text/javascript">
+tinyMCE.init({
+	mode : "textareas",
+	theme : "advanced",
+	plugins : "table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,zoom,flash,searchreplace,print,contextmenu",
+	theme_advanced_buttons1_add_before : "save,separator",
+	theme_advanced_buttons1_add : "fontselect,fontsizeselect",
+	theme_advanced_buttons2_add : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor",
+	theme_advanced_buttons2_add_before: "cut,copy,paste,separator,search,replace,separator",
+	theme_advanced_buttons3_add_before : "tablecontrols,separator",
+	theme_advanced_buttons3_add : "emotions,iespell,flash,advhr,separator,print",
+	theme_advanced_toolbar_location : "top",
+	theme_advanced_toolbar_align : "left",
+	theme_advanced_path_location : "bottom",
+	plugin_insertdate_dateFormat : "%Y-%m-%d",
+	plugin_insertdate_timeFormat : "%H:%M:%S",
+	extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
+	external_link_list_url : "example_data/example_link_list.js",
+	external_image_list_url : "example_data/example_image_list.js",
+	flash_external_list_url : "example_data/example_flash_list.js"
+});
+</script>
+</head>
+<body>
+
+<div class="header">
+	<h1>Installation example 02</h1>
+</div>
+
+<div class="content">
+	<h3>Example</h3>
+	<p>Open this page with "View source" or similar to see how the configuration is made.</p>
+	<form method="post">
+		<textarea name="content" cols="85" rows="15">This is some content that will be editable with TinyMCE.</textarea>
+	</form>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/installation_example_03.html 4.5.4/mambots/editors/tinymce/docs/installation_example_03.html
--- 4.5.2.3/mambots/editors/tinymce/docs/installation_example_03.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/installation_example_03.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Installation Example 02</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
+<script language="javascript" type="text/javascript">
+tinyMCE.init({
+	mode : "textareas",
+	theme : "advanced",
+	theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,link,unlink",
+	theme_advanced_buttons2 : "",
+	theme_advanced_buttons3 : "",
+	theme_advanced_toolbar_location : "top",
+	theme_advanced_toolbar_align : "left",
+	theme_advanced_path_location : "bottom",
+	extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]"
+});
+</script>
+</head>
+<body>
+
+<div class="header">
+	<h1>Installation example 02</h1>
+</div>
+
+<div class="content">
+	<h3>Example</h3>
+	<p>Open this page with "View source" or similar to see how the configuration is made.</p>
+	<form method="post">
+		<textarea name="content" cols="85" rows="15">This is some content that will be editable with TinyMCE.</textarea>
+	</form>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/installing.html 4.5.4/mambots/editors/tinymce/docs/installing.html
--- 4.5.2.3/mambots/editors/tinymce/docs/installing.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/installing.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Installation instructions</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Installation instructions</h1>
+</div>
+
+<div class="content">
+	<p>Installing TinyMCE is very simple, follow the instructions here. We give a few examples of to integrate TinyMCE, also look at the extensive <a href="reference_configuration.html">options</a> for configuration.</p>
+
+	<div class="separator"></div>
+
+	<h2>Requirements</h2>
+	<div class="section">
+		<p>TinyMCE has no direct requirements except for <a href="compatiblity_chart.html">browser compatibility</a> and of course JavaScript needs to be turned on. There is NO backend code distributed with TinyMCE.
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<h2>Downloading</h2>
+	<div class="section">
+		<p>For download instructions check our <a href="http://tinymce.moxiecode.com">web site.</a></p>
+	</div>
+
+	<div class="separator"></div>
+
+	<h2>Extracting the archives</h2>
+	<div class="section">
+		<p>On windows you could use <a href="http://www.winzip.com">WinZip</a> or something similar. And on other operating systems such as Linux you simply extract the archive with the tar command. You can find a example on how to extract the archived file on Linux below.</p>
+		<p>
+			You should extract TinyMCE in your wwwroot or site domain root folder
+		</p>
+		<h3>Extract example using a shell:</h3>
+		<div class="example">
+<pre>
+$ cd wwwroot
+$ gzip -d tinymce_1_44.tar.gz
+$ tar xvf tinymce_1_44.tar
+</pre>
+		</div>
+		<p>
+			<h3>A folder structure looking like this is created:</h3>
+		<div class="example">
+<pre>
+/tinymce/
+/tinymce/docs/
+/tinymce/docs/zh_cn/
+/tinymce/examples/
+/tinymce/examples/zh_cn/
+/tinymce/jscripts/
+/tinymce/jscripts/tiny_mce/
+/tinymce/jscripts/tiny_mce/langs/
+/tinymce/jscripts/tiny_mce/plugins/
+/tinymce/jscripts/tiny_mce/plugins/&lt;plugin folders&gt;
+/tinymce/jscripts/tiny_mce/themes/
+/tinymce/jscripts/tiny_mce/themes/advanced/
+/tinymce/jscripts/tiny_mce/themes/default/
+/tinymce/jscripts/tiny_mce/themes/simple/
+</pre>
+		</div>
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<h2>Making changes on your web site</h2>
+	<div class="section">
+		<p>Once you have extracted the archive you will need to edit the pages to include the configuration and javascript for TinyMCE. Please note that you should probably only include the TinyMCE javascript on the pages that need it, not all the pages of the web site. Remember to change the URL to the .js below to match your installation path.</p>
+		<p>
+		<h3>The most basic page integration (converts all textarea elements into editors):</h3>
+		<div class="example">
+<pre>
+&lt;html&gt;
+&lt;head&gt;
+&lt;title&gt;TinyMCE Test&lt;/title&gt;
+<strong>&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; src=&quot;../jscripts/tiny_mce/tiny_mce.js&quot;&gt;&lt;/script&gt;
+&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
+tinyMCE.init({
+	mode : &quot;textareas&quot;
+});
+&lt;/script&gt;</strong>
+&lt;/head&gt;
+&lt;body&gt;
+&lt;form method=&quot;post&quot;&gt;
+	&lt;textarea name=&quot;content&quot; cols=&quot;50&quot; rows=&quot;15&quot;&gt;This is some content that will be editable with TinyMCE.&lt;/textarea&gt;
+&lt;/form&gt;
+&lt;/body&gt;
+&lt;/html&gt;
+</pre>
+		</div>
+		</p>
+		<p>
+			Here are a few different example of how you could integrate TinyMCE.
+		</p>
+		<p>
+			<ul>
+				<li><a href="installation_example_00.html">Example 00</a> - Simple Theme</li>
+				<li><a href="installation_example_01.html">Example 01</a> - Advanced Theme</li>
+				<li><a href="installation_example_02.html">Example 02</a> - Advanced Theme Full</li>
+				<li><a href="installation_example_03.html">Example 03</a> - Advanced Theme Simplified</li>
+			</ul>
+		</p>
+		<p>
+			If you have any problems, you should check the forum on the <a href="http://tinymce.moxiecode.com/" target="_blank">TinyMCE web site.</a></p>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/license.htm 4.5.4/mambots/editors/tinymce/docs/license.htm
--- 4.5.2.3/mambots/editors/tinymce/docs/license.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/docs/license.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,388 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>License</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">License</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-<strong>Copyright &copy; 2004 Moxiecode Systems AB</strong><br>
-<br>
-This library is free software; you can redistribute it and/or<br>
-modify it under the terms of the <strong>GNU Lesser General Public<br>
-License</strong> as published by the Free Software Foundation; either<br>
-version 2.1 of the License, or (at your option) any later version.<br>
-<br>
-This library is distributed in the hope that it will be useful,<br>
-but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-Lesser General Public License for more details.<br>
-<br>
-You should have received a copy of the GNU Lesser General Public<br>
-License along with this library; if not, write to the Free Software<br>
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br>
-<br>
-<hr noshade>
-<br>
-<strong>GNU Lesser General Public License<br>
-Version 2.1, February 1999 </strong> 
-<p>Copyright (C) 1991, 1999 Free Software Foundation, Inc.<br>
-  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br>
-  Everyone is permitted to copy and distribute verbatim copies<br>
-  of this license document, but changing it is not allowed.</p>
-<p>[This is the first released version of the Lesser GPL. It also counts<br>
-  as the successor of the GNU Library Public License, version 2, hence<br>
-  the version number 2.1.]</p>
-<p>Preamble<br>
-  The licenses for most software are designed to take away your freedom to share 
-  and change it. By contrast, the GNU General Public Licenses are intended to 
-  guarantee your freedom to share and change free software--to make sure the software 
-  is free for all its users. </p>
-<p>This license, the Lesser General Public License, applies to some specially 
-  designated software packages--typically libraries--of the Free Software Foundation 
-  and other authors who decide to use it. You can use it too, but we suggest you 
-  first think carefully about whether this license or the ordinary General Public 
-  License is the better strategy to use in any particular case, based on the explanations 
-  below. </p>
-<p>When we speak of free software, we are referring to freedom of use, not price. 
-  Our General Public Licenses are designed to make sure that you have the freedom 
-  to distribute copies of free software (and charge for this service if you wish); 
-  that you receive source code or can get it if you want it; that you can change 
-  the software and use pieces of it in new free programs; and that you are informed 
-  that you can do these things.</p>
-<p>To protect your rights, we need to make restrictions that forbid distributors 
-  to deny you these rights or to ask you to surrender these rights. These restrictions 
-  translate to certain responsibilities for you if you distribute copies of the 
-  library or if you modify it. </p>
-<p>For example, if you distribute copies of the library, whether gratis or for 
-  a fee, you must give the recipients all the rights that we gave you. You must 
-  make sure that they, too, receive or can get the source code. If you link other 
-  code with the library, you must provide complete object files to the recipients, 
-  so that they can relink them with the library after making changes to the library 
-  and recompiling it. And you must show them these terms so they know their rights. 
-</p>
-<p>We protect your rights with a two-step method: (1) we copyright the library, 
-  and (2) we offer you this license, which gives you legal permission to copy, 
-  distribute and/or modify the library. </p>
-<p>To protect each distributor, we want to make it very clear that there is no 
-  warranty for the free library. Also, if the library is modified by someone else 
-  and passed on, the recipients should know that what they have is not the original 
-  version, so that the original author's reputation will not be affected by problems 
-  that might be introduced by others. </p>
-<p>Finally, software patents pose a constant threat to the existence of any free 
-  program. We wish to make sure that a company cannot effectively restrict the 
-  users of a free program by obtaining a restrictive license from a patent holder. 
-  Therefore, we insist that any patent license obtained for a version of the library 
-  must be consistent with the full freedom of use specified in this license. </p>
-<p>Most GNU software, including some libraries, is covered by the ordinary GNU 
-  General Public License. This license, the GNU Lesser General Public License, 
-  applies to certain designated libraries, and is quite different from the ordinary 
-  General Public License. We use this license for certain libraries in order to 
-  permit linking those libraries into non-free programs. </p>
-<p>When a program is linked with a library, whether statically or using a shared 
-  library, the combination of the two is legally speaking a combined work, a derivative 
-  of the original library. The ordinary General Public License therefore permits 
-  such linking only if the entire combination fits its criteria of freedom. The 
-  Lesser General Public License permits more lax criteria for linking other code 
-  with the library. </p>
-<p>We call this license the &quot;Lesser&quot; General Public License because 
-  it does Less to protect the user's freedom than the ordinary General Public 
-  License. It also provides other free software developers Less of an advantage 
-  over competing non-free programs. These disadvantages are the reason we use 
-  the ordinary General Public License for many libraries. However, the Lesser 
-  license provides advantages in certain special circumstances. </p>
-<p>For example, on rare occasions, there may be a special need to encourage the 
-  widest possible use of a certain library, so that it becomes a de-facto standard. 
-  To achieve this, non-free programs must be allowed to use the library. A more 
-  frequent case is that a free library does the same job as widely used non-free 
-  libraries. In this case, there is little to gain by limiting the free library 
-  to free software only, so we use the Lesser General Public License. </p>
-<p>In other cases, permission to use a particular library in non-free programs 
-  enables a greater number of people to use a large body of free software. For 
-  example, permission to use the GNU C Library in non-free programs enables many 
-  more people to use the whole GNU operating system, as well as its variant, the 
-  GNU/Linux operating system. </p>
-<p>Although the Lesser General Public License is Less protective of the users' 
-  freedom, it does ensure that the user of a program that is linked with the Library 
-  has the freedom and the wherewithal to run that program using a modified version 
-  of the Library. </p>
-<p>The precise terms and conditions for copying, distribution and modification 
-  follow. Pay close attention to the difference between a &quot;work based on 
-  the library&quot; and a &quot;work that uses the library&quot;. The former contains 
-  code derived from the library, whereas the latter must be combined with the 
-  library in order to run. </p>
-<p>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION<br>
-  0. This License Agreement applies to any software library or other program which 
-  contains a notice placed by the copyright holder or other authorized party saying 
-  it may be distributed under the terms of this Lesser General Public License 
-  (also called &quot;this License&quot;). Each licensee is addressed as &quot;you&quot;.</p>
-<p>A &quot;library&quot; means a collection of software functions and/or data 
-  prepared so as to be conveniently linked with application programs (which use 
-  some of those functions and data) to form executables. </p>
-<p>The &quot;Library&quot;, below, refers to any such software library or work 
-  which has been distributed under these terms. A &quot;work based on the Library&quot; 
-  means either the Library or any derivative work under copyright law: that is 
-  to say, a work containing the Library or a portion of it, either verbatim or 
-  with modifications and/or translated straightforwardly into another language. 
-  (Hereinafter, translation is included without limitation in the term &quot;modification&quot;.) 
-</p>
-<p>&quot;Source code&quot; for a work means the preferred form of the work for 
-  making modifications to it. For a library, complete source code means all the 
-  source code for all modules it contains, plus any associated interface definition 
-  files, plus the scripts used to control compilation and installation of the 
-  library.</p>
-<p>Activities other than copying, distribution and modification are not covered 
-  by this License; they are outside its scope. The act of running a program using 
-  the Library is not restricted, and output from such a program is covered only 
-  if its contents constitute a work based on the Library (independent of the use 
-  of the Library in a tool for writing it). Whether that is true depends on what 
-  the Library does and what the program that uses the Library does. </p>
-<p>1. You may copy and distribute verbatim copies of the Library's complete source 
-  code as you receive it, in any medium, provided that you conspicuously and appropriately 
-  publish on each copy an appropriate copyright notice and disclaimer of warranty; 
-  keep intact all the notices that refer to this License and to the absence of 
-  any warranty; and distribute a copy of this License along with the Library. 
-</p>
-<p>You may charge a fee for the physical act of transferring a copy, and you may 
-  at your option offer warranty protection in exchange for a fee. </p>
-<p>2. You may modify your copy or copies of the Library or any portion of it, 
-  thus forming a work based on the Library, and copy and distribute such modifications 
-  or work under the terms of Section 1 above, provided that you also meet all 
-  of these conditions: </p>
-<p>a) The modified work must itself be a software library. </p>
-<p>b) You must cause the files modified to carry prominent notices stating that 
-  you changed the files and the date of any change.</p>
-<p>c) You must cause the whole of the work to be licensed at no charge to all 
-  third parties under the terms of this License. </p>
-<p>d) If a facility in the modified Library refers to a function or a table of 
-  data to be supplied by an application program that uses the facility, other 
-  than as an argument passed when the facility is invoked, then you must make 
-  a good faith effort to ensure that, in the event an application does not supply 
-  such function or table, the facility still operates, and performs whatever part 
-  of its purpose remains meaningful. </p>
-<p>(For example, a function in a library to compute square roots has a purpose 
-  that is entirely well-defined independent of the application. Therefore, Subsection 
-  2d requires that any application-supplied function or table used by this function 
-  must be optional: if the application does not supply it, the square root function 
-  must still compute square roots.) </p>
-<p>These requirements apply to the modified work as a whole. If identifiable sections 
-  of that work are not derived from the Library, and can be reasonably considered 
-  independent and separate works in themselves, then this License, and its terms, 
-  do not apply to those sections when you distribute them as separate works. But 
-  when you distribute the same sections as part of a whole which is a work based 
-  on the Library, the distribution of the whole must be on the terms of this License, 
-  whose permissions for other licensees extend to the entire whole, and thus to 
-  each and every part regardless of who wrote it. </p>
-<p>Thus, it is not the intent of this section to claim rights or contest your 
-  rights to work written entirely by you; rather, the intent is to exercise the 
-  right to control the distribution of derivative or collective works based on 
-  the Library. </p>
-<p>In addition, mere aggregation of another work not based on the Library with 
-  the Library (or with a work based on the Library) on a volume of a storage or 
-  distribution medium does not bring the other work under the scope of this License. 
-</p>
-<p>3. You may opt to apply the terms of the ordinary GNU General Public License 
-  instead of this License to a given copy of the Library. To do this, you must 
-  alter all the notices that refer to this License, so that they refer to the 
-  ordinary GNU General Public License, version 2, instead of to this License. 
-  (If a newer version than version 2 of the ordinary GNU General Public License 
-  has appeared, then you can specify that version instead if you wish.) Do not 
-  make any other change in these notices. </p>
-<p>Once this change is made in a given copy, it is irreversible for that copy, 
-  so the ordinary GNU General Public License applies to all subsequent copies 
-  and derivative works made from that copy. </p>
-<p>This option is useful when you wish to copy part of the code of the Library 
-  into a program that is not a library. </p>
-<p>4. You may copy and distribute the Library (or a portion or derivative of it, 
-  under Section 2) in object code or executable form under the terms of Sections 
-  1 and 2 above provided that you accompany it with the complete corresponding 
-  machine-readable source code, which must be distributed under the terms of Sections 
-  1 and 2 above on a medium customarily used for software interchange. </p>
-<p>If distribution of object code is made by offering access to copy from a designated 
-  place, then offering equivalent access to copy the source code from the same 
-  place satisfies the requirement to distribute the source code, even though third 
-  parties are not compelled to copy the source along with the object code.</p>
-<p>5. A program that contains no derivative of any portion of the Library, but 
-  is designed to work with the Library by being compiled or linked with it, is 
-  called a &quot;work that uses the Library&quot;. Such a work, in isolation, 
-  is not a derivative work of the Library, and therefore falls outside the scope 
-  of this License. </p>
-<p>However, linking a &quot;work that uses the Library&quot; with the Library 
-  creates an executable that is a derivative of the Library (because it contains 
-  portions of the Library), rather than a &quot;work that uses the library&quot;. 
-  The executable is therefore covered by this License. Section 6 states terms 
-  for distribution of such executables. </p>
-<p>When a &quot;work that uses the Library&quot; uses material from a header file 
-  that is part of the Library, the object code for the work may be a derivative 
-  work of the Library even though the source code is not. Whether this is true 
-  is especially significant if the work can be linked without the Library, or 
-  if the work is itself a library. The threshold for this to be true is not precisely 
-  defined by law. </p>
-<p>If such an object file uses only numerical parameters, data structure layouts 
-  and accessors, and small macros and small inline functions (ten lines or less 
-  in length), then the use of the object file is unrestricted, regardless of whether 
-  it is legally a derivative work. (Executables containing this object code plus 
-  portions of the Library will still fall under Section 6.) </p>
-<p>Otherwise, if the work is a derivative of the Library, you may distribute the 
-  object code for the work under the terms of Section 6. Any executables containing 
-  that work also fall under Section 6, whether or not they are linked directly 
-  with the Library itself. </p>
-<p>6. As an exception to the Sections above, you may also combine or link a &quot;work 
-  that uses the Library&quot; with the Library to produce a work containing portions 
-  of the Library, and distribute that work under terms of your choice, provided 
-  that the terms permit modification of the work for the customer's own use and 
-  reverse engineering for debugging such modifications. </p>
-<p>You must give prominent notice with each copy of the work that the Library 
-  is used in it and that the Library and its use are covered by this License. 
-  You must supply a copy of this License. If the work during execution displays 
-  copyright notices, you must include the copyright notice for the Library among 
-  them, as well as a reference directing the user to the copy of this License. 
-  Also, you must do one of these things: </p>
-<p>a) Accompany the work with the complete corresponding machine-readable source 
-  code for the Library including whatever changes were used in the work (which 
-  must be distributed under Sections 1 and 2 above); and, if the work is an executable 
-  linked with the Library, with the complete machine-readable &quot;work that 
-  uses the Library&quot;, as object code and/or source code, so that the user 
-  can modify the Library and then relink to produce a modified executable containing 
-  the modified Library. (It is understood that the user who changes the contents 
-  of definitions files in the Library will not necessarily be able to recompile 
-  the application to use the modified definitions.) </p>
-<p>b) Use a suitable shared library mechanism for linking with the Library. A 
-  suitable mechanism is one that (1) uses at run time a copy of the library already 
-  present on the user's computer system, rather than copying library functions 
-  into the executable, and (2) will operate properly with a modified version of 
-  the library, if the user installs one, as long as the modified version is interface-compatible 
-  with the version that the work was made with. </p>
-<p>c) Accompany the work with a written offer, valid for at least three years, 
-  to give the same user the materials specified in Subsection 6a, above, for a 
-  charge no more than the cost of performing this distribution. </p>
-<p>d) If distribution of the work is made by offering access to copy from a designated 
-  place, offer equivalent access to copy the above specified materials from the 
-  same place. </p>
-<p>e) Verify that the user has already received a copy of these materials or that 
-  you have already sent this user a copy.</p>
-<p>For an executable, the required form of the &quot;work that uses the Library&quot; 
-  must include any data and utility programs needed for reproducing the executable 
-  from it. However, as a special exception, the materials to be distributed need 
-  not include anything that is normally distributed (in either source or binary 
-  form) with the major components (compiler, kernel, and so on) of the operating 
-  system on which the executable runs, unless that component itself accompanies 
-  the executable. </p>
-<p>It may happen that this requirement contradicts the license restrictions of 
-  other proprietary libraries that do not normally accompany the operating system. 
-  Such a contradiction means you cannot use both them and the Library together 
-  in an executable that you distribute. </p>
-<p>7. You may place library facilities that are a work based on the Library side-by-side 
-  in a single library together with other library facilities not covered by this 
-  License, and distribute such a combined library, provided that the separate 
-  distribution of the work based on the Library and of the other library facilities 
-  is otherwise permitted, and provided that you do these two things: </p>
-<p>a) Accompany the combined library with a copy of the same work based on the 
-  Library, uncombined with any other library facilities. This must be distributed 
-  under the terms of the Sections above. </p>
-<p>b) Give prominent notice with the combined library of the fact that part of 
-  it is a work based on the Library, and explaining where to find the accompanying 
-  uncombined form of the same work.</p>
-<p>8. You may not copy, modify, sublicense, link with, or distribute the Library 
-  except as expressly provided under this License. Any attempt otherwise to copy, 
-  modify, sublicense, link with, or distribute the Library is void, and will automatically 
-  terminate your rights under this License. However, parties who have received 
-  copies, or rights, from you under this License will not have their licenses 
-  terminated so long as such parties remain in full compliance. </p>
-<p>9. You are not required to accept this License, since you have not signed it. 
-  However, nothing else grants you permission to modify or distribute the Library 
-  or its derivative works. These actions are prohibited by law if you do not accept 
-  this License. Therefore, by modifying or distributing the Library (or any work 
-  based on the Library), you indicate your acceptance of this License to do so, 
-  and all its terms and conditions for copying, distributing or modifying the 
-  Library or works based on it. </p>
-<p>10. Each time you redistribute the Library (or any work based on the Library), 
-  the recipient automatically receives a license from the original licensor to 
-  copy, distribute, link with or modify the Library subject to these terms and 
-  conditions. You may not impose any further restrictions on the recipients' exercise 
-  of the rights granted herein. You are not responsible for enforcing compliance 
-  by third parties with this License. </p>
-<p>11. If, as a consequence of a court judgment or allegation of patent infringement 
-  or for any other reason (not limited to patent issues), conditions are imposed 
-  on you (whether by court order, agreement or otherwise) that contradict the 
-  conditions of this License, they do not excuse you from the conditions of this 
-  License. If you cannot distribute so as to satisfy simultaneously your obligations 
-  under this License and any other pertinent obligations, then as a consequence 
-  you may not distribute the Library at all. For example, if a patent license 
-  would not permit royalty-free redistribution of the Library by all those who 
-  receive copies directly or indirectly through you, then the only way you could 
-  satisfy both it and this License would be to refrain entirely from distribution 
-  of the Library. </p>
-<p>If any portion of this section is held invalid or unenforceable under any particular 
-  circumstance, the balance of the section is intended to apply, and the section 
-  as a whole is intended to apply in other circumstances. </p>
-<p>It is not the purpose of this section to induce you to infringe any patents 
-  or other property right claims or to contest validity of any such claims; this 
-  section has the sole purpose of protecting the integrity of the free software 
-  distribution system which is implemented by public license practices. Many people 
-  have made generous contributions to the wide range of software distributed through 
-  that system in reliance on consistent application of that system; it is up to 
-  the author/donor to decide if he or she is willing to distribute software through 
-  any other system and a licensee cannot impose that choice. </p>
-<p>This section is intended to make thoroughly clear what is believed to be a 
-  consequence of the rest of this License. </p>
-<p>12. If the distribution and/or use of the Library is restricted in certain 
-  countries either by patents or by copyrighted interfaces, the original copyright 
-  holder who places the Library under this License may add an explicit geographical 
-  distribution limitation excluding those countries, so that distribution is permitted 
-  only in or among countries not thus excluded. In such case, this License incorporates 
-  the limitation as if written in the body of this License. </p>
-<p>13. The Free Software Foundation may publish revised and/or new versions of 
-  the Lesser General Public License from time to time. Such new versions will 
-  be similar in spirit to the present version, but may differ in detail to address 
-  new problems or concerns.</p>
-<p>Each version is given a distinguishing version number. If the Library specifies 
-  a version number of this License which applies to it and &quot;any later version&quot;, 
-  you have the option of following the terms and conditions either of that version 
-  or of any later version published by the Free Software Foundation. If the Library 
-  does not specify a license version number, you may choose any version ever published 
-  by the Free Software Foundation. </p>
-<p>14. If you wish to incorporate parts of the Library into other free programs 
-  whose distribution conditions are incompatible with these, write to the author 
-  to ask for permission. For software which is copyrighted by the Free Software 
-  Foundation, write to the Free Software Foundation; we sometimes make exceptions 
-  for this. Our decision will be guided by the two goals of preserving the free 
-  status of all derivatives of our free software and of promoting the sharing 
-  and reuse of software generally. </p>
-<p>NO WARRANTY </p>
-<p>15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR 
-  THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE 
-  STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY 
-  &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, 
-  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
-  FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE 
-  OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE 
-  COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. </p>
-<p>16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL 
-  ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 
-  THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 
-  GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE 
-  OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR 
-  DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR 
-  A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER 
-  OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. <br>
-</p>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-<br>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/license.html 4.5.4/mambots/editors/tinymce/docs/license.html
--- 4.5.2.3/mambots/editors/tinymce/docs/license.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/license.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,465 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>TinyMCE License (LGPL)</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>TinyMCE License (LGPL)</h1>
+</div>
+
+<div class="content">
+<p>
+Visit the <a href="faq.html">FAQ</a> for general answers surrounding TinyMCE. Or visit <a href="http://www.fsf.org" target="_blank">http://www.fsf.org</a> for more information about Open-Source licenses.
+</p>
+<pre>
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL.  It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it.  You can use it for
+your libraries, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library.  If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+.
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software.  To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+  Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs.  This
+license, the GNU Library General Public License, applies to certain
+designated libraries.  This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+  The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it.  Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program.  However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+  Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries.  We
+concluded that weaker conditions might promote sharing better.
+
+  However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves.  This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them.  (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.)  The hope is that this
+will lead to faster development of free libraries.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+  Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+.
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License").  Each licensee is
+addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+.
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+.
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+.
+  6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    c) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    d) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+.
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+.
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+.
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+</pre>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_accessibility_focus.html 4.5.4/mambots/editors/tinymce/docs/option_accessibility_focus.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_accessibility_focus.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_accessibility_focus.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: accessibility_focus</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: accessibility_focus</h1>
+</div>
+
+<div class="content">
+	<p>
+		If this option is set to true some accessibility focus will available to all buttons, you will be able to tab through them all. If you set this option to false, focus will be placed inside the text area when you tab through the interface.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the accessibility_focus option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>accessibility_focus : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_accessibility_warnings.html 4.5.4/mambots/editors/tinymce/docs/option_accessibility_warnings.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_accessibility_warnings.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_accessibility_warnings.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: accessibility_warnings</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: accessibility_warnings</h1>
+</div>
+
+<div class="content">
+	<p>
+		If this option is set to true some accessibility warnings will be presented to the user if they miss specifying that information. This option is set to true default, since we should all try to make this world a better place for disabled people. But if you are annoyed with the warnings, set this option to false.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the accessibility_warnings option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>accessibility_warnings : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_add_form_submit_trigger.html 4.5.4/mambots/editors/tinymce/docs/option_add_form_submit_trigger.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_add_form_submit_trigger.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_add_form_submit_trigger.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: add_form_submit_trigger</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: add_form_submit_trigger</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to turn on/off the onsubmit event listener. This feature adds a onsubmit event listener on all forms on the page, if a form is submitted a tinyMCE.triggerSave() JavaScript calls gets executed, this function moves HTML content from the editor iframe and to the hidden form element. This option is set to true by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the add_form_submit_trigger option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>add_form_submit_trigger : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_add_unload_trigger.html 4.5.4/mambots/editors/tinymce/docs/option_add_unload_trigger.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_add_unload_trigger.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_add_unload_trigger.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: add_unload_trigger</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: add_unload_trigger</h1>
+</div>
+
+<div class="content">
+	<p>
+		If you set this option to true, page contents will be stored away is the page is unloaded for example is the user navigates away from the page and then navigated back to it by pressing the back button. This option is set to true by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the add_unload_trigger option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>add_unload_trigger : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_apply_source_formatting.html 4.5.4/mambots/editors/tinymce/docs/option_apply_source_formatting.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_apply_source_formatting.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_apply_source_formatting.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: apply_source_formatting</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: apply_source_formatting</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to tell TinyMCE to apply some source formatting to the output HTML code. This function is disabled by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the apply_source_formatting option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>apply_source_formatting : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_ask.html 4.5.4/mambots/editors/tinymce/docs/option_ask.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_ask.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_ask.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: ask</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: ask</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to add a confirmation dialog when focusing textareas. This dialog asks if the focused textarea should be converted into a editor instance or not. It will only ask once since it would get annoying otherwice. The default value of this option is &quot;false&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the ask option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>ask : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_auto_focus.html 4.5.4/mambots/editors/tinymce/docs/option_auto_focus.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_auto_focus.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_auto_focus.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: auto_focus</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: auto_focus</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to auto focus a editor instance. The value of this option should be a editor instance id. Editor instance ids are specified as &quot;mce_editor_&lt;index&gt;&quot; where index is a value starting from 0. So if there are 3 editor instances on a page these would have the following ids mce_editor_0, mce_editor_1 and mce_editor_2.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the auto_focus option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>auto_focus : "mce_editor_2"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_auto_reset_designmode.html 4.5.4/mambots/editors/tinymce/docs/option_auto_reset_designmode.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_auto_reset_designmode.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_auto_reset_designmode.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: auto_reset_designmode</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: auto_reset_designmode</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is very useful if TinyMCE is used in a DHTML tab system or other divs that are hidden and displayed by some JavaScript. Since Mozilla has a bug when using display:none, the designMode state gets lost. To prevent this from happening you should enable this option. The default value of this option is &quot;true&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the auto_reset_designmode option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>auto_reset_designmode : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_auto_resize.html 4.5.4/mambots/editors/tinymce/docs/option_auto_resize.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_auto_resize.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_auto_resize.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: auto_resize</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: auto_resize</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to get the TinyMCE editor area to resize to the bounderies of the contents. This option is very experimental and is set to false by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the auto_resize option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>auto_resize : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_browsers.html 4.5.4/mambots/editors/tinymce/docs/option_browsers.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_browsers.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_browsers.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: browsers</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: browsers</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of supported browsers. This enables you to for example disable the editor while running on Safari. The default value of this option is: msie,gecko,safari,opera and since the support for Safari is very limited a warning message will appear until a better version is released. The possible values of this option is msie, gecko and safari.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the browsers option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>browsers : "msie,gecko,opera"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_button_tile_map.html 4.5.4/mambots/editors/tinymce/docs/option_button_tile_map.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_button_tile_map.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_button_tile_map.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: button_tile_map</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: button_tile_map</h1>
+</div>
+
+<div class="content">
+	<p>
+		If this option is set to true TinyMCE will use tiled images instead of individual images for most of the editor controls. This produces faster loading time since only one GIF image needs to be loaded instead of a GIF for each individual button. This option is set to false by default since it doesn't work with some DOCTYPE declarations.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the button_tile_map option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>button_tile_map : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_cleanup_callback.html 4.5.4/mambots/editors/tinymce/docs/option_cleanup_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_cleanup_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_cleanup_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: cleanup_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: cleanup_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to add custom cleanup logic to TinyMCE. This function is called when the cleanup process is executed this process occures when the editor saves/submits content, user hits the cleanup button and when the HTML editor dialog is presented. The format of this function is: customCleanup(type, value). Where type can be &quot;get_from_editor&quot; when the contents is extracted from TinyMCE for example when the user submits the form. The &quot;insert_to_editor&quot; type value gets passed when new contents is inserted into the editor on initialization or when the HTML editor dialog commits new content. The &quot;get_from_editor_dom&quot; value is executed when cleanup process has a valid DOM tree and is extracted from the editor. The &quot;insert_to_editor_dom&quot; gets passed when the editor has a valid DOM tree and contents has been inserted into the editor. The example below illustrated all these types.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the cleanup_callback option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomCleanup</strong>(type, value) {
+	switch (type) {
+		case "get_from_editor":
+			alert("Value HTML string: " + value);
+
+			// Do custom cleanup code here
+
+			break;
+
+		case "insert_to_editor":
+			alert("Value HTML string: " + value);
+
+			// Do custom cleanup code here
+
+			break;
+
+		case "get_from_editor_dom":
+			alert("Value DOM Element " + value);
+
+			// Do custom cleanup code here
+
+			break;
+
+		case "insert_to_editor_dom":
+			alert("Value DOM Element: " + value);
+
+			// Do custom cleanup code here
+
+			break;
+	}
+
+	return value;
+}
+
+tinyMCE.init({
+	...
+	<strong>cleanup_callback : "myCustomCleanup"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_cleanup.html 4.5.4/mambots/editors/tinymce/docs/option_cleanup.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_cleanup.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_cleanup.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: cleanup</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: cleanup</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to turn on/off the built in cleanup functionality. TinyMCE is equipped with powerful cleanup functionality that enables you to specify what elements and attributes are allowed and how HTML contents should be generated. This option is set to true by default, but if you want to disable it you may set it to false. <strong>Notice: It's not recommended to disable this feature.</strong>
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the cleanup option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>cleanup : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_cleanup_on_startup.html 4.5.4/mambots/editors/tinymce/docs/option_cleanup_on_startup.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_cleanup_on_startup.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_cleanup_on_startup.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: cleanup_on_startup</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: cleanup_on_startup</h1>
+</div>
+
+<div class="content">
+	<p>
+		If you set this option to true, TinyMCE will perform a HTML cleanup call when the editor loads. This option is set to false by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the cleanup_on_startup option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>cleanup_on_startup : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_content_css.html 4.5.4/mambots/editors/tinymce/docs/option_content_css.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_content_css.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_content_css.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: content_css</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: content_css</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify a custom CSS file that extends the theme content CSS. This CSS file is the one used within the editor (the editable area). The default location of this CSS file is within the current theme. This option can also be a comma separated list of URLs.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the content_css option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>content_css : "/mycontent.css"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_convert_fonts_to_spans.html 4.5.4/mambots/editors/tinymce/docs/option_convert_fonts_to_spans.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_convert_fonts_to_spans.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_convert_fonts_to_spans.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: convert_fonts_to_spans</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: convert_fonts_to_spans</h1>
+</div>
+
+<div class="content">
+	<p>If you set this option to true, all TinyMCE will convert all font elements to span elements and generate span elements instead of font elements. This option should be used inorder to get more W3C compatible code, since font elements are deprecated. How sizes gets converted can be controlled by the <a href="option_font_size_classes.html">font_size_classes</a> and <a href="option_font_size_style_values.html">font_size_style_values</a> options.</p>
+	<p>
+		More information about this subject can be found in this article: <a href="http://www.microsoft.com/typography/web/designer/face7.htm">What's wrong with FONT FACE</a>
+	</p>
+	<div class="separator"></div>
+
+	<h3>Example of usage of the convert_fonts_to_spans option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>convert_fonts_to_spans : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_convert_newlines_to_brs.html 4.5.4/mambots/editors/tinymce/docs/option_convert_newlines_to_brs.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_convert_newlines_to_brs.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_convert_newlines_to_brs.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: convert_newlines_to_brs</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: convert_newlines_to_brs</h1>
+</div>
+
+<div class="content">
+	<p>
+		If you set this option to true newline characters codes gets converted in to br elements. This option is set to false by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the convert_newlines_to_brs option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>convert_newlines_to_brs : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_convert_urls.html 4.5.4/mambots/editors/tinymce/docs/option_convert_urls.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_convert_urls.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_convert_urls.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: convert_urls</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: convert_urls</h1>
+</div>
+
+<div class="content">
+	<p>This option enables you to control if TinyMCE is to be clever and restore urls to their original values. URLs are auto converted/messed up by default since the built in browser logic works this way, there is no way to get the real URL unless you store it away. If you set this option to false it will try to keep these URLs intact. This option is set to true by default that means URLs will be forced absolute or relative depending on the state of <a href="option_relative_urls.html">relative_urls</a>.</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the convert_urls option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>convert_urls : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_custom_shortcuts.html 4.5.4/mambots/editors/tinymce/docs/option_custom_shortcuts.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_custom_shortcuts.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_custom_shortcuts.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: custom_shortcuts</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: custom_shortcuts</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to disable/enable the custom keyboard shortcuts plugins and themes may register. The value of this
+		option is set to true by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the custom_shortcuts option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>custom_shortcuts : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_custom_undo_redo.html 4.5.4/mambots/editors/tinymce/docs/option_custom_undo_redo.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_custom_undo_redo.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_custom_undo_redo.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: custom_undo_redo</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: custom_undo_redo</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is a true/false option that enables you to disable/enable the custom undo/redo logic within TinyMCE. This option is enabled by default, if you disable it some operations may not be undoable.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the custom_undo_redo option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>custom_undo_redo : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_custom_undo_redo_keyboard_shortcuts.html 4.5.4/mambots/editors/tinymce/docs/option_custom_undo_redo_keyboard_shortcuts.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_custom_undo_redo_keyboard_shortcuts.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_custom_undo_redo_keyboard_shortcuts.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: custom_undo_redo_keyboard_shortcuts</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: custom_undo_redo_keyboard_shortcuts</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to disable/enable the usage of keyboard shortcuts for undo/redo. This feature is enabled by default. Keyboard shortcurs are Ctrl+Z for undo, Ctrl+Y for redo.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the custom_undo_redo_keyboard_shortcuts option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>custom_undo_redo_keyboard_shortcuts : "false"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_custom_undo_redo_levels.html 4.5.4/mambots/editors/tinymce/docs/option_custom_undo_redo_levels.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_custom_undo_redo_levels.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_custom_undo_redo_levels.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: custom_undo_redo_levels</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: custom_undo_redo_levels</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain the number of undo levels to keep in memory. This is set to -1 by default and such a value tells TinyMCE to use a unlimited number of undo levels. But this steals lots of memory so for low end systems a value of 10 may be better.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the custom_undo_redo_levels option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>custom_undo_redo_levels : 10</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_custom_undo_redo_restore_selection.html 4.5.4/mambots/editors/tinymce/docs/option_custom_undo_redo_restore_selection.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_custom_undo_redo_restore_selection.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_custom_undo_redo_restore_selection.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: custom_undo_redo_restore_selection</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: custom_undo_redo_restore_selection</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option gives you the possibility to turn on/off the restoration of the cursor/selection when a undo/redo event occurs. This option is enabled by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the custom_undo_redo_restore_selection option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>custom_undo_redo_restore_selection : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_debug.html 4.5.4/mambots/editors/tinymce/docs/option_debug.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_debug.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_debug.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: debug</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: debug</h1>
+</div>
+
+<div class="content">
+	<p>
+		If the value of this option is set to &quot;true&quot; some debugging information will appear such as a list of what CSS files are used. The default value of this option is false.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the debug option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>debug : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_dialog_type.html 4.5.4/mambots/editors/tinymce/docs/option_dialog_type.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_dialog_type.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_dialog_type.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: dialog_type</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: dialog_type</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify how dialogs/popups should be opened, possible values are &quot;window&quot; and &quot;modal&quot;, where the window option opens a normal window and the dialog option opens a modal dialog. This option is set to &quot;window&quot; by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the dialog_type option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>dialog_type : "modal"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_directionality.html 4.5.4/mambots/editors/tinymce/docs/option_directionality.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_directionality.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_directionality.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: directionality</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: directionality</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option specifies the default writing direction, some languages writes from right to left instead of left to right. The default value of this option is &quot:ltr&quot; but if you want to use from right to left mode specify &quot;rtl&quot; instead.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the directionality option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>directionality : "rtl"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_display_tab_class.html 4.5.4/mambots/editors/tinymce/docs/option_display_tab_class.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_display_tab_class.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_display_tab_class.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: display_tab_class</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: display_tab_class</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is useful when TinyMCE is used within tabs in MSIE. This property is needed since MSIE has a bug where it's impossible to retrive the width/height on elements like images while it's hidden using display:none. So use this property to define the class name that is used to hide a specific tab, this will help TinyMCE to display the tab while getting the image data.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the display_tab_class option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>display_tab_class : "showTab"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_docs_language.html 4.5.4/mambots/editors/tinymce/docs/option_docs_language.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_docs_language.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_docs_language.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: docs_language</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: docs_language</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a language code of the editor documentation to use with TinyMCE. These codes are in <a href="http://www.loc.gov/standards/iso639-2/englangn.html">ISO-639-1</a> format to see if your language is available check the contents of &quot;tinymce/jscripts/tiny_mce/theme/&lt;theme used&gt;/docs&quot;. The default value of this option is the value specified in the  &quot;language&quot; option or &quot;en&quot; for English.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the docs_language option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>docs_language : "sv"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_doctype.html 4.5.4/mambots/editors/tinymce/docs/option_doctype.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_doctype.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_doctype.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: doctype</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: doctype</h1>
+</div>
+
+<div class="content">
+	<p>This option enables you to specify the doctype that is used while editing content within TinyMCE, this defaults to <!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;>.</p>
+	<div class="separator"></div>
+
+	<h3>Example of usage of the doctype option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>doctype : &quot;&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;&quot;</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_document_base_url.html 4.5.4/mambots/editors/tinymce/docs/option_document_base_url.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_document_base_url.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_document_base_url.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: document_base_url</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: document_base_url</h1>
+</div>
+
+<div class="content">
+	<p>This option enables you to specify the URL from where all URLs will be relative to this option is only used when the <a href="option_relative_urls.html">relative_urls</a> option is set to true. The value of this option is set to the current document by default.</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the document_base_url option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>document_base_url : "/somedir/somfile.html"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_editor_css.html 4.5.4/mambots/editors/tinymce/docs/option_editor_css.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_editor_css.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_editor_css.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: editor_css</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: editor_css</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify the CSS to be used for the editor toolbars/user interface of TinyMCE this option is set to a CSS file found in the currently used theme by default. This CSS contains layout information about panels and buttons used by TinyMCE.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the editor_css option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>editor_css : "/myeditor.css"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_editor_deselector.html 4.5.4/mambots/editors/tinymce/docs/option_editor_deselector.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_editor_deselector.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_editor_deselector.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: editor_deselector</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: editor_deselector</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify a CSS class name that will be deselect textareas from being converted into editor instances. If this option isn't set to a value this option will not have any effect and the <a href="option_mode.html">mode</a> option will choose textareas instead. The default value of this option is &quot;mceNoEditor&quot; so if mceNoEditor is added to the class attribute of a textarea it will be excluded for convertion.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the editor_deselector option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>editor_deselector : "mceNoEditor"</strong>
+});
+</pre>
+	</div>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage in the HTML:</h3>
+	<div class="example">
+<pre>
+&lt;textarea id=&quot;myarea1&quot; class=&quot;<strong>mceNoEditor</strong>&quot;&gt;This will be a NOT be a editor.&lt;/textarea&gt;
+
+&lt;textarea id=&quot;myarea2&quot;&gt;This will be a editor.&lt;/textarea&gt;
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_editor_selector.html 4.5.4/mambots/editors/tinymce/docs/option_editor_selector.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_editor_selector.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_editor_selector.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: editor_selector</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: editor_selector</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify a CSS class name that will be required on the text areas that is to be converted. This enables you to select specific text areas for convertion by adding this CSS class name to the class attribute of the text area. If this option isn't set to a value this option will not have any effect and the <a href="option_mode.html">mode</a> option will choose textareas instead. If you want all editors to be converted and just specific editors to be excluded check the <a href="option_editor_deselector.html">editor_deselector</a> option.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the editor_selector option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>editor_selector : "mceEditor"</strong>
+});
+</pre>
+	</div>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage in the HTML:</h3>
+	<div class="example">
+<pre>
+&lt;textarea id=&quot;myarea1&quot; class=&quot;<strong>mceEditor</strong>&quot;&gt;This will be a editor.&lt;/textarea&gt;
+
+&lt;textarea id=&quot;myarea2&quot;&gt;This will NOT be a editor.&lt;/textarea&gt;
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_elements.html 4.5.4/mambots/editors/tinymce/docs/option_elements.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_elements.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_elements.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: elements</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: elements</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of element id's to convert into editor instances. This option is only used if <a href="option_mode.html">mode</a> is set to &quot;exact&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the elements option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>elements : "elm1,elm2"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_encoding.html 4.5.4/mambots/editors/tinymce/docs/option_encoding.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_encoding.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_encoding.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: encoding</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: encoding</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to get XML escaped contents out of TinyMCE. Posted content will be converted to a XML string escaping characters such as &lt; &gt; &quot; &amp; to &amp;lt; &amp;gt; &amp;quot; &amp;amp;. This option is set nothing by default and is there for disabled.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the encoding option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>encoding : "xml"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_entities.html 4.5.4/mambots/editors/tinymce/docs/option_entities.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_entities.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_entities.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: entities</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: entities</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option contains a comma separated list of entity names that is used instead of characters. Odd items are the character code and even items are the name of the character code. The default value of this option is placed in the example below.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the entities option / default value:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>entities : "160,nbsp,38,amp,34,quot,162,cent,8364,euro,163,pound,165,yen,169,copy,174,reg,8482,trade,8240,permil,181,micro,183,middot,8226,bull,8230,hellip,8242,prime,8243,Prime,167,sect,182,para,223,szlig,8249,lsaquo,8250,rsaquo,171,laquo,187,raquo,8216,lsquo,8217,rsquo,8220,ldquo,8221,rdquo,8218,sbquo,8222,bdquo,60,lt,62,gt,8804,le,8805,ge,8211,ndash,8212,mdash,175,macr,8254,oline,164,curren,166,brvbar,168,uml,161,iexcl,191,iquest,710,circ,732,tilde,176,deg,8722,minus,177,plusmn,247,divide,8260,frasl,215,times,185,sup1,178,sup2,179,sup3,188,frac14,189,frac12,190,frac34,402,fnof,8747,int,8721,sum,8734,infin,8730,radic,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8712,isin,8713,notin,8715,ni,8719,prod,8743,and,8744,or,172,not,8745,cap,8746,cup,8706,part,8704,forall,8707,exist,8709,empty,8711,nabla,8727,lowast,8733,prop,8736,ang,180,acute,184,cedil,170,ordf,186,ordm,8224,dagger,8225,Dagger,192,Agrave,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,202,Ecirc,203,Euml,204,Igrave,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,212,Ocirc,213,Otilde,214,Ouml,216,Oslash,338,OElig,217,Ugrave,219,Ucirc,220,Uuml,376,Yuml,222,THORN,224,agrave,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,234,ecirc,235,euml,236,igrave,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,244,ocirc,245,otilde,246,ouml,248,oslash,339,oelig,249,ugrave,251,ucirc,252,uuml,254,thorn,255,yuml,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,8501,alefsym,982,piv,8476,real,977,thetasym,978,upsih,8472,weierp,8465,image,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8756,there4,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,173,shy,233,eacute,237,iacute,243,oacute,250,uacute,193,Aacute,225,aacute,201,Eacute,205,Iacute,211,Oacute,218,Uacute,221,Yacute,253,yacute"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_entity_encoding.html 4.5.4/mambots/editors/tinymce/docs/option_entity_encoding.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_entity_encoding.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_entity_encoding.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: entity_encoding</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: entity_encoding</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option controls how entities/characters gets processed by TinyMCE. The value can be set to numeric, named or raw. Where numeric is numeric representation such as &quot;&amp;#160;&quot; named is entity names such as &quot;&amp;nbsp;&quot; and raw is &quot;&nbsp;&quot;. The default value of this option is named, if named is used the <a href="option_entities.html">entities</a> option will be used to convert the codes into names.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the entity_encoding option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>entity_encoding : "raw"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_event_elements.html 4.5.4/mambots/editors/tinymce/docs/option_event_elements.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_event_elements.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_event_elements.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: event_elements</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: event_elements</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of elements thay may have event attributes such as onclick and simmilar. This option is needed since some browsers execute these events while editing content. This option is set to &quot;a,img&quot; default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the event_elements option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>event_elements : "a,img,span"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_execcommand_callback.html 4.5.4/mambots/editors/tinymce/docs/option_execcommand_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_execcommand_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_execcommand_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: execcommand_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: execcommand_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option allows you to add a custom callback function for execCommand handling. This enables you to override internal
+		command functions in TinyMCE. The example below shows how the mceLink and mceImage are overriden.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the execcommand_callback option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomExecCommandHandler</strong>(editor_id, elm, command, user_interface, value) {
+	var linkElm, imageElm, inst;
+
+	switch (command) {
+		case "mceLink":
+			inst = tinyMCE.getInstanceById(editor_id);
+			linkElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "a");
+
+			if (linkElm)
+				alert("Link dialog has been overriden. Found link href: " + tinyMCE.getAttrib(linkElm, "href"));
+			else
+				alert("Link dialog has been overriden.");
+
+			return true;
+
+		case "mceImage":
+			inst = tinyMCE.getInstanceById(editor_id);
+			imageElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "img");
+
+			if (imageElm)
+				alert("Image dialog has been overriden. Found image src: " + tinyMCE.getAttrib(imageElm, "src"));
+			else
+				alert("Image dialog has been overriden.");
+
+			return true;
+	}
+
+	return false; // Pass to next handler in chain
+}
+
+tinyMCE.init({
+	...
+	<strong>execcommand_callback : "myCustomExecCommandHandler"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_extended_valid_elements.html 4.5.4/mambots/editors/tinymce/docs/option_extended_valid_elements.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_extended_valid_elements.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_extended_valid_elements.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: extended_valid_elements</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: extended_valid_elements</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is very similar to <a href="option_valid_elements.html">valid_elements</a> the only diffrance between this option and valid_elements is that this one gets added to the existing rule set. This can be very useful if the existing rule set is fine but you want to add some specific elements that also should be valid.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the extended_valid_elements option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_external_image_list_url.html 4.5.4/mambots/editors/tinymce/docs/option_external_image_list_url.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_external_image_list_url.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_external_image_list_url.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: external_image_list_url</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: external_image_list_url</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to have a external list of images this list of images can be generated by a server side page and then inserted into the image dialog windows of TinyMCE. The images can be to internal site images or external URLs.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the external_image_list_url option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>external_image_list_url : "myexternallist.js"</strong>
+});
+</pre>
+	</div>
+
+	<div class="separator"></div>
+
+	<h3>Example of a external link list file: (myexternallist.js)</h3>
+	<div class="example">
+<pre>
+var tinyMCEImageList = new Array(
+	// Name, URL
+	["Logo 1", "logo.jpg"],
+	["Logo 2 Over", "logo_over.jpg"]
+);
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_external_link_list_url.html 4.5.4/mambots/editors/tinymce/docs/option_external_link_list_url.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_external_link_list_url.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_external_link_list_url.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: external_link_list_url</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: external_link_list_url</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to have a external list of links this list of links can be generated by a server side page and then inserted into the link dialog windows of TinyMCE. The links can be to internal site documents or external URLs.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the external_link_list_url option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>external_link_list_url : "myexternallist.js"</strong>
+});
+</pre>
+	</div>
+
+	<div class="separator"></div>
+
+	<h3>Example of a external link list file: (myexternallist.js)</h3>
+	<div class="example">
+<pre>
+var tinyMCELinkList = new Array(
+	// Name, URL
+	["Moxiecode", "http://www.moxiecode.com"],
+	["Freshmeat", "http://www.freshmeat.com"],
+	["Sourceforge", "http://www.sourceforge.com"]
+);
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_file_browser_callback.html 4.5.4/mambots/editors/tinymce/docs/option_file_browser_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_file_browser_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_file_browser_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: file_browser_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: file_browser_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to add your own file browser/image browser to TinyMCE. This function is executed each time a user clicks on the &quot;browse&quot; buttons in various dialogs. The format of this callback function is: fileBrowser(field_name, url, type, win) where field_name is the id/name of the form element that the browser should insert it's URL into. The url parameter contains the URL value that is currently inside the field. The type parameter contains what type of browser to present this value can be file, image or flash depending on what dialog is calling the function. The win parameter contains a reference to the dialog/window that executes the function.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the file_browser_callback option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomFileBrowser</strong>(field_name, url, type, win) {
+	// Do custom browser logic
+	win.document.forms[0].elements[field_name].value = 'my browser value';
+}
+
+tinyMCE.init({
+	...
+	<strong>file_browser_callback : "myCustomFileBrowser"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_fix_content_duplication.html 4.5.4/mambots/editors/tinymce/docs/option_fix_content_duplication.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_fix_content_duplication.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_fix_content_duplication.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: fix_content_duplication</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: fix_content_duplication</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is available since MSIE has a serious bug where the DOM tree sometimes can include the same node twice. This produces duplication of content when the cleanup process runs. This option is enabled by default and removes any duplicated nodes.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the fix_content_duplication option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>fix_content_duplication : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_fix_list_elements.html 4.5.4/mambots/editors/tinymce/docs/option_fix_list_elements.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_fix_list_elements.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_fix_list_elements.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: fix_list_elements</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: fix_list_elements</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify that list elements UL/OL is to be converted to valid XHTML. This option is disabled by default.<br /><br />
+	<div class="example">
+<pre>
+This invalid list:
+&lt;ol&gt;
+	&lt;li&gt;a&lt;/li&gt;
+	&lt;ol&gt;
+		&lt;li&gt;b&lt;/li&gt;
+		&lt;li&gt;c&lt;/li&gt;
+	&lt;/ol&gt;
+	&lt;li&gt;e&lt;/li&gt;
+&lt;/ol>
+
+Gets converted into this valid list:
+&lt;ol&gt;
+	&lt;li&gt;a
+		&lt;ol&gt;
+			&lt;li>b&lt;/li&gt;
+			&lt;li>c&lt;/li&gt;
+		&lt;/ol&gt;
+	&lt;/li&gt;
+	&lt;li&gt;e&lt;/li&gt;
+&lt;/ol&gt;
+</pre>
+	</div>
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the fix_list_elements option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>fix_list_elements : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_fix_table_elements.html 4.5.4/mambots/editors/tinymce/docs/option_fix_table_elements.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_fix_table_elements.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_fix_table_elements.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: fix_table_elements</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: fix_table_elements</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify that list table elements should be moved outside paragraphs or other block elements. If you enable this option block elements will be split into two chunks when a table is found within it, see the example below for details. This option is disabled by default.<br /><br />
+	<div class="example">
+<pre>
+This invalid table:
+&lt;p&gt;
+a
+&lt;table&gt;
+	&lt;tr>&lt;td&gt;b&lt;/td&gt;&lt;/tr&gt;
+	&lt;tr>&lt;td&gt;c&lt;/td&gt;&lt;/tr&gt;
+&lt;/table&gt;
+d
+&lt;/p&gt;
+
+Gets converted into this valid XHTML:
+&lt;p&gt;
+a
+&lt;/p&gt;
+&lt;table&gt;
+	&lt;tr>&lt;td&gt;b&lt;/td&gt;&lt;/tr&gt;
+	&lt;tr>&lt;td&gt;c&lt;/td&gt;&lt;/tr&gt;
+&lt;/table&gt;
+&lt;p&gt;
+d
+&lt;/p&gt;
+</pre>
+	</div>
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the fix_table_elements option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>fix_table_elements : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_focus_alert.html 4.5.4/mambots/editors/tinymce/docs/option_focus_alert.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_focus_alert.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_focus_alert.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: focus_alert</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: focus_alert</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify if a &quot;Editor is not focused&quot; alert message should appear if the user calls tinyMCE.execCommand and havn't selected a editor instance before. This message will normaly not appear unless some integration has been made. Using tinyMCE.execInstanceCommand prevents this from happening since it auto focuses the editor specified. The default value of this option is &quot;true&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the focus_alert option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>focus_alert : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_font_size_classes.html 4.5.4/mambots/editors/tinymce/docs/option_font_size_classes.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_font_size_classes.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_font_size_classes.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: font_size_classes</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: font_size_classes</h1>
+</div>
+
+<div class="content">
+	<p>Comma separated list of class names that is to be used when the user selects font sizes, this option is only used when the <a href="option_convert_fonts_to_spans.html">convert_fonts_to_spans</a> option is enabled. This list of classes should be 7 items. This option is not used by default, but can be useful if you want to have custom classes for each font size for browser compatiblity.</p>
+	<div class="separator"></div>
+
+	<h3>Example of usage of the font_size_classes option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>font_size_classes : "fontSize1,fontSize2,fontSize3,fontSize4,fontSize5,fontSize6,fontSize7"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_font_size_style_values.html 4.5.4/mambots/editors/tinymce/docs/option_font_size_style_values.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_font_size_style_values.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_font_size_style_values.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: font_size_style_values</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: font_size_style_values</h1>
+</div>
+
+<div class="content">
+	<p>Comma separated list of style values that is to be used when the user selects font sizes, this option is only used when the <a href="option_convert_fonts_to_spans.html">convert_fonts_to_spans</a> option is enabled. This list of style values should be 7 items. This option is not used by default, but can be useful if you want to have custom CSS values for each font size for browser compatiblity. Defaults to: xx-small,x-small,small,medium,large,x-large,xx-large.</p>
+	<div class="separator"></div>
+
+	<h3>Example of usage of the font_size_style_values option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>font_size_style_values : "xx-small,x-small,small,medium,large,x-large,xx-large"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_force_br_newlines.html 4.5.4/mambots/editors/tinymce/docs/option_force_br_newlines.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_force_br_newlines.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_force_br_newlines.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: force_br_newlines</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: force_br_newlines</h1>
+</div>
+
+<div class="content">
+	<p>
+		If you set this option to true, TinyMCE will force BR elements on newlines instead of inserting paragraphs. This option is set to false by default since paragraphs is a much better concept. You can style P elements to be one row by adding p { margin: 0; padding: 0; } to your CSS, P tags where invented for a reason and should be used. <strong>BR elements should only be used when you really have to (mostly never)</strong>.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the force_br_newlines option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>force_br_newlines : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_force_hex_style_colors.html 4.5.4/mambots/editors/tinymce/docs/option_force_hex_style_colors.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_force_hex_style_colors.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_force_hex_style_colors.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: force_hex_style_colors</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: force_hex_style_colors</h1>
+</div>
+
+<div class="content">
+	<p>This option enables you to control TinyMCE to force the color format to use hexa decimal instead of rgb strings. It converts for example &quot;color: rgb(255, 255, 0)&quot; to &quot;#FFFF00&quot;. This option is set to true by default since otherwice MSIE and Firefox would differ in this behavior.</p>
+	<div class="separator"></div>
+
+	<h3>Example of usage of the force_hex_style_colors option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>force_hex_style_colors : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_force_p_newlines.html 4.5.4/mambots/editors/tinymce/docs/option_force_p_newlines.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_force_p_newlines.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_force_p_newlines.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: force_p_newlines</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: force_p_newlines</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to disable/enable the creation of paragraphs on return/enter in Mozilla/Firefox. The default value of this option is true.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the force_p_newlines option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>force_p_newlines : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_handle_event_callback.html 4.5.4/mambots/editors/tinymce/docs/option_handle_event_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_handle_event_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_handle_event_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: handle_event_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: handle_event_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a function name to be executed each time TinyMCE intercepts and handles a event such as keydown, mousedown and so forth. The format of this function is: handleEvent(event), where inst is the editor instance object reference. If the handle event function returns false it will terminate the internal event handling.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the handle_event_callback option:</h3>
+	<div class="example">
+<pre>
+// Remember to enable the possibility to switch status messages in the browser before trying the example below
+
+function <strong>myHandleEvent</strong>(e) {
+	window.status = "event:" + e.type;
+
+	return true; // Continue handling
+}
+
+tinyMCE.init({
+	...
+	<strong>handle_event_callback : &quot;myHandleEvent&quot;</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_height.html 4.5.4/mambots/editors/tinymce/docs/option_height.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_height.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_height.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: height</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: height</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option gives you the ability to specify the height of the editor in pixels or percent. This height can be very userful to specify if the editor is used in hidden tabs or if the editor area should be bigger than the replaced element. The default value of this option is set to the height of the HTML element TinyMCE replaces for example the pixel height of a textarea.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the height option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>height : "480"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_hidden_tab_class.html 4.5.4/mambots/editors/tinymce/docs/option_hidden_tab_class.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_hidden_tab_class.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_hidden_tab_class.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: hidden_tab_class</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: hidden_tab_class</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is useful when TinyMCE is used within tabs in MSIE. This property is needed since MSIE has a bug where it's impossible to retrive the width/height on elements like images while it's hidden using display:none. So use this property to define the class name that is used to hide a specific tab, this will help TinyMCE to display the tab while getting the image data.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the hidden_tab_class option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>hidden_tab_class : "hideTab"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_init_instance_callback.html 4.5.4/mambots/editors/tinymce/docs/option_init_instance_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_init_instance_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_init_instance_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: init_instance_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: init_instance_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a function name to be executed each time a editor instance is initialized. The format of this function is: initInstance(inst) where inst is the editor instance object reference.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the init_instance_callback option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomInitInstance</strong>(inst) {
+	alert("Editor: " + inst.editorId + " is now initialized.");
+}
+
+tinyMCE.init({
+	...
+	<strong>init_instance_callback : "myCustomInitInstance"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_inline_styles.html 4.5.4/mambots/editors/tinymce/docs/option_inline_styles.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_inline_styles.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_inline_styles.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: inline_styles</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: inline_styles</h1>
+</div>
+
+<div class="content">
+	<p>
+		If you enable the inline styles feature by setting this option to true. Most of the attributes gets converted into CSS style attributes instead. This will make the editor output more XHTML strict compatible.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the inline_styles option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>inline_styles : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_insertimage_callback.html 4.5.4/mambots/editors/tinymce/docs/option_insertimage_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_insertimage_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_insertimage_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: insertimage_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1><span class="marked">(deprecated)</span> Option: insertimage_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This callback was removed in 2.0.3, use <a href="option_execcommand_callback.html">execcommand_callback</a> instead this also enables you to override other things than the image and link dialogs.
+	</p>
+	<p>
+		This option enables you to override the built in functionality for inserting images. This option should contain a function name to be executed when a new image is inserted into TinyMCE. The format of this callback function is: insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action). Where most of these options are self explained the action can be &quot;update&quot; or &quot;insert&quot; depending on what operation type. This function should return an array with the same values as the incomming parameters, the example below describes how this is done. This option is set to a internal TinyMCE function by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the insertimage_callback option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomInsertImage</strong>(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action) {
+	var result = new Array();
+
+	// Do some custom logic
+	result['src'] = "logo.jpg";
+	result['alt'] = "test description";
+	result['border'] = "2";
+	result['hspace'] = "5";
+	result['vspace'] = "5";
+	result['width'] = width;
+	result['height'] = height;
+	result['align'] = "right";
+	result['title'] = "Some title";
+	result['onmouseover'] = "";
+	result['onmouseout'] = "";
+
+	return data;
+}
+
+tinyMCE.init({
+	...
+	<strong>insertimage_callback : "myCustomInsertImage"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_insertlink_callback.html 4.5.4/mambots/editors/tinymce/docs/option_insertlink_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_insertlink_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_insertlink_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: insertlink_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1><span class="marked">(deprecated)</span> Option: insertlink_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This callback was removed in 2.0.3, use <a href="option_execcommand_callback.html">execcommand_callback</a> instead this also enables you to override other things than the image and link dialogs.
+	</p>
+	<p>
+		This option enables you to override the built in functionality for inserting links. This option should contain a function name to be executed when a new link is inserted into TinyMCE. The format of this callback function is: insertLink(href, target, title, onclick, action). Where most of these options are self explained the action can be &quot;update&quot; or &quot;insert&quot; depending on what operation type. This function should return an array with the same values as the incomming parameters, the example below describes how this is done. This option is set to a internal TinyMCE function by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the insertlink_callback option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomInsertLink</strong>(href, target, title, onclick, action) {
+	var result = new Array();
+
+	// Do some custom logic
+	result['href'] = "some_page.htm";
+	result['target'] = "_self";
+	result['title'] = "Some link title";
+	result['onclick'] = "";
+
+	return data;
+}
+
+tinyMCE.init({
+	...
+	<strong>insertlink_callback : "myCustomInsertLink"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_invalid_elements.html 4.5.4/mambots/editors/tinymce/docs/option_invalid_elements.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_invalid_elements.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_invalid_elements.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: invalid_elements</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: invalid_elements</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of element names to exclude from the content. Elements in this list will removed when TinyMCE executes a cleanup.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the invalid_elements option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>invalid_elements : "strong,em"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_language.html 4.5.4/mambots/editors/tinymce/docs/option_language.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_language.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_language.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: language</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: language</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a language code of the language pack to use with TinyMCE. These codes are in <a href="http://www.loc.gov/standards/iso639-2/englangn.html">ISO-639-1</a> format to see if your language is available check the contents of &quot;tinymce/jscripts/tiny_mce/langs&quot;. The default value of this option is &quot;en&quot; for English.
+	</p>
+
+	<p>
+		If TinyMCE doesn't have a language pack for your language you could always write your own and contribute this back to this project by uploading it as a Patch at <a href="http://sourceforge.net/projects/tinymce/">SourceForge</a>. A description on how to create language packs can be found in <a href="customization_language_packs.html">Language packs</a> section.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the language option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>language : "en"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_merge_styles_invalid_parents.html 4.5.4/mambots/editors/tinymce/docs/option_merge_styles_invalid_parents.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_merge_styles_invalid_parents.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_merge_styles_invalid_parents.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: merge_styles_invalid_parents</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: merge_styles_invalid_parents</h1>
+</div>
+
+<div class="content">
+	<p>This option enables you to specify a regexp with elements you want to exclude from parent mergeing. By default style information are attached to the parent element of a selection if all childrent/the whole element contents is selected. For example if you select a whole strong element and select a font size, the font-size style will be applied to the strong element and not with a wrapping style element. But sometimes you want to force a span element, this is where this option comes in to place. This option is set to nothing by default and applies to the font size/face/color and class drop drown lists.</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the merge_styles_invalid_parents option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	// Excludes table cells and strong elements from any parent merge operation
+	<strong>merge_styles_invalid_parents : "^TD|STRONG$"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_mode.html 4.5.4/mambots/editors/tinymce/docs/option_mode.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_mode.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_mode.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: mode</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: mode</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option specifies how elements is to be converted into TinyMCE WYSIWYG editor instances. This option can be set to any of the values below.
+	</p>
+
+	<p>
+		<h3>textareas</h3>
+		Converts all textarea elements to editors when the page loads.
+	</p>
+
+	<p>
+		<h3>specific_textareas</h3>
+		Converts all textarea elements with the a <a href="option_textarea_trigger.html">textarea_trigger</a> attribute set to &quot;true&quot;.
+	</p>
+
+	<p>
+		<h3>exact</h3>
+		exact - Converts only explicit elements, these are listed in the <a href="option_elements.html">elements</a> option. These elements can be any kind for example textareas or divs.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the mode option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>mode : "exact",</strong>
+	elements : "elm1,elm2"
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_nowrap.html 4.5.4/mambots/editors/tinymce/docs/option_nowrap.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_nowrap.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_nowrap.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: nowrap</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: nowrap</h1>
+</div>
+
+<div class="content">
+	<p>
+		This nowrap option enables you to control how whitespace is to be wordwrapped within the editor. This option is set to false by default, but if you enable it by setting it to true editor contents will never wrap.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the nowrap option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>nowrap : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_object_resizing.html 4.5.4/mambots/editors/tinymce/docs/option_object_resizing.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_object_resizing.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_object_resizing.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: object_resizing</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: object_resizing</h1>
+</div>
+
+<div class="content">
+	<p>
+		This true/false option gives you the ability to turn on/off the inline resizing controls of tables and images in Firefox/Mozilla. These are enabled by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the object_resizing option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>object_resizing : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_onchange_callback.html 4.5.4/mambots/editors/tinymce/docs/option_onchange_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_onchange_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_onchange_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: onchange_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: onchange_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a function name to be executed each time contents is modified by TinyMCE. This function is called each time a undo level is added to TinyMCE. The format of this function is: onchange(inst), where inst is the editor instance object reference.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the onchange_callback option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomOnChangeHandler</strong>(inst) {
+	alert("Some one modified something");
+	alert("The HTML is now:" + inst.getBody().innerHTML);
+}
+
+tinyMCE.init({
+	...
+	<strong>onchange_callback : "myCustomOnChangeHandler"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_oninit.html 4.5.4/mambots/editors/tinymce/docs/option_oninit.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_oninit.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_oninit.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: oninit</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: oninit</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify a function name to be executed when all editor instances has finished it's initialization. This is much like the onload event of a HTML page.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the oninit option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomOnInit</strong>() {
+	alert("We are ready to rumble!!");
+}
+
+tinyMCE.init({
+	...
+	<strong>oninit : "myCustomOnInit"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_onpageload.html 4.5.4/mambots/editors/tinymce/docs/option_onpageload.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_onpageload.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_onpageload.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: onpageload</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: onpageload</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify a function name to be executed when the page is loaded but before the TinyMCE instances are created.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the onpageload option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomOnPageLoad</strong>() {
+	alert("We are nearly ready to rumble!!");
+}
+
+tinyMCE.init({
+	...
+	<strong>onpageload : "myCustomOnPageLoad"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_plugins.html 4.5.4/mambots/editors/tinymce/docs/option_plugins.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_plugins.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_plugins.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: plugins</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: plugins</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of plugins. Plugins are loaded from the &quot;tinymce/jscripts/tiny_mce/plugins&quot; directory and the plugin name matches the name of the directory. TinyMCE is shipped with some core plugins these are described in greater detail in the <a href="reference_plugins.html">Plugins reference</a>.
+	</p>
+	<p>
+		TinyMCE also supports the ability to have plugins added from a external resource, these plugins needs to be self registrering and loaded after the tinyMCE.init call. You should also prefix these plugins with a &quot;-&quot; character so that TinyMCE doesn't try to load it from the TinyMCE plugins directory.
+	</p>
+
+	<p>
+		There are many third party plugins for TinyMCE some of these may be found under &quot;Plugins&quot; at <a href="http://sourceforge.net/projects/tinymce/">SourceForge</a> and if you have developed one of your own please contribute it to this project by uploading it to SourceForge.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the plugins option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>plugins : &quot;table,contextmenu,paste,-externalplugin&quot;</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_popups_css.html 4.5.4/mambots/editors/tinymce/docs/option_popups_css.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_popups_css.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_popups_css.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: popups_css</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: popups_css</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify the CSS to be used in all popup/dialog windows within TinyMCE this option is set to a CSS file found in the currently used theme by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the popups_css option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>popups_css : "/mypopup.css"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_preformatted.html 4.5.4/mambots/editors/tinymce/docs/option_preformatted.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_preformatted.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_preformatted.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: preformatted</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: preformatted</h1>
+</div>
+
+<div class="content">
+	<p>
+		If you enable this feature, whitespace such as tabs and spaces will be preserved. Much like the bahavior of a PRE element. This can be handy when integrating TinyMCE with webmail clients. This option is disabled by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the preformatted option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>preformatted : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_relative_urls.html 4.5.4/mambots/editors/tinymce/docs/option_relative_urls.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_relative_urls.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_relative_urls.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: relative_urls</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: relative_urls</h1>
+</div>
+
+<div class="content">
+	<p>If this option is set to true, all URLs returned from the MCFileManager will be relative from the specified <a href="option_document_base_url.html">document_base_url</a> if it's set to false all URLs will be converted to absolute URLs. This feature can not be disabled since MSIE and FF modifies the URLs of DOM objects by them self so TinyMCE tries to solve this problem by reconverting them. This option is set to true by default.</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the relative_urls option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>relative_urls : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_remove_linebreaks.html 4.5.4/mambots/editors/tinymce/docs/option_remove_linebreaks.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_remove_linebreaks.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_remove_linebreaks.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: remove_linebreaks</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: remove_linebreaks</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option controls if linebreak characters should be removed from output HTML or not. This option is enabled by default since many backend systems use newline to &lt;br /&gt; convertion since they used to be plain old textarea based. With this option enables all HTML content will be placed on one line.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the remove_linebreaks option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>remove_linebreaks : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_remove_script_host.html 4.5.4/mambots/editors/tinymce/docs/option_remove_script_host.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_remove_script_host.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_remove_script_host.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: remove_script_host</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: remove_script_host</h1>
+</div>
+
+<div class="content">
+	<p>If this option is enabled the protocol and host part of the URLs returned from the MCFileManager will be removed. This option is only used if the <a href="option_relative_urls.html">relative_urls</a> option is set to false. This option is set to true by default.</p>
+	<p>URL:s will be returned in this format: &quot;/somedir/somefile.htm&quot; instead of the default mode: &quot;http://www.somesite.com/somedir/somefile.htm&quot;.</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the remove_script_host option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>remove_script_host : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_save_callback.html 4.5.4/mambots/editors/tinymce/docs/option_save_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_save_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_save_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: save_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: save_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to add custom logic to be executed when the contents is extracted/saved. This custom logic can then modify the contents before it's submited to a serverside page. This can be useful if you want to do your own regexp cleanups and so forth. The format of this function is: saveContent(element_id, html, body). Where element id is the form element/div id of the editor and HTML is the HTML contents after the built in cleanup process has executed. This function should return the new HTML contents.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the save_callback option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomSaveContent</strong>(element_id, html, body) {
+	// Do some custom HTML cleanup
+	html = html.replace(/a/g,'b');
+
+	return html;
+}
+
+tinyMCE.init({
+	...
+	<strong>save_callback : "myCustomSaveContent"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_setupcontent_callback.html 4.5.4/mambots/editors/tinymce/docs/option_setupcontent_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_setupcontent_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_setupcontent_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: setupcontent_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: setupcontent_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to execute custom setup content logic when the editor initializes. The format of this callback is:
+		setupContent(editor_id, body, doc). Where editor_id is the TinyMCE editor instance id the editor instance object reference can be retrived by using tinyMCE.getInstanceById(editor_id). The body parameter is a reference to the iframes body element and doc is the iframes document element. This option is not used if it's not specified.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the setupcontent_callback option:</h3>
+	<div class="example">
+<pre>
+function myCustomSetupContent(editor_id, body, doc) {
+	body.innerHTML = "my new content" + body.innerHTML;
+}
+
+tinyMCE.init({
+	...
+	<strong>setupcontent_callback : "myCustomSetupContent"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_strict_loading_mode.html 4.5.4/mambots/editors/tinymce/docs/option_strict_loading_mode.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_strict_loading_mode.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_strict_loading_mode.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Option: strict_loading_mode</title>
+	<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: strict_loading_mode</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option will force TinyMCE to load script using a DOM insert method instead of document.write on Gecko browsers. Since this results in asynchronous script loading a build in synchronized will ensure that themes, plugins and language packs files are loaded in the correct order. This will on the otherhand make the initialization procedure of TinyMCE a bit slower thats why this isn't the default behavior. So this option is set to true by default if the document content type is application/xhtml+xml.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the strict_loading_mode option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>strict_loading_mode : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_submit_patch.html 4.5.4/mambots/editors/tinymce/docs/option_submit_patch.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_submit_patch.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_submit_patch.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: submit_patch</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: submit_patch</h1>
+</div>
+
+<div class="content">
+	<p>
+		This toggle option enables you to turn on/off the auto patching of the submit function in forms. TinyMCE will auto move contents from the iframe to the hidden textarea field if for example a JavaScript uses a form[0].submit() call. This is the same as using the tinyMCE.triggerSave() call. This option is set to true by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the submit_patch option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>submit_patch : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_table_inline_editing.html 4.5.4/mambots/editors/tinymce/docs/option_table_inline_editing.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_table_inline_editing.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_table_inline_editing.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: table_inline_editing</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: table_inline_editing</h1>
+</div>
+
+<div class="content">
+	<p>
+		This true/false option gives you the ability to turn on/off the inline table editing controls in Firefox/Mozilla. These controls are somewhat buggy and not redesignable so they are disabled by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the table_inline_editing option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>table_inline_editing : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_textarea_trigger.html 4.5.4/mambots/editors/tinymce/docs/option_textarea_trigger.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_textarea_trigger.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_textarea_trigger.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: textarea_trigger</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: textarea_trigger</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify the name of the attribute to check if it's value is true/false. If the <a href="option_mode.html">mode</a> option is set to &quot;specific_textareas&quot;, only specific textareas with a attribute by the name of the value of this option gets converted and only if it's set to true. This option defaults to &quot;mce_editable&quot;.
+	</p>
+
+	<p>
+		If the mode is set to textareas and the textarea trigger attribute value is set to false, these textareas will not be converted.
+	</p>
+
+	<p>
+		<strong>Notice: This option is deprecated.</strong>
+		We strongly recommend you to use the <a href="option_editor_selector.html">editor_selector</a>/<a href="option_editor_deselector.html">editor_deselector</a> options instead since they validate with W3C specifications.<strong>
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the textarea_trigger option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>textarea_trigger : "convert_this"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_blockformats.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_blockformats.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_blockformats.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_blockformats.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_blockformats</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_blockformats</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of block formats the default value of this option is &quot;p,div,address,pre,h1,h2,h3,h4,h5,h6&quot;. This option is only available if the advanced theme is used.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_blockformats option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_blockformats : "p,div,h1,h2,h3,h4,h5,h6,div,blockquote,dt,dd,code,samp"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add_before.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add_before.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add_before.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add_before.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_buttons&lt;1-n_add_before&gt;</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_buttons&lt;1-n_add_before&gt;</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of button/control names to add to the beginning of the specified toolbar row. The number 1-n is the row number to add the buttons/controls to. Below is a list of built in controls, plugins may include other controls names that can be inserted but these are documented in the individual plugins.
+		This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the default value of &quot;SimpleLayout&quot;.
+	</p>
+	<p>
+		A complete reference of all built in buttons and controls can be found in the <a href="reference_buttons.html">button/control reference</a> page.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_buttons&lt;1-n&gt;_add_before option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_buttons1_add_before : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"</strong>
+	<strong>theme_advanced_buttons2_add_before : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code"</strong>
+	<strong>theme_advanced_buttons3_add_before : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_buttons&lt;1-n_add&gt;</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_buttons&lt;1-n_add&gt;</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of button/control names to add to the end of the specified toolbar row. The number 1-n is the row number to add the buttons/controls to. Below is a list of built in controls, plugins may include other controls names that can be inserted but these are documented in the individual plugins.
+		This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the default value of &quot;SimpleLayout&quot;.
+	</p>
+	<p>
+		A complete reference of all built in buttons and controls can be found in the <a href="reference_buttons.html">button/control reference</a> page.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_buttons&lt;1-n&gt;_add option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_buttons1_add : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"</strong>
+	<strong>theme_advanced_buttons2_add : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code"</strong>
+	<strong>theme_advanced_buttons3_add : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_buttons&lt;1-n&gt;</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_buttons&lt;1-n&gt;</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of button/control names to insert into the toolbar. The number 1-n is the row number to insert the buttons/controls to. Below is a list of built in controls, plugins may include other controls names that can be inserted but these are documented in the individual plugins.
+		This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the default value of &quot;SimpleLayout&quot;.
+	</p>
+	<p>
+		A complete reference of all built in buttons and controls can be found in the <a href="reference_buttons.html">button/control reference</a> page.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_buttons&lt;1-n&gt; option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_buttons1 : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"</strong>
+	<strong>theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code"</strong>
+	<strong>theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_container_align.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_container_align.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_container_align.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_container_align.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_container_align</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_container_&lt;container&gt;_align</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is used to set the alignment of a specific containerer. The &lt;container&gt; part of this option should be replaced with a name within the <a href="option_theme_advanced_containers.html">theme_advanced_containers</a> list. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the value of &quot;RowLayout&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_container_&lt;container&gt;_align option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_container_somecontainer1_align : "left"</strong>
+	<strong>theme_advanced_container_somecontainer2_align : "right"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_container_class.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_container_class.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_container_class.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_container_class.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_container_&lt;container&gt;_class</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_container_&lt;container&gt;_class</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is used to set the class of a specific container. The &lt;container&gt; part of this option should be replaced with a name within the <a href="option_theme_advanced_containers.html">theme_advanced_containers</a> list. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the value of &quot;RowLayout&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_container_&lt;container&gt;_class option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_container_somecontainer1_class : "someclass",</strong>
+	<strong>theme_advanced_container_somecontainer2_class : "someotherclass"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_container.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_container.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_container.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_container.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_container_&lt;container&gt;</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_container_&lt;container&gt;</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain buttons/control that you wich to insert into the container, the button names available is the same as in the <a href="option_theme_advanced_buttons_n.html">theme_advanced_buttons_&lt;1-3&gt;</a> option but two extra controls available when this layout option is used these are &quot;mceEditor&quot; and &quot;mceElementpath&quot;. The &lt;container&gt; part of this option should be replaced with a name within the <a href="option_theme_advanced_containers.html">theme_advanced_containers</a> list. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the value of &quot;RowLayout&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_container_&lt;container&gt; option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_container_somecontainer1 : "bold,italic",</strong>
+	<strong>theme_advanced_container_somecontainer2 : "strikethrough,cut"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_align.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_align.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_align.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_align.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_containers_default_align</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_containers_default_align</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain the default container/panel alignment this can be a value of &quot;left&quot;, &quot;center&quot; or  &quot;right&quot;. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the value of &quot;RowLayout&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_containers_default_align option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_containers_default_align : "left"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_class.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_class.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_class.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_class.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_containers_default_class</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_containers_default_class</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain the default container/panel class name. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the value of &quot;RowLayout&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_containers_default_class option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_containers_default_class : "myPanelClass"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_containers.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_containers.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_containers.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_containers.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_containers</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_containers</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of container/panel names. These names are then matched agains the other container options. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the value of &quot;RowLayout&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_containers option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_containers : "mycontainer1,mycontainer2"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_custom_layout.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_custom_layout.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_custom_layout.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_custom_layout.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_custom_layout</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_custom_layout</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is used to specify a custom layout manager function. The format of this function is: customLayout(template) where template is the template array within the advanced theme, this function should return a new template array containing the editor HTML in a key called html. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the value of &quot;RowLayout&quot;.
+
+		CustomLayout
+		
+		template
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_custom_layout option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomLayout</strong>(template) {
+	// Make custom layout
+	template['html'] = "make new layout";
+
+	return template;
+}
+
+tinyMCE.init({
+	...
+	<strong>theme_advanced_custom_layout : "myCustomLayout"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_disable.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_disable.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_disable.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_disable.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_disable</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_disable</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list of controls to disable from any toolbar row/panel in TinyMCE.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_disable option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_disable : "bold,italic"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_fonts.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_fonts.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_fonts.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_fonts.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_fonts</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_fonts</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a semicolon separated list of font titles and font families separated by =. The titles are the ones that get presented to the user in the fonts drop down list and and the font family names is the string that gets inserted into the font face or fontFamily CSS style.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_fonts option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_fonts : "Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_layout_manager.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_layout_manager.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_layout_manager.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_layout_manager.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_layout_manager</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_layout_manager</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to switch button and panel layout functionality. There are three diffrent layout manager options
+		SimpleLayout that is the default layout manager, RowLayout that is the more advanced manager and finaly CustomLayout that executes a custom layout manager function. Each of these layout managers have diffrent options and can be configurated in diffrent ways. This option is only available if the advanced theme is used.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_layout_manager option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_layout_manager : "RowLayout"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_link_targets.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_link_targets.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_link_targets.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_link_targets.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_link_targets</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_link_targets</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a semicolon separated list of link target titles and target names separated by =. The titles are the ones that get presented to the user in the link target drop down list and and the target names is the target that gets inserted as a target attribute.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_link_targets option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_link_targets : "Some frame=someframe;Some other frame=otherframe"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_path.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_path.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_path.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_path.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_path</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_path</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option gives you the ability to enable/disable the element path. This option is only useful if the <a href="option_theme_advanced_statusbar_location.html">theme_advanced_statusbar_location</a> option is set to &quot;top&quot; or &quot;bottom&quot;. This option is set to true by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_path option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_path : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_path_location.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_path_location.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_path_location.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_path_location.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_path_location</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_path_location</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify where the element path should be located. This option can be set to &quot;top&quot;, &quot;bottom&quot; or &quot;none&quot;. The default value is set to &quot;none&quot;. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the default value of &quot;SimpleLayout&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_path_location option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_path_location : "bottom"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_resize_horizontal.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_resize_horizontal.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_resize_horizontal.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_resize_horizontal.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Option: theme_advanced_resize_horizontal</title>
+	<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_resize_horizontal</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option gives you the ability to enable/disable the horizontal resizing. This option is only useful if the <a href="option_theme_advanced_statusbar_location.html">theme_advanced_statusbar_location</a> option is set to &quot;top&quot; or &quot;bottom&quot; and when the <a href="option_theme_advanced_resizing.html">theme_advanced_resizing</a> is set to true. This option is set to true by default, that makes resizing horizontal and vertical.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_resize_horizontal option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_resize_horizontal : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_resizing.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_resizing.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_resizing.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_resizing.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_resizing</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_resizing</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option gives you the ability to enable/disable the resizing button. This option is only useful if the <a href="option_theme_advanced_statusbar_location.html">theme_advanced_statusbar_location</a> option is set to &quot;top&quot; or &quot;bottom&quot;. This option is set to false by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_resizing option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_resizing : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_resizing_use_cookie.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_resizing_use_cookie.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_resizing_use_cookie.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_resizing_use_cookie.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_resizing_use_cookie</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_resizing_use_cookie</h1>
+</div>
+
+<div class="content">
+	<p>This option enables you to disable the storage of editor size in a cookie. By default the editors size is stored and retrived from a cookie.</p>
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_resizing_use_cookie option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_resizing_use_cookie : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_height.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_height.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_height.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_height.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_source_editor_height</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_source_editor_height</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is used to define the height of the source editor dialog. This option is set to 400 by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_source_editor_height option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_source_editor_height : "600"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_width.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_width.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_width.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_width.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_source_editor_width</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_source_editor_width</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option is used to define the width of the source editor dialog. This option is set to 500 by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_source_editor_width option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_source_editor_width : "700"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_wrap.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_wrap.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_wrap.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_wrap.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_source_editor_wrap</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_source_editor_wrap</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to force word wrap for the source editor, this option is set to true by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_source_editor_wrap option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_source_editor_wrap : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_statusbar_location.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_statusbar_location.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_statusbar_location.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_statusbar_location.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_statusbar_location</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_statusbar_location</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify where the element statusbar with the path and resize tool should be located. This option can be set to &quot;top&quot;, &quot;bottom&quot; or &quot;none&quot;. The default value is set to &quot;none&quot;. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the default value of &quot;SimpleLayout&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_statusbar_location option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_statusbar_location : "bottom"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_styles.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_styles.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_styles.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_styles.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_styles</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_styles</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted. If this option isn't defined TinyMCE auto imports the classes from the content CSS.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_styles option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_align.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_align.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_align.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_align.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_toolbar_align</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_toolbar_align</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify the alignment of the toolbar, this value can be left, right or center the default value is center. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the default value of &quot;SimpleLayout&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_toolbar_align option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_toolbar_align : "left"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_location.html 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_location.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_location.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_location.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme_advanced_toolbar_location</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme_advanced_toolbar_location</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify where the toolbar should be located. This option can be set to &quot;top&quot; or &quot;bottom&quot;. The default value is set to &quot;bottom&quot;. This option can only be used when <a href="option_theme.html">theme</a> is set to advanced and when the <a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a> option is set to the default value of &quot;SimpleLayout&quot;.
+	</p>
+	<p>
+		There is a special &quot;external&quot; location, this option adds the toolbar to a DIV element and sets the class of this DIV to &quot;mceToolbarExternal&quot;. This enables you to freely specify the location of the toolbar.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme_advanced_toolbar_location option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme_advanced_toolbar_location : "top"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_theme.html 4.5.4/mambots/editors/tinymce/docs/option_theme.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_theme.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_theme.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: theme</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: theme</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify what theme to use when rendering the TinyMCE WYSIWYG editor instances. This name matches the directories located in &quot;tinymce/jscripts/tiny_mce/themes&quot;. The default value of this option is &quot;advanced&quot;. TinyMCE has three built in themes and these are described in greater detail below.
+	</p>
+
+	<p>
+		<h3>advanced</h3>
+		This is the advanced theme of TinyMCE, this theme enables users to add/remove buttons and panels and is a lot more flexible than the simple or default theme. For more information about this themes specific options check the &quot;Advanced theme&quot; configuration section.
+	</p>
+
+	<p>
+		<h3>simple</h3>
+		This is the most simple theme for TinyMCE it contains only the basic functions.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the theme option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>theme : "advanced",</strong>
+	theme_advanced_buttons3_add_before : "tablecontrols,separator"
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_trim_span_elements.html 4.5.4/mambots/editors/tinymce/docs/option_trim_span_elements.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_trim_span_elements.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_trim_span_elements.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+<title>Option: trim_span_elements</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: trim_span_elements</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option controls if spans without attributes will be removed or not. This option is set to true by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the trim_span_elements option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>trim_span_elements : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_urlconverter_callback.html 4.5.4/mambots/editors/tinymce/docs/option_urlconverter_callback.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_urlconverter_callback.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_urlconverter_callback.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: urlconverter_callback</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: urlconverter_callback</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enable you to add your own URL converter logic. This option should contain a JavaScript function name. The format of this converter function is: URLConverter(url, node, on_save). There URL is the URL string to convert, node is the element that contains the URL that is to be converted this parameter may be set to null if there is no element for the URL and on_save is set to true when contents is to be extracted from the editor for example when the user submits the HTML form. This function should return the converted URL as a string. This option is set to a internal TinyMCE function &quot;TinyMCE.prototype.convertURL&quot; by default. You may call this function from your extention inorder to use the built in convert options.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the urlconverter_callback option:</h3>
+	<div class="example">
+<pre>
+function <strong>myCustomURLConverter</strong>(url, node, on_save) {
+	// Do some custom URL convertion
+	url = url.substring(3);
+
+	// Return new URL
+	return url;
+}
+
+tinyMCE.init({
+	...
+	<strong>urlconverter_callback : "myCustomURLConverter"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_valid_elements.html 4.5.4/mambots/editors/tinymce/docs/option_valid_elements.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_valid_elements.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_valid_elements.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,348 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: valid_elements</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: valid_elements</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option should contain a comma separated list element convertion chunks. Each chunk contains information about how one element and it's attributes should be treated. The default rule set for this option is specified below.
+	</p>
+	<p>
+		
+		<table border="1" cellspacing="0" cellpadding="4">
+			 <thead><td colspan="2">Control characters:</td></thead>
+			 <tbody>
+				 <tr><td><strong>,</strong></td><td>Separates element chunk definitions.</td></tr>
+				 <tr><td><strong>/</strong></td><td>Separates element synonymous. The first element is the one that will be outputted.</td></tr>
+				 <tr><td><strong>|</strong></td><td>Separates attribute definitions.</td></tr>
+				 <tr><td><strong>[</strong></td><td>Starts a new attribute list for a element definition.</td></tr>
+				 <tr><td><strong>]</strong></td><td>Ends a attribute list for a element definition.</td></tr>
+				 <tr><td><strong>=</strong></td><td>Makes the attribute to default to the specified value. For example &quot;target=_blank&quot;</td></tr>
+				 <tr><td><strong>:</strong></td><td>Makes the attribute to be forced to the specified value. For example &quot;border:0&quot;</td></tr>
+				 <tr><td><strong>&lt;</strong></td><td>Verifies the value of a attribute. For example &quot;target&lt;_blank?_self&quot;</td></tr>
+				 <tr><td><strong>?</strong></td><td>Separates attribute verification values, see above.</td></tr>
+				 <tr><td><strong>+</strong></td><td>Makes the element open if no child nodes exists. Example: +a.</td></tr>
+				 <tr><td><strong>-</strong></td><td>Enables removal of empty elements such as &gt;strong /&lt;. Example: -strong.</td></tr>
+				 <tr><td><strong>#</strong></td><td>Enables padding of empty elements, this will padd with &amp;nbsp; if they are empty. Example: #p.</td></tr>
+			</tbody>
+		</table>
+		Wildcards such as *,+,? may be used in element or attribute name matching. 
+	</p>
+	<p>
+		Special variables:<br />
+		<strong>{$uid}</strong> Results in a unique ID. For example &quot;p[id:{$uid}]&quot;.<br />
+		<br />
+		Use *[*] to include all elements and all attributes this can be very useful when used with the <a href="option_invalid_elements.html">invalid_elements</a> option.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the valid_elements option:</h3>
+	<p>
+		This example string tells TinyMCE to remove all elements that are not a "a, strong, div or br" element, convert b elements to strong elements, default target to "_blank" and keep the href, target and align attributes of the elements.
+	</p>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>valid_elements : "a[href|target=_blank],strong/b,div[align],br"</strong>
+});
+</pre>
+	</div>
+
+	<div class="separator"></div>
+
+	<h3>Default rule set:</h3>
+	<p>
+		This is the default string used by TinyMCE to cleanup the HTML contents.
+	</p>
+	<div class="example">
+<pre>
++a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang]
+</pre>
+	</div>
+
+	<div class="separator"></div>
+
+	<h3>Full XHTML rule set:</h3>
+	<p>
+		The following will validate that the page complies fully with the XHTML specification. 
+	</p>
+	<div class="example">
+<pre>
+valid_elements : &quot;&quot;
++&quot;a[accesskey|charset|class|coords|dir&lt;ltr?rtl|href|hreflang|id|lang|name&quot;
+  +&quot;|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev&quot;
+  +&quot;|shape&lt;circle?default?poly?rect|style|tabindex|title|target|type],&quot;
++&quot;abbr[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;acronym[class|dir&lt;ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;address[class|align|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|style|title],&quot;
++&quot;applet[align&lt;bottom?left?middle?right?top|alt|archive|class|code|codebase&quot;
+  +&quot;|height|hspace|id|name|object|style|title|vspace|width],&quot;
++&quot;area[accesskey|alt|class|coords|dir&lt;ltr?rtl|href|id|lang|nohref&lt;nohref&quot;
+  +&quot;|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup&quot;
+  +&quot;|shape&lt;circle?default?poly?rect|style|tabindex|title|target],&quot;
++&quot;base[href|target],&quot;
++&quot;basefont[color|face|id|size],&quot;
++&quot;bdo[class|dir&lt;ltr?rtl|id|lang|style|title],&quot;
++&quot;big[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;blockquote[dir|style|cite|class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick&quot;
+  +&quot;|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout&quot;
+  +&quot;|onmouseover|onmouseup|style|title],&quot;
++&quot;body[alink|background|bgcolor|class|dir&lt;ltr?rtl|id|lang|link|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink],&quot;
++&quot;br[class|clear&lt;all?left?none?right|id|style|title],&quot;
++&quot;button[accesskey|class|dir&lt;ltr?rtl|disabled&lt;disabled|id|lang|name|onblur&quot;
+  +&quot;|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown&quot;
+  +&quot;|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type&quot;
+  +&quot;|value],&quot;
++&quot;caption[align&lt;bottom?left?right?top|class|dir&lt;ltr?rtl|id|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;center[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;cite[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;code[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;col[align&lt;center?char?justify?left?right|char|charoff|class|dir&lt;ltr?rtl|id&quot;
+  +&quot;|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown&quot;
+  +&quot;|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title&quot;
+  +&quot;|valign&lt;baseline?bottom?middle?top|width],&quot;
++&quot;colgroup[align&lt;center?char?justify?left?right|char|charoff|class|dir&lt;ltr?rtl&quot;
+  +&quot;|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown&quot;
+  +&quot;|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title&quot;
+  +&quot;|valign&lt;baseline?bottom?middle?top|width],&quot;
++&quot;dd[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;del[cite|class|datetime|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|style|title],&quot;
++&quot;dfn[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;dir[class|compact&lt;compact|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|style|title],&quot;
++&quot;div[align&lt;center?justify?left?right|class|dir&lt;ltr?rtl|id|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;dl[class|compact&lt;compact|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|style|title],&quot;
++&quot;dt[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;em/i[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;fieldset[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;font[class|color|dir&lt;ltr?rtl|face|id|lang|size|style|title],&quot;
++&quot;form[accept|accept-charset|action|class|dir&lt;ltr?rtl|enctype|id|lang&quot;
+  +&quot;|method&lt;get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit&quot;
+  +&quot;|style|title|target],&quot;
++&quot;frame[class|frameborder|id|longdesc|marginheight|marginwidth|name&quot;
+  +&quot;|noresize&lt;noresize|scrolling&lt;auto?no?yes|src|style|title],&quot;
++&quot;frameset[class|cols|id|onload|onunload|rows|style|title],&quot;
++&quot;h1[align&lt;center?justify?left?right|class|dir&lt;ltr?rtl|id|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;h2[align&lt;center?justify?left?right|class|dir&lt;ltr?rtl|id|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;h3[align&lt;center?justify?left?right|class|dir&lt;ltr?rtl|id|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;h4[align&lt;center?justify?left?right|class|dir&lt;ltr?rtl|id|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;h5[align&lt;center?justify?left?right|class|dir&lt;ltr?rtl|id|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;h6[align&lt;center?justify?left?right|class|dir&lt;ltr?rtl|id|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;head[dir&lt;ltr?rtl|lang|profile],&quot;
++&quot;hr[align&lt;center?left?right|class|dir&lt;ltr?rtl|id|lang|noshade&lt;noshade|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|size|style|title|width],&quot;
++&quot;html[dir&lt;ltr?rtl|lang|version],&quot;
++&quot;iframe[align&lt;bottom?left?middle?right?top|class|frameborder|height|id&quot;
+  +&quot;|longdesc|marginheight|marginwidth|name|scrolling&lt;auto?no?yes|src|style&quot;
+  +&quot;|title|width],&quot;
++&quot;img[align&lt;bottom?left?middle?right?top|alt|border|class|dir&lt;ltr?rtl|height&quot;
+  +&quot;|hspace|id|ismap&lt;ismap|lang|longdesc|name|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|src|style|title|usemap|vspace|width],&quot;
++&quot;input[accept|accesskey|align&lt;bottom?left?middle?right?top|alt&quot;
+  +&quot;|checked&lt;checked|class|dir&lt;ltr?rtl|disabled&lt;disabled|id|ismap&lt;ismap|lang&quot;
+  +&quot;|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect&quot;
+  +&quot;|readonly&lt;readonly|size|src|style|tabindex|title&quot;
+  +&quot;|type&lt;button?checkbox?file?hidden?image?password?radio?reset?submit?text&quot;
+  +&quot;|usemap|value],&quot;
++&quot;ins[cite|class|datetime|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|style|title],&quot;
++&quot;isindex[class|dir&lt;ltr?rtl|id|lang|prompt|style|title],&quot;
++&quot;kbd[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;label[accesskey|class|dir&lt;ltr?rtl|for|id|lang|onblur|onclick|ondblclick&quot;
+  +&quot;|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout&quot;
+  +&quot;|onmouseover|onmouseup|style|title],&quot;
++&quot;legend[align&lt;bottom?left?right?top|accesskey|class|dir&lt;ltr?rtl|id|lang&quot;
+  +&quot;|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;li[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type&quot;
+  +&quot;|value],&quot;
++&quot;link[charset|class|dir&lt;ltr?rtl|href|hreflang|id|lang|media|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type],&quot;
++&quot;map[class|dir&lt;ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;menu[class|compact&lt;compact|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|style|title],&quot;
++&quot;meta[content|dir&lt;ltr?rtl|http-equiv|lang|name|scheme],&quot;
++&quot;noframes[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;noscript[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;object[align&lt;bottom?left?middle?right?top|archive|border|class|classid&quot;
+  +&quot;|codebase|codetype|data|declare|dir&lt;ltr?rtl|height|hspace|id|lang|name&quot;
+  +&quot;|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap&quot;
+  +&quot;|vspace|width],&quot;
++&quot;ol[class|compact&lt;compact|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|start|style|title|type],&quot;
++&quot;optgroup[class|dir&lt;ltr?rtl|disabled&lt;disabled|id|label|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;option[class|dir&lt;ltr?rtl|disabled&lt;disabled|id|label|lang|onclick|ondblclick&quot;
+  +&quot;|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout&quot;
+  +&quot;|onmouseover|onmouseup|selected&lt;selected|style|title|value],&quot;
++&quot;p[align&lt;center?justify?left?right|class|dir&lt;ltr?rtl|id|lang|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;param[id|name|type|value|valuetype&lt;DATA?OBJECT?REF],&quot;
++&quot;pre/listing/plaintext/xmp[align|class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick&quot;
+  +&quot;|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout&quot;
+  +&quot;|onmouseover|onmouseup|style|title|width],&quot;
++&quot;q[cite|class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;s[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;samp[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;script[charset|defer|language|src|type],&quot;
++&quot;select[class|dir&lt;ltr?rtl|disabled&lt;disabled|id|lang|multiple&lt;multiple|name&quot;
+  +&quot;|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style&quot;
+  +&quot;|tabindex|title],&quot;
++&quot;small[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;span[align&lt;center?justify?left?right|class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|style|title],&quot;
++&quot;strike[class|class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|style|title],&quot;
++&quot;strong/b[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;style[dir&lt;ltr?rtl|lang|media|title|type],&quot;
++&quot;sub[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;sup[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title],&quot;
++&quot;table[align&lt;center?left?right|bgcolor|border|cellpadding|cellspacing|class&quot;
+  +&quot;|dir&lt;ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules&quot;
+  +&quot;|style|summary|title|width],&quot;
++&quot;tbody[align&lt;center?char?justify?left?right|char|class|charoff|dir&lt;ltr?rtl|id&quot;
+  +&quot;|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown&quot;
+  +&quot;|onmousemove|onmouseout|onmouseover|onmouseup|style|title&quot;
+  +&quot;|valign&lt;baseline?bottom?middle?top],&quot;
++&quot;td[abbr|align&lt;center?char?justify?left?right|axis|bgcolor|char|charoff|class&quot;
+  +&quot;|colspan|dir&lt;ltr?rtl|headers|height|id|lang|nowrap&lt;nowrap|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|rowspan|scope&lt;col?colgroup?row?rowgroup&quot;
+  +&quot;|style|title|valign&lt;baseline?bottom?middle?top|width],&quot;
++&quot;textarea[accesskey|class|cols|dir&lt;ltr?rtl|disabled&lt;disabled|id|lang|name&quot;
+  +&quot;|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect&quot;
+  +&quot;|readonly&lt;readonly|rows|style|tabindex|title],&quot;
++&quot;tfoot[align&lt;center?char?justify?left?right|char|charoff|class|dir&lt;ltr?rtl|id&quot;
+  +&quot;|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown&quot;
+  +&quot;|onmousemove|onmouseout|onmouseover|onmouseup|style|title&quot;
+  +&quot;|valign&lt;baseline?bottom?middle?top],&quot;
++&quot;th[abbr|align&lt;center?char?justify?left?right|axis|bgcolor|char|charoff|class&quot;
+  +&quot;|colspan|dir&lt;ltr?rtl|headers|height|id|lang|nowrap&lt;nowrap|onclick&quot;
+  +&quot;|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove&quot;
+  +&quot;|onmouseout|onmouseover|onmouseup|rowspan|scope&lt;col?colgroup?row?rowgroup&quot;
+  +&quot;|style|title|valign&lt;baseline?bottom?middle?top|width],&quot;
++&quot;thead[align&lt;center?char?justify?left?right|char|charoff|class|dir&lt;ltr?rtl|id&quot;
+  +&quot;|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown&quot;
+  +&quot;|onmousemove|onmouseout|onmouseover|onmouseup|style|title&quot;
+  +&quot;|valign&lt;baseline?bottom?middle?top],&quot;
++&quot;title[dir&lt;ltr?rtl|lang],&quot;
++&quot;tr[abbr|align&lt;center?char?justify?left?right|bgcolor|char|charoff|class&quot;
+  +&quot;|rowspan|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title|valign&lt;baseline?bottom?middle?top],&quot;
++&quot;tt[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;u[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup&quot;
+  +&quot;|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],&quot;
++&quot;ul[class|compact&lt;compact|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown&quot;
+  +&quot;|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover&quot;
+  +&quot;|onmouseup|style|title|type],&quot;
++&quot;var[class|dir&lt;ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress&quot;
+  +&quot;|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style&quot;
+  +&quot;|title]&quot;
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_verify_css_classes.html 4.5.4/mambots/editors/tinymce/docs/option_verify_css_classes.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_verify_css_classes.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_verify_css_classes.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: verify_css_classes</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1><span class="marked">(Removed)</span>Option: verify_css_classes</h1>
+</div>
+
+<div class="content">
+	<p>
+		If you enable this function, class names placed in class attributes will be verified agains the content CSS. So elements with a class attribute containing a class that doesn't exist in the CSS will be removed.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the verify_css_classes option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>verify_css_classes : true</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_verify_html.html 4.5.4/mambots/editors/tinymce/docs/option_verify_html.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_verify_html.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_verify_html.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: verify_html</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: verify_html</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enabled or disables the element cleanup functionality. If you set this option to false, all element cleanup will be skipped but other cleanup functionality such as URL convertion will still be executed.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the verify_html option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>verify_html : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_visual.html 4.5.4/mambots/editors/tinymce/docs/option_visual.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_visual.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_visual.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: visual</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: visual</h1>
+</div>
+
+<div class="content">
+	<p>
+		This true/false option gives you the ability to turn on/off the visual aid for border less tables. If a the border of a table is set to 0 TinyMCE adds a dotted line around the table by default.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the visual option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>visual : false</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_visual_table_class.html 4.5.4/mambots/editors/tinymce/docs/option_visual_table_class.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_visual_table_class.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_visual_table_class.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: visual_table_class</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: visual_table_class</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option enables you to specify what CSS class to use for presenting visual aids for border less tables. The default value of this option is set to &quot;mceVisualAid&quot;.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the visual_table_class option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>visual_table_class : "myCustomVisualAidTableClass"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/option_width.html 4.5.4/mambots/editors/tinymce/docs/option_width.html
--- 4.5.2.3/mambots/editors/tinymce/docs/option_width.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/option_width.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Option: width</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Option: width</h1>
+</div>
+
+<div class="content">
+	<p>
+		This option gives you the ability to specify the width of the editor in pixels or percent. This width can be very useful to specify if the editor is used in hidden tabs or if the editor area should be bigger than the replaced element. The default value of this option is set to the width of the HTML element TinyMCE replaces for example the pixel width of a textarea.
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Example of usage of the width option:</h3>
+	<div class="example">
+<pre>
+tinyMCE.init({
+	...
+	<strong>width : "640"</strong>
+});
+</pre>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_advhr.html 4.5.4/mambots/editors/tinymce/docs/plugin_advhr.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_advhr.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_advhr.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: advhr</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: advhr</h1>
+</div>
+
+<div class="content">
+	<p>This is a more advanced hr dialog contributed by Michael Keck. This hr plugin supports noshade, width and size.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the advhr directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;advhr&quot;.</li>
+		<li>Add this &quot;hr[class|width|size|noshade]&quot; to extended_valid_elements option.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;advhr&quot;,
+	theme_advanced_buttons1_add : &quot;advhr&quot;,
+	extended_valid_elements : &quot;hr[class|width|size|noshade]&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_advimage.html 4.5.4/mambots/editors/tinymce/docs/plugin_advimage.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_advimage.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_advimage.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: advimage</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: advimage</h1>
+</div>
+
+<div class="content">
+	<p>This is a more advanced image dialog mostly based on code contributed by Michael Keck. This one supports mouseover/out image swapping.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the advimage directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;advimage&quot;.</li>
+		<li>Add this &quot;a[name|href|target|title|onclick]&quot; to extended_valid_elements option.</li>
+	</ul>
+	</p>
+
+	<p>
+		<table border="1" cellspacing="0" cellpadding="4">
+			 <thead><td colspan="2">Advimage plugin options</td></thead>
+			 <tbody>
+				 <tr><td><strong>advimage_styles</strong></td><td>This option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.</td></tr>
+				 <tr><td><strong>advimage_update_dimensions_onchange</strong></td><td>This option enables you to control if the image dimensions should be updated with new data if the image src field is changed. This option is enabled by default.</td></tr>
+			</tbody>
+		</table>
+		<br />
+	</p>
+
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;preview&quot;
+});
+</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_advlink.html 4.5.4/mambots/editors/tinymce/docs/plugin_advlink.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_advlink.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_advlink.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: advlink</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: advlink</h1>
+</div>
+
+<div class="content">
+	<p>This is a more advanced link dialog mostly based on code contributed by Michael Keck. This link plugin supports popup windows and targets.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the advlink directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;advlink&quot;.</li>
+		<li>Add this &quot;a[name|href|target|title|onclick]&quot; to extended_valid_elements option.</li>
+	</ul>
+
+	<p>
+		<table border="1" cellspacing="0" cellpadding="4">
+			 <thead><td colspan="2">Advlink plugin options</td></thead>
+			 <tbody>
+				 <tr><td><strong>advlink_styles</strong></td><td>This option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.</td></tr>
+			</tbody>
+		</table>
+		<br />
+	</p>
+
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;advlink&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_autosave.html 4.5.4/mambots/editors/tinymce/docs/plugin_autosave.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_autosave.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_autosave.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: autosave</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: autosave</h1>
+</div>
+
+<div class="content">
+	<p>This plugin gives the user a warning if they made modifications to a editor instance but didn't submit them. This plugin will most likely be extended in the future to provide AJAX auto save support.</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>autosave</strong>&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_contextmenu.html 4.5.4/mambots/editors/tinymce/docs/plugin_contextmenu.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_contextmenu.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_contextmenu.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: contextmenu</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: contextmenu</h1>
+</div>
+
+<div class="content">
+	<p></p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the contextmenu directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;contextmenu&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;contextmenu&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_directionality.html 4.5.4/mambots/editors/tinymce/docs/plugin_directionality.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_directionality.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_directionality.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: directionality</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: directionality</h1>
+</div>
+
+<div class="content">
+	<p>This plugin adds directionality icons to TinyMCE that enables TinyMCE to better handle languages that is written from right to left.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;directionality&quot;.</li>
+		<li>Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : &quot;ltr,rtl&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>directionality</strong>&quot;,
+	theme_advanced_buttons3_add : &quot;<strong>ltr,rtl</strong>&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_emotions.html 4.5.4/mambots/editors/tinymce/docs/plugin_emotions.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_emotions.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_emotions.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: emotions</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: emotions</h1>
+</div>
+
+<div class="content">
+	<p>The emotions plugin is able to insert smiley images into the TinyMCE editable area.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the emotions directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;emotions&quot;.</li>
+		<li>Add the emotions button name to button list, example: theme_advanced_buttons3_add : &quot;emotions&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;emotions&quot;,
+	theme_advanced_buttons3_add : &quot;emotions&quot;
+});</pre>
+	</div>
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Copyright notice</h3>
+	<p>
+	These emotions where taken from Mozilla Thunderbird. I hope they don't get angry if I use them here after all this is a open source project aswell and I realy love their product.
+	</p>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_flash.html 4.5.4/mambots/editors/tinymce/docs/plugin_flash.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_flash.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_flash.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: flash</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: flash</h1>
+</div>
+
+<div class="content">
+	<p>This is the &quot;Insert Flash&quot; Dialog, it enables users to insert flash movies into TinyMCE.</p>
+	<p>You can control the wmode, quality and menu by setting the flash_wmode, flash_quality and flash_menu options.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the flash directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;flash&quot;.</li>
+		<li>Add this &quot;img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]&quot; to extended_valid_elements option.</li>
+		<li>Add the flash button name to button list, example: theme_advanced_buttons3_add : &quot;flash&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;flash&quot;,
+	extended_valid_elements : &quot;img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]&quot;
+	flash_external_list_url : &quot;example_flash_list.js&quot;, // Optional URL to a list of SWF movies
+	flash_wmode : &quot;transparent&quot;,
+	flash_quality : &quot;high&quot;,
+	flash_menu : &quot;false&quot;
+});</pre>
+	</div>
+	</p>
+
+	<div class="separator"></div>
+
+	<h3>Additional note</h3>
+	<p>
+	The flash plugin has been heavily modified (the original is editor_plugin_original.js) since the original did not play nicely with html content that already contained existing flash tags and in fact stripped out the object
+	tags for existing flash html. The rewrite corrects this as well attempts
+	to preserve the existing flash tags where possible. The tinyMCE.init call
+	should be be something like: 
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;flash&quot;,
+	extended_valid_elements : &quot;img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|obj|param|embed]&quot;
+});</pre>
+	</div>
+	</p>
+	<p>Note the extra obj,param,embed attributes for the img tag. These attributes
+	are used to serialize data from existing flash tags so that they can be
+	properly restored. Editing a flash tag with the plugin will cause this
+	information to be lost (sorry!) but still produces a working flash nevertheless.	
+	</p>
+	</div>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_fullpage.html 4.5.4/mambots/editors/tinymce/docs/plugin_fullpage.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_fullpage.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_fullpage.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: fullpage</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: fullpage</h1>
+</div>
+
+<div class="content">
+	<p>This plugin adds fullpage editing support. This enables you to edit whole documents with both head and body.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;fullpage&quot;.</li>
+		<li>Add the fullpage button name to button list, example: theme_advanced_buttons3_add : &quot;fullpage&quot;.</li>
+	</ul>
+	</p>
+
+	<p>
+	<h3>Options</h3>
+	</p>
+	<p>
+	<table border="1" cellspacing="0" cellpadding="4">
+	<tr>
+		<td>[fullpage_doctypes]</td>
+		<td>This is a name/value list of possible document types. The value format of this option is name=value,name=value. These document types will be presented in the document type selection list. The default value of this option is: XHTML 1.0 Transitional=&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;,XHTML 1.0 Frameset=&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Frameset//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd&quot;&gt;,XHTML 1.0 Strict=&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;,XHTML 1.1=&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;&quot;&gt;,HTML 4.01 Transitional=&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;,HTML 4.01 Strict=&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;,HTML 4.01 Frameset=&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Frameset//EN&quot; &quot;http://www.w3.org/TR/html4/frameset.dtd&quot;&gt;.</td>
+	</tr>
+	<tr>
+		<td>[fullpage_fonts]</td>
+		<td>This option enables you specify what font family style values that can be added to the body element. The value format of this option is name=value;name=value. The default value of this option is:	Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings
+		</td>
+	</tr>
+	<tr>
+		<td>[fullpage_fontsizes]</td>
+		<td>This is a comma separated list of possible font sizes for the style attribute of the body element. This option defaults to: 10px,11px,12px,13px,14px,15px,16px.</td>
+	</tr>
+<!--	<tr>
+		<td>[fullpage_media_types]</td>
+		<td>This is a name/value list of possible media types. The default value of this option is: all=all,screen=screen,print=print,tty=tty,tv=tv,projection=projection,handheld=handheld,braille=braille,aural=aural.</td>
+	</tr> -->
+	<tr>
+		<td>[fullpage_encodings]</td>
+		<td>This option enables you to specify what the document character encoding sets the user may select from. The default value of this option is: Western european (iso-8859-1)=iso-8859-1,Central European (iso-8859-2)=iso-8859-2,Unicode (UTF-8)=utf-8,Chinese traditional (Big5)=big5,Cyrillic (iso-8859-5)=iso-8859-5,Japanese (iso-2022-jp)=iso-2022-jp,Greek (iso-8859-7)=iso-8859-7,Korean (iso-2022-kr)=iso-2022-kr,ASCII (us-ascii)=us-ascii
+		</td>
+	</tr>
+	<tr>
+		<td>[fullpage_default_doctype]</td>
+		<td>This option enables you to specify the default doctype for the output HTML.</td>
+	</tr>
+	<tr>
+		<td>[fullpage_default_encoding]</td>
+		<td>This option enables you to specify the default encoding for the output HTML.</td>
+	</tr>
+	<tr>
+		<td>[fullpage_default_title]</td>
+		<td>This option enables you to specify the default title for the output HTML.</td>
+	</tr>
+	<tr>
+		<td>[fullpage_default_font_size]</td>
+		<td>This option enables you to specify the default font size for body element.</td>
+	</tr>
+	<tr>
+		<td>[fullpage_default_font_family]</td>
+		<td>This option enables you to specify the default font family for body element.</td>
+	</tr>
+	<tr>
+		<td>[fullpage_default_text_color]</td>
+		<td>This option enables you to specify the default text color for body element.</td>
+	</tr>
+	<tr>
+		<td>[fullpage_default_langcode]</td>
+		<td>This option enables you to specify the default langcode for the output HTML.</td>
+	</tr>
+	<tr>
+		<td>[fullpage_default_xml_pi]</td>
+		<td>This option enables you to specify if a XML declaration should be added or not true/false option.</td>
+	</tr>
+	</table>
+	</p>
+	<p>
+	<h3>Initialization Example</h3>
+	</p>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>fullpage</strong>&quot;,
+	theme_advanced_buttons3_add : &quot;<strong>fullpage</strong>&quot;,
+	fullpage_fontsizes : '13px,14px,15px,18pt,xx-large',
+	fullpage_default_xml_pi : false,
+	fullpage_default_langcode : 'en',
+	fullpage_default_title : "My document title"
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_fullscreen.html 4.5.4/mambots/editors/tinymce/docs/plugin_fullscreen.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_fullscreen.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_fullscreen.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: fullscreen</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: fullscreen</h1>
+</div>
+
+<div class="content">
+	<p>This plugin adds fullscreen editing mode to TinyMCE.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;fullscreen&quot;.</li>
+		<li>Add the fullscreen button name to button list, example: theme_advanced_buttons3_add : &quot;fullscreen&quot;.</li>
+	</ul>
+	</p>
+
+	<p>
+		<table border="1" cellspacing="0" cellpadding="4">
+			 <thead><td colspan="2">Fullscreen plugin options</td></thead>
+			 <tbody>
+				  <tr><td><strong>fullscreen_settings</strong></td><td>This option gives you the ability to have diffrent settings applied when the editor is in fullscreen mode for example more tools.</td></tr>
+			</tbody>
+		</table>
+		<br />
+	</p>
+
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>fullscreen</strong>&quot;,
+	theme_advanced_buttons3_add : &quot;<strong>fullscreen</strong>&quot;,
+	fullscreen_settings : {
+		theme_advanced_path_location : "top"
+	}
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_iespell.html 4.5.4/mambots/editors/tinymce/docs/plugin_iespell.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_iespell.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_iespell.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: iespell</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: iespell</h1>
+</div>
+
+<div class="content">
+	<p></p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the iespell directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;iespell&quot;.</li>
+		<li>Add the iespell button name to button list, example: theme_advanced_buttons3_add : &quot;iespell&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;iespell&quot;,
+	theme_advanced_buttons3_add : &quot;iespell&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_inlinepopups.html 4.5.4/mambots/editors/tinymce/docs/plugin_inlinepopups.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_inlinepopups.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_inlinepopups.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: inlinepopups</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: inlinepopups</h1>
+</div>
+
+<div class="content">
+	<p>This plugin makes all dialogs to open as floating DIV layers instead of popup windows. This option can be very useful inorder to get around popup blockers. This plugin should be treated as experimental since it's not 100% compatible yet.</p>
+
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;inlinepopups&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_insertdatetime.html 4.5.4/mambots/editors/tinymce/docs/plugin_insertdatetime.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_insertdatetime.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_insertdatetime.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: insertdatetime</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: insertdatetime</h1>
+</div>
+
+<div class="content">
+	<p></p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the iespell directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;iespell&quot;.</li>
+		<li>Add the insertdate or inserttime button name to button list, example: theme_advanced_buttons3_add : &quot;insertdate,inserttime&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;insertdatetime&quot;,
+	theme_advanced_buttons3_add : &quot;insertdate,inserttime&quot;
+    plugin_insertdate_dateFormat : &quot;%Y-%m-%d&quot;,
+    plugin_insertdate_timeFormat : &quot;%H:%M:%S&quot;
+});</pre>
+	</div>
+	</p>
+	<p>
+	<h3>Options</h3>
+	</p>
+	<p>
+	plugin_insertdate_dateFormat - Format that the date is output as. Defaults to: "%Y-%m-%d".<br />
+	plugin_insertdate_timeFormat - Format that the time is output as. Defaults to: "%H:%M:%S".
+	</p>
+	<p>Replacement variables</p>
+	<p>
+	<table border="1" cellspacing="0" cellpadding="4">
+	<tr>
+		<td>%y</td>
+		<td>year as a decimal number without a century (range 00 to 99)</td>
+	</tr>
+	<tr>
+		<td>%Y</td>
+		<td>year as a decimal number including the century</td>
+	</tr>
+	<tr>
+		<td>%d</td>
+		<td>day of the month as a decimal number (range 01 to 31)</td>
+	</tr>
+	<tr>
+		<td>%m</td>
+		<td>month as a decimal number (range 01 to 12)</td>
+	</tr>
+	<tr>
+		<td>%D</td>
+		<td>same as %m/%d/%y</td>
+	</tr>
+	<tr>
+		<td>%r</td>
+		<td>time in a.m. and p.m. notation</td>
+	</tr>
+	<tr>
+		<td>%H</td>
+		<td>hour as a decimal number using a 24-hour clock (range 00 to 23)</td>
+	</tr>
+	<tr>
+		<td>%I</td>
+		<td>hour as a decimal number using a 12-hour clock (range 01 to 12)</td>
+	</tr>
+	<tr>
+		<td>%M</td>
+		<td>minute as a decimal number (range 00-59)</td>
+	</tr>
+	<tr>
+		<td>%S</td>
+		<td>second as a decimal number (range 00-59)</td>
+	</tr>
+	<tr>
+		<td>%p</td>
+		<td>either &quot;am&quot; or &quot;pm&quot; according to the given time value</td>
+	</tr>
+	<tr>
+		<td>%%</td>
+		<td>a literal &quot;%&quot; character</td>
+	</tr>
+	</table>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_layer.html 4.5.4/mambots/editors/tinymce/docs/plugin_layer.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_layer.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_layer.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: layer</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: layer</h1>
+</div>
+
+<div class="content">
+	<p>Adds a layer suport to TinyMCE by making it possible to create/remove and z-index block elements.</p>
+
+	<p>These are the possible button control that this plugin contains: insertlayer,moveforward,movebackward,absolute</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;layer&quot;.</li>
+		<li>Add the insertlayer,moveforward,movebackward,absolute button names to button list, example: theme_advanced_buttons3_add : &quot;insertlayer,moveforward,movebackward,absolute&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>layer</strong>&quot;,
+	theme_advanced_buttons3_add : &quot;<strong>insertlayer,moveforward,movebackward,absolute</strong>&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_noneditable.html 4.5.4/mambots/editors/tinymce/docs/plugin_noneditable.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_noneditable.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_noneditable.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: noneditable</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: noneditable</h1>
+</div>
+
+<div class="content">
+	<p>Adds non editable elements support for MSIE and Mozilla/FF. Any element with the &quot;mceItemNonEditable&quot; class will be blocked from modifications and treated as a single character. This class name is configurable using the &quot;noneditable_noneditable_class&quot;. Any elements with the MSIE specific attribute &quot;contenteditable&quot; will be converted into classes instead.</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>noneditable</strong>&quot;,
+	noneditable_leave_contenteditable : true
+});</pre>
+	</div>
+	</p>
+
+	<p>
+	<h3>Options</h3>
+	<table border="1" cellspacing="0" cellpadding="4">
+		<tr>
+			<td>[noneditable_editable_class]</td>
+			<td>Class name to be used for editable elements, this would be the the same as contenteditable=true, forcing a element to be editable. This option defaults to: &quot;mceItemEditable&quot;. Notice that classes with the mceItem prefix is invisible within TinyMCE.</td>
+		</tr>
+		<tr>
+			<td>[noneditable_noneditable_class]</td>
+			<td>Class name to be used for non editable elements, this would be the same as contenteditable=false. This option defaults to: &quot;mceItemNonEditable&quot;. Notice that classes with the mceItem prefix is invisible within TinyMCE.</td>
+		</tr>
+		<tr>
+			<td>[noneditable_leave_contenteditable]</td>
+			<td>If the value of this option is set to true, all contenteditable attributes will be left intact. This option is set to false by default, since this attribute is not a valid W3C attribute and the class approach is better.</td>
+		</tr>
+	</table>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_paste.html 4.5.4/mambots/editors/tinymce/docs/plugin_paste.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_paste.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_paste.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: paste</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: paste</h1>
+</div>
+
+<div class="content">
+	<p>This plugin adds paste as plain text and paste from Word icons to TinyMCE. This plugin was developed by Ryan Demmer and modified by the TinyMCE crew to be more general and some extra features where added.</p>
+	<p>
+	On 25 May 2005, this plugin was modified by speednet: IE now pastes directly into the editor, bypassing the extra steps of opening the Insert box, selecting options, and clicking Insert. Speednet also added the Select All command, which highlights all the content in the editor when the user clicks the toolbar button (Other miscellaneous cleanup also).
+	</p>
+	<p>On 28 October 2005, this plugin was modified by monkeybrain: Added the paste_strip_class_attributes option.</p>
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the paste directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;paste&quot;.</li>
+		<li>Add the button names to button list, example: theme_advanced_buttons3_add : &quot;pastetext,pasteword,selectall&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;paste&quot;,
+	theme_advanced_buttons3_add : &quot;pastetext,pasteword,selectall&quot;,
+	paste_create_paragraphs : false,
+	paste_create_linebreaks : false,
+	paste_use_dialog : true,
+	paste_auto_cleanup_on_paste : true,
+	paste_convert_middot_lists : false,
+	paste_unindented_list_class : "unindentedList",
+	paste_convert_headers_to_strong : true,
+	paste_insert_word_content_callback : "convertWord"
+});
+
+function convertWord(type, content) {
+	switch (type) {
+		// Gets executed before the built in logic performes it's cleanups
+		case "before":
+			content = content.toLowerCase(); // Some dummy logic
+			break;
+
+		// Gets executed after the built in logic performes it's cleanups
+		case "after":
+			content = content.toLowerCase(); // Some dummy logic
+			break;
+	}
+
+	return content;
+}
+</pre>
+	</div>
+	</p>
+	<p>
+	<h3>Options</h3>
+	</p>
+	<p>
+	<table border="1" cellspacing="0" cellpadding="4">
+	<tr>
+		<td>[paste_create_paragraphs]</td>
+		<td>If enabled double linefeeds are converted to paragraph elements when using the plain text dialog. This is enabled by default.</td>
+	</tr>
+  	<tr>
+ 		<td>[paste_create_linebreaks]</td>
+ 		<td>If enabled single linefeeds are converted to hard line break elements when using the plain text dialog. This is enabled by default.</td>
+ 	</tr>
+	<tr>
+		<td>[paste_use_dialog]</td>
+		<td>MSIE specific option, if you set this to true both Mozilla and MSIE will present a paste dialog. If you set it to false pasting in MSIE will be done directly. This option is set to false by default.</td>
+	</tr>
+	<tr>
+		<td>[paste_auto_cleanup_on_paste]</td>
+		<td>MSIE specific option. If you enable this feature, a word paste will be executed when the user copy/paste content to the editor. This feature is disabled by default.</td>
+	</tr>
+	<tr>
+		<td>[paste_convert_middot_lists]</td>
+		<td>If this feature is enabled middot lists are converted into UL lists, these will be assign a special class.</td>
+	</tr>
+	<tr>
+		<td>[paste_unindented_list_class]</td>
+		<td>This option enables you to specify what class to assign to the UL list of middot converted lists. Middot lists are unindented in MS Office. This option defaults to &quot;unIndentedList&quot;.</td>
+	</tr>
+	<tr>
+		<td>[paste_convert_headers_to_strong]</td>
+		<td>This feature converts H1-6 elements to strong elements on paste, this is feature is disabled by default.</td>
+	</tr>
+	<tr>
+		<td>[paste_remove_spans]</td>
+		<td>This enables you to control if the word parse operation should remove or keep span elements, they will be removed by default.</td>
+	</tr>
+	<tr>
+		<td>[paste_remove_styles]</td>
+		<td>This enables you to control if the word parse operation should remove or keep style attributes, they will be removed by default.</td>
+	</tr>
+	<tr>
+		<td>[paste_replace_list]</td>
+		<td>Comma separated list of search/replace chunks. Where even items is the regexp that is to be used for the search and odd values are the contents that are to be replaced.
+		<p>This option defaults to: &quot;\u2122,&lt;sup&gt;TM&lt;/sup&gt;,\u2026,...,\u201c|\u201d,&quot;,\u2019,\',\u2013|\u2014|\u2015|\u2212,-&quot; this list replaces some  custom MS 1250 characters.
+		</p>
+		The \uXXXX values is the hex values of the Unicode characters. Trick use javascript:alert('&lt;unicode char&gt;'.charCodeAt(0).toString(16)); to retive these numbers.</td>
+	</tr>
+	<tr>
+		<td>[paste_strip_class_attributes]</td>
+		<td>This feature allows you to control whether or not class attributes are stripped when using pasteword.  Valid values are:
+			<ul>
+				<li>all - will strip all class attributes from the pasted content.  This is the default value.</li>
+				<li>none - will not strip any class attributes from the pasted content.</li>
+				<li>mso - will strip out all of the class attribute values that start with "Mso", but retain all others.</li>
+			</ul>
+		</td>
+	</tr>
+	<tr>
+		<td>[paste_insert_word_content_callback]</td>
+		<td>This option enables you to specify a callback function. This callback is executed when the user pastes word content, the return value of this function will be the new content string. Check the example above for more details.
+		</td>
+	</tr>
+	</table>
+	</p>
+
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_preview.html 4.5.4/mambots/editors/tinymce/docs/plugin_preview.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_preview.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_preview.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: preview</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: preview</h1>
+</div>
+
+<div class="content">
+	<p>This plugin adds a preview button to TinyMCE, pressing the button opens a popup showing the current content.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the preview directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;preview&quot;.</li>
+		<li>Add the button name to button list, example: theme_advanced_buttons3_add : &quot;preview&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;preview&quot;,
+	theme_advanced_buttons3_add : &quot;preview&quot;,
+	plugin_preview_width : &quot;500&quot;,
+	plugin_preview_height : &quot;600&quot;
+});</pre>
+	</div>
+	</p>
+	<p>
+	<h3>Options</h3>
+	</p>
+	<p>
+	<table border="1" cellspacing="0" cellpadding="4">
+	<tr>
+		<td>[plugin_preview_width]</td>
+		<td>Preview window width. Defaults to 550.</td>
+	</tr>
+	<tr>
+		<td>[plugin_preview_height]</td>
+		<td>Preview window height. Defaults to 600.</td>
+	</tr>
+	<tr>
+		<td>[plugin_preview_pageurl]</td>
+		<td>Custom preview page URL relative from theme use "../../plugins/preview/example.html" for a example.</td>
+	</tr>
+	</table>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_print.html 4.5.4/mambots/editors/tinymce/docs/plugin_print.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_print.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_print.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: paste</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: print</h1>
+</div>
+
+<div class="content">
+	<p>This plugin adds a print button to TinyMCE.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Copy the print directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;print&quot;.</li>
+		<li>Add the button name to button list, example: theme_advanced_buttons3_add : &quot;print&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;print&quot;,
+	theme_advanced_buttons3_add : &quot;print&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_save.html 4.5.4/mambots/editors/tinymce/docs/plugin_save.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_save.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_save.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: save</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: save</h1>
+</div>
+
+<div class="content">
+	<p>This plugin adds a save button to TinyMCE this save button will submit the form that the editor is within.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;save&quot;.</li>
+		<li>Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : &quot;save&quot;.</li>
+	</ul>
+	</p>
+
+	<p>
+	<h3>Options</h3>
+	</p>
+	<p>
+	<table border="1" cellspacing="0" cellpadding="4">
+	<tr>
+		<td>[save_enablewhendirty]</td>
+		<td>If you set this option to true, the edit button will be disabled/dimmed until modifications are made. This is disabled by default.</td>
+	</tr>
+	<tr>
+		<td>[onchange_callback]</td>
+		<td>This option enables you to add a custom function to be called when the save button/command is invoked. This is not used by default.</td>
+	</tr>
+	</table>
+	</p>
+
+	<p>
+	<h3>Initialization Example</h3>
+	</p>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>save</strong>&quot;,
+	theme_advanced_buttons3_add : &quot;<strong>save</strong>&quot;,
+	save_enablewhendirty : true,
+	onchange_callback : "mysave"
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_searchreplace.html 4.5.4/mambots/editors/tinymce/docs/plugin_searchreplace.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_searchreplace.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_searchreplace.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: searchreplace</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: searchreplace</h1>
+</div>
+
+<div class="content">
+	<p>This plugin adds search/replace dialogs to TinyMCE.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;searchreplace&quot;.</li>
+		<li>Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : &quot;search,replace&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>searchreplace</strong>&quot;,
+	theme_advanced_buttons3_add : &quot;<strong>search,replace</strong>&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_spellchecker.html 4.5.4/mambots/editors/tinymce/docs/plugin_spellchecker.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_spellchecker.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_spellchecker.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: spellchecker</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: spellchecker</h1>
+</div>
+
+<div class="content">
+	<p>This plugin adds spellchecker functionality to TinyMCE by providing a new button that performs a AJAX call to a backend PHP page that uses pspell.</p>
+	<h3>Installation Instructions</h3>
+	<p>
+	<ol>
+		<li>Download the spellchecker plugin from the <a href="http://tinymce.moxiecode.com/download.php">TinyMCE website</a>.</li>
+		<li>Copy the spellchecker directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).</li>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;spellchecker&quot;.</li>
+		<li>Add the button name to button list, example: theme_advanced_buttons3_add : &quot;spellchecker&quot;.</li>
+	</ol>
+	</p>
+	<h3>Spellchecker plugins/modes</h3>
+	<p>
+		TinyMCE Spellchecker currently supports 3 modes. These are available as configurable PHP classes.
+		<ul>
+			<li>TinyPspell - Run pspell within PHP. (PHP needs to be compiled with pspell support)</li>
+			<li>TinyPspellShell - Run pspell as a command line shell application.</li>
+			<li>TinyGoogleSpell - Use HTTP proxy bridge to connect to a Google XML Web Service.</li>
+		</ul>
+		Use this as the value for the the languages option when you are using the GoogleSpell class: +English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv
+	<br /><br /></p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;spellchecker&quot;,
+	theme_advanced_buttons3_add : &quot;spellchecker&quot;,
+	spellchecker_languages : &quot;+English=en,Swedish=sv&quot;,
+	spellchecker_word_separator_chars : &quot;\\s!\"#$%&amp;()*+,-./:;&lt;=&gt;?@[\]&circ;_{|}&copy;&laquo;&reg;&raquo;\u201d\u201c&quot;
+});
+</pre>
+	</div>
+	</p>
+	<p>
+	<h3>Options</h3>
+	</p>
+	<p>
+	<table border="1" cellspacing="0" cellpadding="4">
+	<tr>
+		<td>[spellchecker_languages]</td>
+		<td>Enables you to specify what languages your pspell installation can handle. The value of this option should be a comma separated name value list in the following format name1=value1,name2=value,name3=value where name is the string to present in the menu and the value is a ISO language code like sv or en. If you add a + character infront of the name it will be the default value for the spellchecker. The default value for this option is: +English=en.</td>
+	</tr>
+  	<tr>
+ 		<td>[spellchecker_word_separator_chars]</td>
+ 		<td>This option enables you to specify the word separator characters. The default value for this option is: \\s!"#$%&()*+,-./:;<=>?@[\]^_{|}\u201d\u201c.</td>
+ 	</tr>
+	</table>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_style.html 4.5.4/mambots/editors/tinymce/docs/plugin_style.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_style.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_style.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,303 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: style</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: style</h1>
+</div>
+
+<div class="content">
+	<p>Adds CSS style editing support to TinyMCE, this will enable you to edit allmost any CSS style property in a visual way.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;style&quot;.</li>
+		<li>Add the styleprops butto names to button list, example: theme_advanced_buttons3_add : &quot;styleprops&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>style</strong>&quot;,
+	theme_advanced_buttons3_add : &quot;<strong>styleprops</strong>&quot;
+});</pre>
+	</div>
+	</p>
+	<br />
+
+	<h3>Options</h3>
+	<p>
+	<table border="1" cellspacing="0" cellpadding="4">
+	<tr>
+		<td>[style_font]</td>
+		<td>Semicolon separated list of select box option name/values. Default: Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;Times New Roman, Times, serif=Times New Roman, Times, serif;Courier New, Courier, mono=Courier New, Courier, mono;Times New Roman, Times, serif=Times New Roman, Times, serif;Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif</td>
+	</tr>
+	<tr>
+		<td>[style_font_size]</td>
+		<td>Semicolon separated list of select box option name/values. In format key1=value1;key2=value2;..</td>
+	</tr>
+	<tr>
+		<td>[style_font_size_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_text_case]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_font_weight]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_font_style]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_font_variant]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_font_line_height]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_font_line_height_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_background_attachment]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_background_repeat]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_background_hpos_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_background_vpos_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_background_hpos]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_background_vpos]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_wordspacing]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_wordspacing_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_letterspacing]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_letterspacing_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_vertical_alignment]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_text_align]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_whitespace]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_display]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_text_indent_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_box_width_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_box_height_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_float]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_clear]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_padding_left_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_padding_top_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_padding_bottom_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_padding_right_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_margin_left_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_margin_top_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_margin_bottom_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_margin_right_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_style_top]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_style_right]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_style_bottom]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_style_left]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_width_top]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_width_right]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_width_bottom]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_width_left]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_width_top_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_width_right_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_width_bottom_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_border_width_left_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_list_type]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_list_position]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_type]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_visibility]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_width_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_height_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_overflow]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_placement_top_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_placement_right_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_placement_bottom_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_placement_left_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_clip_top_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_clip_right_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_clip_bottom_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	<tr>
+		<td>[style_positioning_clip_left_measurement]</td>
+		<td>Semicolon separated list of select box option name/values.</td>
+	</tr>
+	</table>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_table.html 4.5.4/mambots/editors/tinymce/docs/plugin_table.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_table.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_table.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: table</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: table</h1>
+</div>
+
+<div class="content">
+	<p>
+		This plugin adds table management functionality to TinyMCE.
+	</p>
+
+	<p>
+		<table border="1" cellspacing="0" cellpadding="4">
+			 <thead><td colspan="2">Table controls/buttons</td></thead>
+			 <tbody>
+				  <tr><td><strong>tablecontrols</strong></td><td>All table control below and some separators between them.</td></tr>
+				  <tr><td><strong>table</strong></td><td>Insert table control.</td></tr>
+				  <tr><td><strong>row_props</strong></td><td>Edit row properties (tr).</td></tr>
+				  <tr><td><strong>cell_props</strong></td><td>Edit cell properties (td).</td></tr>
+				  <tr><td><strong>delete_col</strong></td><td>Delete column control.</td></tr>
+				  <tr><td><strong>delete_row</strong></td><td>Delete row control.</td></tr>
+				  <tr><td><strong>col_after</strong></td><td>Column after control.</td></tr>
+				  <tr><td><strong>col_before</strong></td><td>Column before control.</td></tr>
+				  <tr><td><strong>row_after</strong></td><td>Row after control.</td></tr>
+				  <tr><td><strong>row_before</strong></td><td>Row before control.</td></tr>
+				  <tr><td><strong>row_after</strong></td><td>Row after control.</td></tr>
+				  <tr><td><strong>row_before</strong></td><td>Row before control.</td></tr>
+				  <tr><td><strong>split_cells</strong></td><td>Splits a merged cell into rows and columns.</td></tr>
+				  <tr><td><strong>merge_cells</strong></td><td>Mergers selected cells into one cell.</td></tr>
+			</tbody>
+		</table>
+	</p>
+
+	<p>
+		<table border="1" cellspacing="0" cellpadding="4">
+			 <thead><td colspan="2">Table commands to use with execCommand</td></thead>
+			 <tbody>
+				<tr><td><strong>mceInsertTable</strong></td><td>Inserts a new table at cursor location the default size is 2x2. If the value parameter is specified it should contain a name/value array, this array has the following options cols, rows, border, cellspacing, cellpadding. The default border is set to: 0.</td></tr>
+				<tr><td><strong>mceTableInsertRowBefore</strong></td><td>Inserts a row before/above the current cursor location.</td></tr>
+				<tr><td><strong>mceTableInsertRowAfter</strong></td><td>Inserts a row after/under the current cursor location.</td></tr>
+				<tr><td><strong>mceTableDeleteRow</strong></td><td>Deletes the row at the current cursor location.</td></tr>
+				<tr><td><strong>mceTableInsertColBefore</strong></td><td>Inserts a column before the current cursor location.</td></tr>
+				<tr><td><strong>mceTableInsertColAfter</strong></td><td>Inserts a column after the current cursor location.</td></tr>
+				<tr><td><strong>mceTableDeleteCol</strong></td><td>Deletes the column at the current cursor location.</td></tr>
+			</tbody>
+		</table>
+	</p>
+
+	<p>
+		<table border="1" cellspacing="0" cellpadding="4">
+			 <thead><td colspan="2">Options</td></thead>
+			 <tbody>
+				<tr><td><strong>table_styles</strong></td><td>This option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.</td></tr>
+				<tr><td><strong>table_cell_styles</strong></td><td>This option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.</td></tr>
+				<tr><td><strong>table_row_styles</strong></td><td>This option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.</td></tr>
+				<tr><td><strong>table_cell_limit</strong></td><td>Enables you to specify the max number of cells for a table.</td></tr>
+				<tr><td><strong>table_row_limit</strong></td><td>Enables you to specify the max number of rows for a table.</td></tr>
+				<tr><td><strong>table_col_limit</strong></td><td>Enables you to specify the max number of columns for a table.</td></tr>
+			</tbody>
+		</table>
+		<br />
+	</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;directionality&quot;.</li>
+		<li>Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : &quot;ltr,rtl&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>table</strong>&quot;,
+	theme_advanced_buttons3_add : &quot;<strong>tablecontrols</strong>&quot;,
+	table_styles : "Header 1=header1;Header 2=header2;Header 3=header3",
+	table_cell_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Cell=tableCel1",
+	table_row_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1",
+	table_cell_limit : 100,
+	table_row_limit : 5,
+	table_col_limit : 5
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/plugin_zoom.html 4.5.4/mambots/editors/tinymce/docs/plugin_zoom.html
--- 4.5.2.3/mambots/editors/tinymce/docs/plugin_zoom.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/plugin_zoom.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugin: zoom</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugin: zoom</h1>
+</div>
+
+<div class="content">
+	<p>Adds a zoom drop list in MSIE5.5+, this plugin was mostly created to show how to add custom droplists as plugins.</p>
+
+	<h3>Installation Instructions</h3>
+	<p>
+	<ul>
+		<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;zoom&quot;.</li>
+		<li>Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : &quot;zoom&quot;.</li>
+	</ul>
+	</p>
+	<h3>Initialization Example</h3>
+	<p>
+	<div class="example">
+	<pre>
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;,
+	plugins : &quot;<strong>zoom</strong>&quot;,
+	theme_advanced_buttons3_add : &quot;<strong>zoom</strong>&quot;
+});</pre>
+	</div>
+	</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/reference_buttons.html 4.5.4/mambots/editors/tinymce/docs/reference_buttons.html
--- 4.5.2.3/mambots/editors/tinymce/docs/reference_buttons.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/reference_buttons.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>List of all buttons/controls available, and their plugin requirements.</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>List of all buttons/controls available, and their plugin requirements.</h1>
+</div>
+
+<div class="content">
+	<p>
+		This is a list of all the avalible buttons that you can configure, the requirements are also listed as some buttons require you to include  the plugin first. Check each plugin for more information, some plugins have seperate configurations. Use the <a href="option_theme_advanced_buttons_n.html">theme_advanced_buttons&lt;1-n&gt;</a>, <a href="option_theme_advanced_buttons_n_add.html">theme_advanced_buttons&lt;1-n&gt;_add</a> or <a href="option_theme_advanced_buttons_n_add_before.html">theme_advanced_buttons&lt;1-n&gt;_add_before</a> options to add new buttons and to disable buttons use the <a href="option_theme_advanced_disable.html">theme_advanced_disable</a> option.
+	</p>
+	<div class="separator"></div>
+
+	<p>
+	<h3>Default buttons available in the advanced theme</h3>
+	bold<br />
+	italic<br />
+	underline<br />
+	strikethrough<br />
+	justifyleft<br />
+	justifycenter<br />
+	justifyright<br />
+	justifyfull<br />
+	bullist<br />
+	numlist<br />
+	outdent<br />
+	indent<br />
+	cut<br />
+	copy<br />
+	paste<br />
+	undo<br />
+	redo<br />
+	link<br />
+	unlink<br />
+	image<br />
+	cleanup<br />
+	help<br />
+	code<br />
+	hr<br />
+	removeformat<br />
+	formatselect<br />
+	fontselect<br />
+	fontsizeselect<br />
+	styleselect<br />
+	sub<br />
+	sup<br />
+	forecolor<br />
+	backcolor<br />
+	charmap<br />
+	visualaid<br />
+	anchor<br />
+	newdocument<br />
+	separator<br />
+	</p>
+	<p>
+	<h3>Plugins with the button name same as plugin name</h3>
+	<a href="plugin_save.html">save</a><br />
+	<a href="plugin_emotions.html">emotions</a><br />
+	<a href="plugin_flash.html">flash</a><br />
+	<a href="plugin_iespell.html">iespell</a><br />
+	<a href="plugin_preview.html">preview</a><br />
+	<a href="plugin_print.html">print</a><br />
+	<a href="plugin_zoom.html">zoom</a><br />
+	<a href="plugin_fullscreen.html">fullscreen</a><br />
+	<a href="plugin_advhr.html">advhr</a><br />
+	<a href="plugin_fullpage.html">fullpage</a><br />
+	<a href="plugin_spellchecker.html">spellchecker</a><br />
+	<br />
+	</p>
+	<p>
+	<h3>Plugins with custom buttons</h3>
+	<ul>
+
+		<li>advlink</li>
+			<ul>
+				<li>Will override the "link" button</li>
+			</ul>
+		<li>advimage</li>
+			<ul>
+				<li>Will override the "image" button</li>
+			</ul>
+		<li><a href="plugin_paste.html">paste</a></li>
+			<ul>
+				<li>pastetext</li>
+				<li>pasteword</li>
+				<li>selectall</li>
+			</ul>
+		<li><a href="plugin_searchreplace.html">searchreplace</a></li>
+			<ul>
+				<li>search</li>
+				<li>replace</li>
+			</ul>
+		<li><a href="plugin_insertdatetime.html">insertdatetime</a></li>
+			<ul>
+				<li>insertdate</li>
+				<li>inserttime</li>
+			</ul>
+		<li><a href="plugin_table.html">table</a></li>
+			<ul>
+				<li>tablecontrols</li>
+				<li>table</li>
+				<li>row_props</li>
+				<li>cell_props</li>
+				<li>delete_col</li>
+				<li>delete_row</li>
+				<li>col_after</li>
+				<li>col_before</li>
+				<li>row_after</li>
+				<li>row_before</li>
+				<li>row_after</li>
+				<li>row_before</li>
+				<li>split_cells</li>
+				<li>merge_cells</li>
+			</ul>
+		<li><a href="plugin_directionality.html">directionality</a></li>
+			<ul>
+				<li>ltr</li>
+				<li>rtl</li>
+			</ul>
+		<li><a href="plugin_layer.html">layer</a></li>
+			<ul>
+				<li>moveforward</li>
+				<li>movebackward</li>
+				<li>absolute</li>
+				<li>insertlayer</li>
+			</ul>
+		<li><a href="plugin_style.html">style</a></li>
+			<ul>
+				<li>styleprops</li>
+			</ul>
+	</ul>
+	</p>
+</div>
+
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/reference_configuration.html 4.5.4/mambots/editors/tinymce/docs/reference_configuration.html
--- 4.5.2.3/mambots/editors/tinymce/docs/reference_configuration.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/reference_configuration.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,228 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Configuration reference</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Configuration reference</h1>
+</div>
+
+<div class="content">
+	<p>This document is the index/reference page for all available core configuration options in TinyMCE.</p>
+
+	<div class="separator"></div>
+
+	<h2>Configuration options</h2>
+	<div class="section">
+		<p>All configuration options below is to be placed within the init JavaScript call.<br /><br />
+
+		<div class="column">
+			<h3>General</h3>
+			<ul class="optionlist">
+				<li><a href="option_mode.html">mode</a></li>
+				<li><a href="option_theme.html">theme</a></li>
+				<li><a href="option_plugins.html">plugins</a></li>
+				<li><a href="option_language.html">language</a></li>
+				<li><a href="option_ask.html">ask</a></li>
+				<li><a href="option_textarea_trigger.html">textarea_trigger</a></li>
+				<li><a href="option_editor_selector.html">editor_selector</a></li>
+				<li><a href="option_editor_deselector.html">editor_deselector</a></li>
+				<li><a href="option_elements.html">elements</a></li>
+				<li><a href="option_docs_language.html">docs_language</a></li>
+				<li><a href="option_debug.html">debug</a></li>
+				<li><a href="option_focus_alert.html">focus_alert</a></li>
+				<li><a href="option_directionality.html">directionality</a></li>
+				<li><a href="option_auto_reset_designmode.html">auto_reset_designmode</a></li>
+				<li><a href="option_auto_focus.html">auto_focus</a></li>
+				<li><a href="option_nowrap.html">nowrap</a></li>
+				<li><a href="option_button_tile_map.html">button_tile_map</a></li>
+				<li><a href="option_auto_resize.html">auto_resize</a></li>
+				<li><a href="option_browsers.html">browsers</a></li>
+				<li><a href="option_dialog_type.html">dialog_type</a></li>
+				<li><a href="option_accessibility_warnings.html">accessibility_warnings</a></li>
+				<li><a href="option_accessibility_focus.html">accessibility_focus</a></li>
+				<li><a href="option_event_elements.html">event_elements</a></li>
+				<li><a href="option_table_inline_editing.html">table_inline_editing</a></li>
+				<li><a href="option_object_resizing.html">object_resizing</a></li>
+				<li><a href="option_custom_shortcuts.html">custom_shortcuts</a></li>
+				<li><a href="option_strict_loading_mode.html">strict_loading_mode</a></li>
+			</ul>
+
+			<h3>Cleanup/Output</h3>
+			<ul class="optionlist">
+				<li><a href="option_cleanup.html">cleanup</a></li>
+				<li><a href="option_valid_elements.html">valid_elements</a></li>
+				<li><a href="option_extended_valid_elements.html">extended_valid_elements</a></li>
+				<li><a href="option_invalid_elements.html">invalid_elements</a></li>
+				<li><a href="option_verify_css_classes.html">verify_css_classes</a></li>
+				<li><a href="option_verify_html.html">verify_html</a></li>
+				<li><a href="option_preformatted.html">preformatted</a></li>
+				<li><a href="option_encoding.html">encoding</a></li>
+				<li><a href="option_cleanup_on_startup.html">cleanup_on_startup</a></li>
+				<li><a href="option_fix_content_duplication.html">fix_content_duplication</a></li>
+				<li><a href="option_inline_styles.html">inline_styles</a></li>
+				<li><a href="option_convert_newlines_to_brs.html">convert_newlines_to_brs</a></li>
+				<li><a href="option_force_br_newlines.html">force_br_newlines</a></li>
+				<li><a href="option_force_p_newlines.html">force_p_newlines</a></li>
+				<li><a href="option_entities.html">entities</a></li>
+				<li><a href="option_entity_encoding.html">entity_encoding</a></li>
+				<li><a href="option_remove_linebreaks.html">remove_linebreaks</a></li>
+				<li><a href="option_convert_fonts_to_spans.html">convert_fonts_to_spans</a></li>
+				<li><a href="option_font_size_classes.html">font_size_classes</a></li>
+				<li><a href="option_font_size_style_values.html">font_size_style_values</a></li>
+				<li><a href="option_merge_styles_invalid_parents.html">merge_styles_invalid_parents</a></li>
+				<li><a href="option_force_hex_style_colors.html">force_hex_style_colors</a></li>
+				<li><a href="option_apply_source_formatting.html">apply_source_formatting</a></li>
+				<li><a href="option_trim_span_elements.html">trim_span_elements</a></li>
+				<li><a href="option_doctype.html">doctype</a></li>
+				<li><a href="option_fix_list_elements.html">fix_list_elements</a></li>
+				<li><a href="option_fix_table_elements.html">fix_table_elements</a></li>
+			</ul>
+
+			</div>
+			<div class="column">
+
+			<h3>URL</h3>
+			<ul class="optionlist">
+				<li><a href="option_convert_urls.html">convert_urls</a></li>
+				<li><a href="option_relative_urls.html">relative_urls</a></li>
+				<li><a href="option_remove_script_host.html">remove_script_host</a></li>
+				<li><a href="option_document_base_url.html">document_base_url</a></li>
+			</ul>
+
+			<h3>Callbacks</h3>
+			<ul class="optionlist">
+				<li><a href="option_urlconverter_callback.html">urlconverter_callback</a></li>
+				<li><a href="option_insertlink_callback.html">insertlink_callback</a></li>
+				<li><a href="option_insertimage_callback.html">insertimage_callback</a></li>
+				<li><a href="option_setupcontent_callback.html">setupcontent_callback</a></li>
+				<li><a href="option_save_callback.html">save_callback</a></li>
+				<li><a href="option_onchange_callback.html">onchange_callback</a></li>
+				<li><a href="option_init_instance_callback.html">init_instance_callback</a></li>
+				<li><a href="option_file_browser_callback.html">file_browser_callback</a></li>
+				<li><a href="option_cleanup_callback.html">cleanup_callback</a></li>
+				<li><a href="option_handle_event_callback.html">handle_event_callback</a></li>
+				<li><a href="option_execcommand_callback.html">execcommand_callback</a></li>
+				<li><a href="option_oninit.html">oninit</a></li>
+				<li><a href="option_onpageload.html">onpageload</a></li>
+			</ul>
+
+			<h3>Layout</h3>
+			<ul class="optionlist">
+				<li><a href="option_content_css.html">content_css</a></li>
+				<li><a href="option_popups_css.html">popups_css</a></li>
+				<li><a href="option_editor_css.html">editor_css</a></li>
+				<li><a href="option_width.html">width</a></li>
+				<li><a href="option_height.html">height</a></li>
+			</ul>
+
+			<h3>Visual aids</h3>
+			<ul class="optionlist">
+				<li><a href="option_visual.html">visual</a></li>
+				<li><a href="option_visual_table_class.html">visual_table_class</a></li>
+			</ul>
+
+			<h3>Undo/Redo</h3>
+			<ul class="optionlist">
+				<li><a href="option_custom_undo_redo.html">custom_undo_redo</a></li>
+				<li><a href="option_custom_undo_redo_levels.html">custom_undo_redo_levels</a></li>
+				<li><a href="option_custom_undo_redo_keyboard_shortcuts.html">custom_undo_redo_keyboard_shortcuts</a></li>
+				<li><a href="option_custom_undo_redo_restore_selection.html">custom_undo_redo_restore_selection</a></li>
+			</ul>
+
+			<h3>File lists</h3>
+			<ul class="optionlist">
+				<li><a href="option_external_link_list_url.html">external_link_list_url</a></li>
+				<li><a href="option_external_image_list_url.html">external_image_list_url</a></li>
+			</ul>
+
+			<h3>Tab specific</h3>
+			<ul class="optionlist">
+				<li><a href="option_display_tab_class.html">display_tab_class</a></li>
+				<li><a href="option_hidden_tab_class.html">hidden_tab_class</a></li>
+			</ul>
+
+			</div>
+			<div class="column">
+
+			<h3>Triggers/Patches</h3>
+			<ul class="optionlist">
+				<li><a href="option_add_form_submit_trigger.html">add_form_submit_trigger</a></li>
+				<li><a href="option_add_unload_trigger.html">add_unload_trigger</a></li>
+				<li><a href="option_submit_patch.html">submit_patch</a></li>
+			</ul>
+
+			<h3>Advanced theme</h3>
+			<ul class="optionlist">
+				<li><a href="option_theme_advanced_layout_manager.html">theme_advanced_layout_manager</a></li>
+				<li><a href="option_theme_advanced_blockformats.html">theme_advanced_blockformats</a></li>
+				<li><a href="option_theme_advanced_styles.html">theme_advanced_styles</a></li>
+				<li><a href="option_theme_advanced_source_editor_width.html">theme_advanced_source_editor_width</a></li>
+				<li><a href="option_theme_advanced_source_editor_height.html">theme_advanced_source_editor_height</a></li>
+				<li><a href="option_theme_advanced_source_editor_wrap.html">theme_advanced_source_editor_wrap</a></li>
+				<li><a href="option_theme_advanced_toolbar_location.html">theme_advanced_toolbar_location</a></li>
+				<li><a href="option_theme_advanced_toolbar_align.html">theme_advanced_toolbar_align</a></li>
+				<li><a href="option_theme_advanced_statusbar_location.html">theme_advanced_statusbar_location</a></li>
+				<li><a href="option_theme_advanced_buttons_n.html">theme_advanced_buttons&lt;1-n&gt;</a></li>
+				<li><a href="option_theme_advanced_buttons_n_add.html">theme_advanced_buttons&lt;1-n&gt;_add</a></li>
+				<li><a href="option_theme_advanced_buttons_n_add_before.html">theme_advanced_buttons&lt;1-n&gt;_add_before</a></li>
+				<li><a href="option_theme_advanced_disable.html">theme_advanced_disable</a></li>
+				<li><a href="option_theme_advanced_containers.html">theme_advanced_containers</a></li>
+				<li><a href="option_theme_advanced_containers_default_class.html">theme_advanced_containers_default_class</a></li>
+				<li><a href="option_theme_advanced_containers_default_align.html">theme_advanced_containers_default_align</a></li>
+				<li><a href="option_theme_advanced_container.html">theme_advanced_container_&lt;container&gt;</a></li>
+				<li><a href="option_theme_advanced_container_class.html">theme_advanced_container_&lt;container&gt;_class</a></li>
+				<li><a href="option_theme_advanced_container_align.html">theme_advanced_container_&lt;container&gt;_align</a></li>
+				<li><a href="option_theme_advanced_custom_layout.html">theme_advanced_custom_layout</a></li>
+				<li><a href="option_theme_advanced_link_targets.html">theme_advanced_link_targets</a></li>
+				<li><a href="option_theme_advanced_resizing.html">theme_advanced_resizing</a></li>
+				<li><a href="option_theme_advanced_resizing_use_cookie.html">theme_advanced_resizing_use_cookie</a></li>
+				<li><a href="option_theme_advanced_resize_horizontal.html">theme_advanced_resize_horizontal</a></li>
+				<li><a href="option_theme_advanced_path.html">theme_advanced_path</a></li>
+				<li><a href="option_theme_advanced_fonts.html">theme_advanced_fonts</a></li>
+			</ul>
+		</div>
+
+		<br style="clear: both" />
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	<h2>Initialization of TinyMCE</h2>
+	<div class="section">
+		<p>Inorder to initialize the TinyMCE the following code must be placed within HEAD element of a document. The following example is configurated to convert all TEXTAREA elements to into editors when the page loads, there are other <a href="option_mode.html">modes</a> as well.</p>
+		<h3>Example of TinyMCE configuration:</h3>
+		<div class="example">
+<pre>
+&lt;html&gt;
+&lt;head&gt;
+<strong>&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; src=&quot;../jscripts/tiny_mce/tiny_mce.js&quot;&gt;&lt;/script&gt;
+&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
+tinyMCE.init({
+	theme : &quot;advanced&quot;,
+	mode : &quot;textareas&quot;
+});
+&lt;/script&gt;</strong>
+&lt;/head&gt;
+</pre>
+		</div>
+		<div class="note">
+			Note: Remember to remove the last &quot;,&quot; character in the options list.
+		</div>
+	</div>
+
+
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/reference_javascript_functions.html 4.5.4/mambots/editors/tinymce/docs/reference_javascript_functions.html
--- 4.5.2.3/mambots/editors/tinymce/docs/reference_javascript_functions.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/reference_javascript_functions.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,597 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Javascript Functions</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Javascript Functions</h1>
+</div>
+
+<div class="content">
+<p>This is for advanced users, TinyMCE has a global instance with some public functions that can be called from the page.</p>
+<h3>tinyMCE.triggerSave([skip_cleanup], [skip_callback]);</h3>
+<p>
+Makes a cleanup and moves the contents from the editor to the form field. This method is automaticly called by tinyMCE by adding a trigger on the forms submit method.
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>[skip_cleanup]</td>
+	<td>Disables the cleanup process of trigger save. Defaults to false. (Optional)</td>
+</tr>
+<tr>
+	<td>[skip_callback]</td>
+	<td>Disables the execution of the <a href="option_save_callback.html">save_callback</a> function. Defaults to false. (Optional)</td>
+</tr>
+</tbody>
+</table>
+
+skip_callback
+</p>
+<p>
+Returns: Nothing
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.updateContent(form_element_name);</h3>
+<p>
+Moves the contents from the form element to the editor, this does the opposite of triggerSave(). This method can be used when you want to change the contents of the editor dynamicly.
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>form_element_name</td>
+	<td>The name of the form element to get contents from.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: Nothing
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.execInstanceCommand(editor_id, command, [user_interface], [value]);</h3>
+<p>
+This method executes a command by name on the editor instance specified by the editor_id parameter.
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>editor_id</td>
+	<td>ID of editor instance or element id/name of the replaced element.</td>
+</tr>
+<tr>
+	<td>command</td>
+	<td>Command to execute check the execCommand function for details.</td>
+</tr>
+<tr>
+	<td>[user_interface]</td>
+	<td>Is a user interface to be used or not.</td>
+</tr>
+<tr>
+	<td>[value]</td>
+	<td>Value to pass with command for example a URL..</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: Nothing 
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.execCommand(command, [user_interface], [value]);</h3>
+<p>
+This method executes a command by name on the selected editor instance.
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>command</td>
+	<td>Command to execute for example &quot;Bold&quot; or &quot;Italic&quot;. These are defined by Mozilla <a href="http://www.mozilla.org/editor/midas-spec.html">Midas specification</a> or <a href="http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp">Microsoft specification</a>. But there are a some TinyMCE specific commands many other commands are available within plugins and themes.<br /><br />
+	<table border="0" cellspacing="0" cellpadding="2">
+	<tr>
+		<td>mceLink</td>
+		<td>Opens the insert link dialog and inserts a link.</td>
+	</tr>
+	<tr>
+		<td>mceImage</td>
+		<td>Opens the insert image dialog and inserts a image.</td>
+	</tr>
+	<tr>
+		<td>mceCleanup</td>
+		<td>Removed unwanted elements and attributes from the HTML code.</td>
+	</tr>
+	<tr>
+		<td>mceHelp</td>
+		<td>Opens the manual pages.</td>
+	</tr>
+	<tr>
+		<td>mceAddControl</td>
+		<td>Adds a editor control to the element id/name specified as value.</td>
+	</tr>
+	<tr>
+		<td>mceRemoveControl</td>
+		<td>Removes a specific control by editor_id name. The value is the editor_id to remove, editor ids are in the following format: &quot;mce_editor_&lt;index&gt;&quot;. DOM element ids and form element names can allso be used.</td>
+	</tr>
+	<tr>
+		<td>mceFocus</td>
+		<td>Focuses the editor by the id placed in value. Editor id's are in the format "mce_editor_<index>". DOM element ids and form element names can allso be used.</td>
+	</tr>
+	<tr>
+		<td>mceSetCSSClass</td>
+		<td>Sets the CSS class attribute or creates a new span of the selection. The value is the css class name to assign to selected element or new span element.</td>
+	</tr>
+	<tr>
+		<td>mceInsertContent</td>
+		<td>Inserts contents of value parameter to current cursor position.</td>
+	</tr>
+	<tr>
+		<td>mceReplaceContent</td>
+		<td>Replaces the current selection with the HTML code in value. The {$selection} variable gets replaced with the currently selected text contents.</td>
+	</tr>
+	<tr>
+		<td>mceSetAttribute</td>
+		<td>Sets a attribute of the currenly selected element. The value of this command should be a name/value array with the following parameters.<br /><br />
+		name - Attribute name to set.<br />
+		value - Attrbute value to set.<br />
+		[targets] - Target elements to add attribute on. Default: p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address.<br /><br />
+		Example of usage:<br />
+		tinyMCE.execCommand('mceSetAttribute',false,{name:'align',value:'right'});<br />
+		</td>
+	</tr>
+	<tr>
+		<td>mceToggleVisualAid</td>
+		<td>Toggles visual aid/guidelines mode on/off.</td>
+	</tr>
+	<tr>
+		<td>mceAnchor</td>
+		<td>Inserts a named anchor element, the value is the name of the anchor.</td>
+	</tr>
+	<tr>
+		<td>mceResetDesignMode</td>
+		<td>Resets the designMode state of all editor instances, this command is useful on Firefox if the editor is placed in tabs or shown/hidden with style.display="none/block". Call this command after the editor displayed again.</td>
+	</tr>
+	<tr>
+		<td>mceSelectNode</td>
+		<td>Selects the node/element passed as value. This command will also scroll to the elements location within the editor.</td>
+	</tr>
+	<tr>
+		<td>mceSelectNodeDepth</td>
+		<td>Selects the node/element by depth relative from the current node. So a value of 0 will select the currently focused node. This command will also scroll to the elements location within the editor.</td>
+	</tr>
+	<tr>
+		<td>mceRemoveNode</td>
+		<td>Removes the specified node and places the contents of the node in the same location. Specify the node reference to remove in the value parameter or null if the currently selected node is to be removed.</td>
+	</tr>
+	<tr>
+		<td></td>
+		<td></td>
+	</tr>
+	</tbody>
+</table>
+	</td>
+</tr>
+<tr>
+	<td>[user_interface]</td>
+	<td>Tells if the command is to display a user interface or not. True/False option.</td>
+</tr>
+<tr>
+	<td>[value]</td>
+	<td>Value to pass for the command for example to insertLink it's the URL of the link.</td>
+</tr>
+</tbody>
+</table>
+
+</p>
+<p>
+Returns: Nothing
+</p>
+<p>
+Example:
+</p>
+<p>
+<div class="example">
+<pre>
+&lt;a href=&quot;javascript:tinymce.execCommand('Bold');&quot;&gt;[Do bold]&lt;/a&gt;
+</pre>
+</div>
+</p>
+<div class="separator"></div>
+<h3><span class="marked">(Deprecated)</span> tinyMCE.insertLink(href, target);</h3>
+<p>This method is deprecated and removed as of 2.0.3. Use tinyMCE.execCommand('mceInsertContent',false,'custom html'); instead and tinyMCE.getInstanceById('&lt;inst&gt;').selection.getFocusElement() to retrive/update the selected element.</p>
+<p>But if you realy need the old function it's marked internal but is available in the advanced theme and you can call it by using tinyMCE.themes['advanced']._insertLink(href, target);. But the recommended way is to modify your code to use the logic above.</p>
+<p>This method inserts a link a the cursor position of the selected editor instance or updates the selected link with new data. This method should be called upon "ok" in the insertLink popup when you create custom themes.
+</p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>href</td>
+	<td>HREF/URL of the link.</td>
+</tr>
+<tr>
+	<td>target</td>
+	<td>Target of the link.</td>
+</tr>
+</tbody>
+</table>
+<p>
+Returns: Nothing
+</p>
+<div class="separator"></div>
+<h3><span class="marked">(Deprecated)</span> tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);</h4>
+<p>This method is deprecated and removed as of 2.0.3. Use tinyMCE.execCommand('mceInsertContent',false,'custom html'); instead or if you realy need the old function it's marked internal but is available in the advanced theme and you can call it by using tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);. But the recommended way is to modify your code to use the logic above.</p>
+<p>
+This method inserts a image a the cursor position of the selected editor instance or updates the selected image with new data. This method should be called upon "ok" in the insertImage popup when you create custom themes.
+</p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>src</td>
+	<td>Image src url.</td>
+</tr>
+<tr>
+	<td>alt</td>
+	<td>Alternative text of img element.</td>
+</tr>
+<tr>
+	<td>border</td>
+	<td>Border of image element.</td>
+</tr>
+<tr>
+	<td>hspace</td>
+	<td>Horizontal spacing of image element.</td>
+</tr>
+<tr>
+	<td>vspace</td>
+	<td>Vertical spacing of image element.</td>
+</tr>
+<tr>
+	<td>width</td>
+	<td>Width of image element.</td>
+</tr>
+<tr>
+	<td>height</td>
+	<td>Height of image element.</td>
+</tr>
+<tr>
+	<td>align</td>
+	<td>Alignment of image element.</td>
+</tr>
+<tr>
+	<td>title</td>
+	<td>Link title of image element.</td>
+</tr>
+<tr>
+	<td>onmouseover</td>
+	<td>On mouse over event handler of image element.</td>
+</tr>
+<tr>
+	<td>onmouseout</td>
+	<td>On mouse out event handler of image element.</td>
+</tr>
+</tbody>
+</table>
+<p>
+Returns: Nothing
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.triggerNodeChange();</h3>
+<p>This method is to be called when external changes is made to the editor. This method will then call the "handleNodeChangeCallback" callback in the theme.
+</p>
+<p>
+Parameters:
+</p>
+<p>
+None
+</p>
+<p>
+Returns: Nothing
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.getContent();</h3>
+<p>
+This method returns the HTML contents of the currently selected editor or null if no editor was selected.
+</p>
+<p>
+Parameters:
+</p>
+<p>
+None
+</p>
+<p>
+Returns: HTML contents of the currently selected editor or null. 
+</p>
+<div class="separator"></div>
+<h3>Syntax: tinyMCE.setContent(html);</h3>
+
+<p>This method sets the HTML contents of the currently selected editor.</p>
+
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>html</td>
+	<td>HTML Source code to set.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: None.
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.getInstanceById(editor_id);</h3>
+<p>
+This method returns a editor instance by editor id.
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>editor_id</td>
+	<td>Editor instance to retrive.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: TinyMCE Editor instance (TinyMCE_Control). 
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.importThemeLanguagePack([theme]);</h3>
+<p>
+This method imports/loads theme specific language packs. This may be called from custom themes.
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>[theme]</td>
+	<td>Name of the current theme. This is a optional parameter it defaults to the global "theme" setting. This parameter is useful within theme plugins.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: None.
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.importPluginLanguagePack(plugin, valid_languages);</h3>
+<p>
+This method imports/loads plugin specific language packs. This may be called from custom plugins.
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>plugin</td>
+	<td>Name of the current plugin.</td>
+</tr>
+<tr>
+	<td>valid_languages</td>
+	<td>Comma separated list of supported languagepacks.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: None.
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.applyTemplate(html);</h3>
+<p>
+This method replaces settings and lang variables in the theme.
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>html</td>
+	<td>HTML code to apply theme variable substitution on.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: New converted, HTML code. 
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.openWindow(template, [args]);</h3>
+<p>This method opens a new window by the template data assigned, it will get the width, height and html data from template parameters. The args array contains variable names to be substituted.</p>
+<p>
+There are some custom window arguments:
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>mce_replacevariables</td>
+	<td>Enables/Disables the language/variable replacement of the document HTML. Enabled by default.</td>
+</tr>
+<tr>
+	<td>mce_windowresize</td>
+	<td>Enables/Disables the auto resize feature of popupwindows. Enabled by default.</td>
+</tr>
+</tbody>
+</table>
+</p>
+
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>template</td>
+	<td>Name/Value array with width, height, html and file keys in it.</td>
+</tr>
+<tr>
+	<td>[args]</td>
+	<td>Name/Value array with variable names to replace. Variables in the template file key value (URL) gets replaced with the argument list.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: None.
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.getWindowArg(name, [default_value]);</h3>
+<p>
+This method returns a window argument defined by name. This function is to be used in theme popup windows to retrive dialog parameters.
+</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>name</td>
+	<td>Name of window argument to get.</td>
+</tr>
+<tr>
+	<td>[default_value]</td>
+	<td>Default value to be returned if window argument is missing.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: Window argument value.
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.setWindowArg(name, value);</h3>
+<p>This method sets a window argument by name. This can for example be useful if plugin are to call other plugins.</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>name</td>
+	<td>Name of window argument to set.</td>
+</tr>
+<tr>
+	<td>value</td>
+	<td>Value to set in window argument.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: Window argument value.
+</p>
+<div class="separator"></div>
+<h3>tinyMCE.getParam(name, [default_value], [strip_whitespace]);</h3>
+<p>This method returns a TinyMCE configuration parameter.</p>
+<p>
+<table border="1" cellspacing="0" cellpadding="4">
+<thead>
+<tr>
+	<td colspan="2">Parameters:</td>
+</tr>
+</thead>
+<tbody>
+<tr>
+	<td>name</td>
+	<td>Name of window argument to get.</td>
+</tr>
+<tr>
+	<td>[default_value]</td>
+	<td>Default value to be returned if window argument is missing.</td>
+</tr>
+<tr>
+	<td>[strip_whitespace]</td>
+	<td>If true all whitespace will be removed from return value, default: false.</td>
+</tr>
+</tbody>
+</table>
+</p>
+<p>
+Returns: TinyMCE configuration parameter.
+</p>
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/reference_plugins.html 4.5.4/mambots/editors/tinymce/docs/reference_plugins.html
--- 4.5.2.3/mambots/editors/tinymce/docs/reference_plugins.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/reference_plugins.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Plugins Reference</title>
+<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div class="header">
+	<h1>Plugins reference</h1>
+</div>
+
+<div class="content">
+	<p>Here are some information about the different plugins.</p>
+
+	<div class="separator"></div>
+
+	<h2>Plugins</h2>
+	<div class="section">
+		<p>To use a plugin, you need to use the advanced theme and add the plugin name in the &quot;<a href="option_plugin.html">plugin</a>&quot; comma seperated line. You also need to add the button to the interface, read more about the advanced plugin to configure this.</p>
+		<p>
+		<div class="column">
+			<ul class="optionlist">
+				<li><a href="plugin_advhr.html">advhr</a></li>
+				<li><a href="plugin_advimage.html">advimage</a></li>
+				<li><a href="plugin_advlink.html">advlink</a></li>
+				<li><a href="plugin_contextmenu.html">contextmenu</a></li>
+				<li><a href="plugin_emotions.html">emotions</a></li>
+				<li><a href="plugin_flash.html">flash</a></li>
+				<li><a href="plugin_autosave.html">autosave</a></li>
+				<li><a href="plugin_style.html">style</a></li>
+				<li><a href="plugin_layer.html">layer</a></li>
+			</ul>
+		</div>		
+		<div class="column">
+			<ul class="optionlist">
+				<li><a href="plugin_iespell.html">iespell</a></li>
+				<li><a href="plugin_insertdatetime.html">insertdatetime</a></li>
+				<li><a href="plugin_paste.html">paste</a></li>
+				<li><a href="plugin_preview.html">preview</a></li>
+				<li><a href="plugin_print.html">print</a></li>
+				<li><a href="plugin_save.html">save</a></li>
+				<li><a href="plugin_noneditable.html">noneditable</a></li>
+				<li><a href="plugin_spellchecker.html">spellchecker</a></li>
+			</ul>
+		</div>
+		<div class="column">
+			<ul class="optionlist">
+				<li><a href="plugin_searchreplace.html">searchreplace</a></li>
+				<li><a href="plugin_table.html">table</a></li>
+				<li><a href="plugin_zoom.html">zoom</a></li>
+				<li><a href="plugin_directionality.html">directionality</a></li>
+				<li><a href="plugin_fullscreen.html">fullscreen</a></li>
+				<li><a href="plugin_fullpage.html">fullpage</a></li>
+				<li><a href="plugin_inlinepopups.html">inlinepopups</a></li>
+				<li><a href="plugin_fullpage.html">fullpage</a></li>
+			</ul>
+		</div>
+		<br style="clear: both" />
+		</p>
+		<p>
+		Please notice that the plugins can require some configuration, click on the plugin link to read more about that plugin.
+		</p>
+	</div>
+
+	<div class="separator"></div>
+
+	
+</div>
+
+<div class="footer">
+	<div class="helpindexlink"><a href="index.html">Index</a></div>
+	<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
+	<br style="clear: both" />
+</div>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/style.css 4.5.4/mambots/editors/tinymce/docs/style.css
--- 4.5.2.3/mambots/editors/tinymce/docs/style.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/docs/style.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,28 +0,0 @@
-body { background-color: #FFFFFF; }
-body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
-.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
-.subtitle { font-size: 12px; font-weight: bold; }
-
-.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
-.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
-img { border: #000000 solid 1px; }
-
-a:visited { color: #666666; text-decoration: underline; }
-a:active { color: #666666; text-decoration: underline; }
-a:hover { color: #666666; text-decoration: underline; }
-a { color: #666666; text-decoration: underline; }
-
-.pageheader { border: #E0E0E0 solid 1px; }
-.pagefooter { border: #E0E0E0 solid 1px; }
-.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
-.samplecontent { font-size: 10px; }
-
-.code { background-color: #FFFFFF; border: #000000 solid 1px; }
-.codecontent { font-size: 10px; }
-.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
-.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
-.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
-.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
-
-.working { color: #00CC00 }
-.failed { color: #CC0000 }
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/allclasses-frame.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/allclasses-frame.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/allclasses-frame.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/allclasses-frame.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ All Classes 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" All Classes";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary.html" target="classFrame">All Classes</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GLOBALS.html" TARGET="classFrame">GLOBALS</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Cleanup.html" TARGET="classFrame">TinyMCE_Cleanup</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Control.html" TARGET="classFrame">TinyMCE_Control</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Engine.html" TARGET="classFrame">TinyMCE_Engine</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Layer.html" TARGET="classFrame">TinyMCE_Layer</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Popup.html" TARGET="classFrame">TinyMCE_Popup</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Selection.html" TARGET="classFrame">TinyMCE_Selection</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_UndoRedo.html" TARGET="classFrame">TinyMCE_UndoRedo</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/allclasses-noframe.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/allclasses-noframe.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/allclasses-noframe.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/allclasses-noframe.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<TITLE>
+ All Classes
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" All Classes";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 CLASS="FrameHeadingFont"></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary.html">All Classes</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GLOBALS.html" >GLOBALS</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Cleanup.html" >TinyMCE_Cleanup</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Control.html" >TinyMCE_Control</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Engine.html" >TinyMCE_Engine</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Layer.html" >TinyMCE_Layer</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Popup.html" >TinyMCE_Popup</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Selection.html" >TinyMCE_Selection</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_UndoRedo.html" >TinyMCE_UndoRedo</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/GLOBALS.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/GLOBALS.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/GLOBALS.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/GLOBALS.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,267 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+GLOBALS
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="GLOBALS";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<B>PREV CLASS</B><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Cleanup.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GLOBALS.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class GLOBALS</H2>
+<PRE>Object
+   |
+   +--<b>GLOBALS</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>GLOBALS</B>
+   
+
+</DL>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#!s!TinyMCE_Menu">TinyMCE_Menu</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Constructor for the menu layer class.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="!s!TinyMCE_Menu"><!-- --></A>
+   <H3>TinyMCE_Menu</H3>
+   <PRE>&lt;static&gt; void <B>TinyMCE_Menu</B>()</PRE>
+   
+      <UL>Constructor for the menu layer class.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<B>PREV CLASS</B><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Cleanup.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GLOBALS.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/help-doc.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/help-doc.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/help-doc.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/help-doc.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<TITLE>
+ API Help 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" API Help";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<CENTER>
+<H1>
+How This API Document Is Organized</H1>
+</CENTER>
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
+Class</H3>
+<BLOCKQUOTE>
+
+<P>
+Each class has its own separate page. Each of these pages has three sections consisting of a class description, summary tables, and detailed member descriptions:<UL>
+<LI>Class inheritance diagram<LI>Direct Subclasses<LI>Class declaration<LI>Class description
+<P>
+<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
+<P>
+<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
+Each summary entry contains the first sentence from the detailed description for that item. </BLOCKQUOTE>
+<!--H3>
+Tree (Class Hierarchy)</H3>
+<BLOCKQUOTE>
+There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all classes. The hierarchy page contains a list of classes. The classes are organized by inheritance structure starting with <code>Object</code>.<UL>
+</BLOCKQUOTE-->
+<!-- H3>
+Deprecated API</H3>
+<BLOCKQUOTE>
+The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE-->
+<H3>
+Index</H3>
+<BLOCKQUOTE>
+The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, constructors, methods, and fields.</BLOCKQUOTE>
+<H3>
+Prev/Next</H3>
+These links take you to the next or previous class, interface, package, or related page.<H3>
+Frames/No Frames</H3>
+These links show and hide the HTML frames.  All pages are available with or without frames.
+<P>
+<FONT SIZE="-1">
+<EM>
+This help file applies to API documentation generated using the standard doclet.</EM>
+</FONT>
+<BR>
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/index-all.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/index-all.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/index-all.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/index-all.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,1663 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Index ()
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Index ()";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<!--
+ Listing of letters
+-->
+&nbsp;<A HREF="index-all.html#_____">_</A>&nbsp;<A HREF="index-all.html#__A__">A</A>&nbsp;<A HREF="index-all.html#__B__">B</A>&nbsp;<A HREF="index-all.html#__C__">C</A>&nbsp;<A HREF="index-all.html#__D__">D</A>&nbsp;<A HREF="index-all.html#__E__">E</A>&nbsp;<A HREF="index-all.html#__F__">F</A>&nbsp;<A HREF="index-all.html#__G__">G</A>&nbsp;<A HREF="index-all.html#__H__">H</A>&nbsp;<A HREF="index-all.html#__I__">I</A>&nbsp;<A HREF="index-all.html#__L__">L</A>&nbsp;<A HREF="index-all.html#__M__">M</A>&nbsp;<A HREF="index-all.html#__N__">N</A>&nbsp;<A HREF="index-all.html#__O__">O</A>&nbsp;<A HREF="index-all.html#__P__">P</A>&nbsp;<A HREF="index-all.html#__Q__">Q</A>&nbsp;<A HREF="index-all.html#__R__">R</A>&nbsp;<A HREF="index-all.html#__S__">S</A>&nbsp;<A HREF="index-all.html#__T__">T</A>&nbsp;<A HREF="index-all.html#__U__">U</A>&nbsp;<A HREF="index-all.html#__W__">W</A>&nbsp;<A HREF="index-all.html#__X__">X</A>
+<HR>
+<!-- End letter listing -->
+
+<A NAME="_____"><!-- --></A><H2>
+<B>_</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#_getElementById"><B>_getElementById(id, d)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#_removeInternal"><B>_removeInternal(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__A__"><!-- --></A><H2>
+<B>A</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#accessibleEventHandler"><B>accessibleEventHandler(e)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#add"><B>add(l)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addButtonMap"><B>addButtonMap(m)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addCSSClass"><B>addCSSClass(e, c, b)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addEvent"><B>addEvent(o, n, h)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addEventHandlers"><B>addEventHandlers(inst)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addMCEControl"><B>addMCEControl(replace_element, form_element_name, target_document)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addMenu"><B>addMenu(n, m)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addPlugin"><B>addPlugin(n, p)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#addPlugin"><B>addPlugin(n, p)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#addRuleStr"><B>addRuleStr(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addSelectAccessibility"><B>addSelectAccessibility(e, s, w)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#addShortcut"><B>addShortcut(m, k, d, cmd, ui, va)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addTheme"><B>addTheme(n, t)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#addToLang"><B>addToLang(prefix, ar)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#applyTemplate"><B>applyTemplate(h, as)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#autoResetDesignMode"><B>autoResetDesignMode()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__B__"><!-- --></A><H2>
+<B>B</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#buttonMap"><B>buttonMap</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__C__"><!-- --></A><H2>
+<B>C</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#callFunc"><B>callFunc(ins, p, n, m, a)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#cancelEvent"><B>cancelEvent(e)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#cleanup"><B>cleanup</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#cleanupAnchors"><B>cleanupAnchors(doc)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#cleanupEventStr"><B>cleanupEventStr(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#cleanupHTMLCode"><B>cleanupHTMLCode(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#clearArray"><B>clearArray(a)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#close"><B>close()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#closeWindow"><B>closeWindow(win)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#compressStyle"><B>compressStyle(ar, pr, sf, res)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#configs"><B>configs</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#confirmAdd"><B>confirmAdd(e, settings)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#convertAbsoluteURLToRelativeURL"><B>convertAbsoluteURLToRelativeURL(base_url, url_to_relative)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#convertAllRelativeURLs"><B>convertAllRelativeURLs(body)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#convertFontsToSpans"><B>convertFontsToSpans(doc)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#convertHexToRGB"><B>convertHexToRGB(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#convertRelativeToAbsoluteURL"><B>convertRelativeToAbsoluteURL(base_url, relative_url)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#convertRGBToHex"><B>convertRGBToHex(s, k)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#convertSpansToFonts"><B>convertSpansToFonts(doc)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#convertURL"><B>convertURL(url, node, on_save)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#create"><B>create(n, c, p)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#currentConfig"><B>currentConfig</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__D__"><!-- --></A><H2>
+<B>D</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#debug"><B>debug()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#dialogCounter"><B>dialogCounter</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#dispatchCallback"><B>dispatchCallback(i, p, n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__E__"><!-- --></A><H2>
+<B>E</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#entityDecode"><B>entityDecode(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#evalFunc"><B>evalFunc(f, idx, a)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#eventHandlers"><B>eventHandlers</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#execCommand"><B>execCommand(command, user_interface, value)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#execCommand"><B>execCommand(command, user_interface, value)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#execCommand"><B>execCommand(command, user_interface, value)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#execCommandCallback"><B>execCommandCallback(i, p, n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#execInstanceCommand"><B>execInstanceCommand(editor_id, command, user_interface, value, focus)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#executeCallback"><B>executeCallback(i, p, n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#executeOnLoad"><B>executeOnLoad(str)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#explode"><B>explode(d, s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#extend"><B>extend(p, np)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__F__"><!-- --></A><H2>
+<B>F</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#fixGeckoBaseHREFBug"><B>fixGeckoBaseHREFBug(m, e, h)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#formatHTML"><B>formatHTML(h)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__G__"><!-- --></A><H2>
+<B>G</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#getAbsPosition"><B>getAbsPosition(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getAbsPosition"><B>getAbsPosition(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getAttrib"><B>getAttrib(elm, name, default_value)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#getBlocker"><B>getBlocker()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#getBody"><B>getBody()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#getBookmark"><B>getBookmark(simple)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getButtonHTML"><B>getButtonHTML(id, lang, img, cmd, ui, val)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getContent"><B>getContent(editor_id)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getControlHTML"><B>getControlHTML(c)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getCSSClasses"><B>getCSSClasses(editor_id, doc)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#getDoc"><B>getDoc()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getEditorId"><B>getEditorId(form_element)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#getElement"><B>getElement()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getElementByAttributeValue"><B>getElementByAttributeValue(n, e, a, v)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getElementsByAttributeValue"><B>getElementsByAttributeValue(n, e, a, v)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#getFocusElement"><B>getFocusElement()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#getFocusElement"><B>getFocusElement()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getInstanceById"><B>getInstanceById(editor_id)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getLang"><B>getLang(name, default_value, parse_entities, va)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getNodeTree"><B>getNodeTree(n, na, t, nn)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getOuterHTML"><B>getOuterHTML(e)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getParam"><B>getParam(name, default_value, strip_whitespace, split_chr)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getParentBlockElement"><B>getParentBlockElement(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getParentElement"><B>getParentElement(node, names, attrib_name, attrib_value)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getParentNode"><B>getParentNode(n, f)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#getRng"><B>getRng()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#getRng"><B>getRng()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#getSel"><B>getSel()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#getSel"><B>getSel()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#getSelectedHTML"><B>getSelectedHTML()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#getSelectedText"><B>getSelectedText()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getVisualAidClass"><B>getVisualAidClass(class_name, state)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#getWin"><B>getWin()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#getWindowArg"><B>getWindowArg(n, d)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#getWindowArg"><B>getWindowArg(name, default_value)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#"><B>GLOBALS</B></A> - 
+ class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__H__"><!-- --></A><H2>
+<B>H</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#handleEvent"><B>handleEvent(e)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#handleShortcut"><B>handleShortcut(e)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#handleVisualAid"><B>handleVisualAid(el, deep, state, inst, skip_dispatch)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#hasMenu"><B>hasMenu(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#hasMouseMoved"><B>hasMouseMoved</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#hasPlugin"><B>hasPlugin(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#hasPlugin"><B>hasPlugin(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#hasTheme"><B>hasTheme(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#hide"><B>hide()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__I__"><!-- --></A><H2>
+<B>I</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#idCounter"><B>idCounter</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#importClass"><B>importClass(c)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#importCSS"><B>importCSS(doc, css)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#importPluginLanguagePack"><B>importPluginLanguagePack(name, valid_languages)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#importThemeLanguagePack"><B>importThemeLanguagePack(name)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#init"><B>init()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#init"><B>init(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#init"><B>init(settings)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#insertAfter"><B>insertAfter(n, r)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#instance"><B>instance</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#instance"><B>instance</B></A> - 
+Instance field in  class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#instances"><B>instances</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isBlockElement"><B>isBlockElement(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#isDirty"><B>isDirty()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isGecko"><B>isGecko</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#isHidden"><B>isHidden()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isInstance"><B>isInstance(o)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isLoaded"><B>isLoaded</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isMac"><B>isMac</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isMSIE"><B>isMSIE</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isMSIE5"><B>isMSIE5</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isMSIE5_0"><B>isMSIE5_0</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isNS7"><B>isNS7</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isNS71"><B>isNS71</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isOpera"><B>isOpera</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#isSafari"><B>isSafari</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#isTinyMCE_Control"><B>isTinyMCE_Control</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#isVisible"><B>isVisible()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__L__"><!-- --></A><H2>
+<B>L</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#loadCSS"><B>loadCSS(url)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#loadedFiles"><B>loadedFiles</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#loadedPlugins"><B>loadedPlugins</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#loadPlugin"><B>loadPlugin(n, u)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#loadScript"><B>loadScript(url)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__M__"><!-- --></A><H2>
+<B>M</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#majorVersion"><B>majorVersion</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#menus"><B>menus</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#minorVersion"><B>minorVersion</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#moveBy"><B>moveBy(x, y)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#moveRelativeTo"><B>moveRelativeTo(re, p)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#moveTo"><B>moveTo(x, y)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#moveToBookmark"><B>moveToBookmark(bookmark)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__N__"><!-- --></A><H2>
+<B>N</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#nextNode"><B>nextNode(e, n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__O__"><!-- --></A><H2>
+<B>O</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#onLoad"><B>onLoad()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#onLoad"><B>onLoad()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#onMouseMove"><B>onMouseMove()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#openBrowser"><B>openBrowser(element_id, type, option)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#openWindow"><B>openWindow(template, args)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__P__"><!-- --></A><H2>
+<B>P</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#parseInt"><B>parseInt(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#parseRuleStr"><B>parseRuleStr(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#parseStyle"><B>parseStyle(str)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#parseURL"><B>parseURL(url_str)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#pickColor"><B>pickColor(e, element_id)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#plugins"><B>plugins</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#plugins"><B>plugins</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#prevNode"><B>prevNode(e, n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__Q__"><!-- --></A><H2>
+<B>Q</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#queryCommandState"><B>queryCommandState(c)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#queryCommandValue"><B>queryCommandValue(c)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#queryInstanceCommandState"><B>queryInstanceCommandState(editor_id, command)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#queryInstanceCommandValue"><B>queryInstanceCommandValue(editor_id, command)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__R__"><!-- --></A><H2>
+<B>R</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#redo"><B>redo()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#regexpReplace"><B>regexpReplace(in_str, reg_exp, replace_str, opts)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#releaseDate"><B>releaseDate</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#removeCSSClass"><B>removeCSSClass(e, c)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#removeMCEControl"><B>removeMCEControl(editor_id)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#removeTinyMCEFormElements"><B>removeTinyMCEFormElements(form_obj)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#renameElement"><B>renameElement(e, n, d)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#repaint"><B>repaint()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#replaceVar"><B>replaceVar(h, r, v)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#resetForm"><B>resetForm(form_index)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#resizeBy"><B>resizeBy(w, h)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#resizeTo"><B>resizeTo(w, h)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#resizeToContent"><B>resizeToContent()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#resizeToInnerSize"><B>resizeToInnerSize()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#restoreSelection"><B>restoreSelection()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__S__"><!-- --></A><H2>
+<B>S</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#scrollToNode"><B>scrollToNode(node)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#selection"><B>selection</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#selectNode"><B>selectNode(node, collapse, select_text_node, to_start)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#selectNodes"><B>selectNodes(n, f, a)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#serializeNodeAsHTML"><B>serializeNodeAsHTML(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#serializeNodeAsXML"><B>serializeNodeAsXML(n)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#serializeStyle"><B>serializeStyle(ar)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#serializeURL"><B>serializeURL(up)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#setAttrib"><B>setAttrib(element, name, value, fix_value)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#setBaseHREF"><B>setBaseHREF(u)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#setBlockMode"><B>setBlockMode(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#setContent"><B>setContent(h)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#setInnerHTML"><B>setInnerHTML(e, h)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#setOuterHTML"><B>setOuterHTML(e, h)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#setPluginBaseURL"><B>setPluginBaseURL(n, u)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#setStyleAttrib"><B>setStyleAttrib(elm, name, value)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#settings"><B>settings</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#setupContent"><B>setupContent(editor_id)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#setWindowArg"><B>setWindowArg(n, v)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#shortcuts"><B>shortcuts</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#show"><B>show()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#split"><B>split(re, s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#storeAwayURLs"><B>storeAwayURLs(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#submitPatch"><B>submitPatch()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#switchClass"><B>switchClass(ei, c)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#switchClassCache"><B>switchClassCache</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#switchSettings"><B>switchSettings()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__T__"><!-- --></A><H2>
+<B>T</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#themes"><B>themes</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#"><B>TinyMCE_Cleanup</B></A> - 
+ class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#constructor_detail"><B>TinyMCE_Cleanup()</B></A> - 
+Constructor in  class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#"><B>TinyMCE_Control</B></A> - 
+ class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#constructor_detail"><B>TinyMCE_Control(settings)</B></A> - 
+Constructor in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#"><B>TinyMCE_Engine</B></A> - 
+ class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#constructor_detail"><B>TinyMCE_Engine()</B></A> - 
+Constructor in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#"><B>TinyMCE_Layer</B></A> - 
+ class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#constructor_detail"><B>TinyMCE_Layer(id, bm)</B></A> - 
+Constructor in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#TinyMCE_Menu"><B>TinyMCE_Menu()</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#"><B>TinyMCE_Popup</B></A> - 
+ class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Popup.html#constructor_detail"><B>TinyMCE_Popup()</B></A> - 
+Constructor in  class <A HREF="TinyMCE_Popup.html">TinyMCE_Popup</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#"><B>TinyMCE_Selection</B></A> - 
+ class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Selection.html#constructor_detail"><B>TinyMCE_Selection(inst)</B></A> - 
+Constructor in  class <A HREF="TinyMCE_Selection.html">TinyMCE_Selection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#"><B>TinyMCE_UndoRedo</B></A> - 
+ class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#constructor_detail"><B>TinyMCE_UndoRedo(inst)</B></A> - 
+Constructor in  class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#triggerNodeChange"><B>triggerNodeChange(focus, setup_content)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#triggerSave"><B>triggerSave(skip_cleanup, skip_callback)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#triggerSave"><B>triggerSave(skip_cleanup, skip_callback)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#trim"><B>trim(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#typingUndoIndex"><B>typingUndoIndex</B></A> - 
+Instance field in  class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__U__"><!-- --></A><H2>
+<B>U</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#undo"><B>undo()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#undoIndex"><B>undoIndex</B></A> - 
+Instance field in  class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#undoLevels"><B>undoLevels</B></A> - 
+Instance field in  class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#undoRedo"><B>undoRedo</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_UndoRedo.html#undoRedo"><B>undoRedo</B></A> - 
+Instance field in  class <A HREF="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Control.html#undoRedoLevel"><B>undoRedoLevel</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Control.html">TinyMCE_Control</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#unloadHandler"><B>unloadHandler()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Layer.html#updateBlocker"><B>updateBlocker()</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Layer.html">TinyMCE_Layer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#updateContent"><B>updateContent(form_element_name)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__W__"><!-- --></A><H2>
+<B>W</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#windowArgs"><B>windowArgs</B></A> - 
+Instance field in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__X__"><!-- --></A><H2>
+<B>X</B></H2>
+
+<DL>
+<DT><A HREF="TinyMCE_Engine.html#xmlEncode"><B>xmlEncode(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Engine.html">TinyMCE_Engine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TinyMCE_Cleanup.html#xmlEncode"><B>xmlEncode(s)</B></A> - 
+Instance method in  class <A HREF="TinyMCE_Cleanup.html">TinyMCE_Cleanup</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<!-- 
+   Listing of letters
+-->
+&nbsp;<A HREF="index-all.html#_____">_</A>&nbsp;<A HREF="index-all.html#__A__">A</A>&nbsp;<A HREF="index-all.html#__B__">B</A>&nbsp;<A HREF="index-all.html#__C__">C</A>&nbsp;<A HREF="index-all.html#__D__">D</A>&nbsp;<A HREF="index-all.html#__E__">E</A>&nbsp;<A HREF="index-all.html#__F__">F</A>&nbsp;<A HREF="index-all.html#__G__">G</A>&nbsp;<A HREF="index-all.html#__H__">H</A>&nbsp;<A HREF="index-all.html#__I__">I</A>&nbsp;<A HREF="index-all.html#__L__">L</A>&nbsp;<A HREF="index-all.html#__M__">M</A>&nbsp;<A HREF="index-all.html#__N__">N</A>&nbsp;<A HREF="index-all.html#__O__">O</A>&nbsp;<A HREF="index-all.html#__P__">P</A>&nbsp;<A HREF="index-all.html#__Q__">Q</A>&nbsp;<A HREF="index-all.html#__R__">R</A>&nbsp;<A HREF="index-all.html#__S__">S</A>&nbsp;<A HREF="index-all.html#__T__">T</A>&nbsp;<A HREF="index-all.html#__U__">U</A>&nbsp;<A HREF="index-all.html#__W__">W</A>&nbsp;<A HREF="index-all.html#__X__">X</A>
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/index.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/index.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/index.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/index.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<TITLE>
+Generated Javascript Documentation 
+</TITLE>
+</HEAD>
+<FRAMESET cols="20%,80%">
+
+<FRAMESET rows="40%,50%">
+<FRAME src="overview-frame.html" name="overviewFrame">
+
+<FRAME src="allclasses-frame.html" name="packageFrame">
+
+</FRAMESET>
+
+<FRAME src="overview-summary.html" name="classFrame">
+</FRAMESET>
+<NOFRAMES>
+<H2>
+Frame Alert</H2>
+
+<P>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<BR>
+Link to <A HREF="allclasses-frame.html">Non-frame version.</A></NOFRAMES>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-frame.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-frame.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-frame.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-frame.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<TITLE>
+Overview ()
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Overview ()";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<TABLE BORDER="0" WIDTH="100%">
+<TR>
+<B></B></FONT></TD>
+</TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="100%">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" TARGET="packageFrame">All Classes</A></FONT>
+<P>
+<FONT size="+1" CLASS="FrameHeadingFont">
+Files</FONT>
+<BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Array.class.js.html" TARGET="packageFrame">TinyMCE_Array.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Cleanup.class.js.html" TARGET="packageFrame">TinyMCE_Cleanup.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Control.class.js.html" TARGET="packageFrame">TinyMCE_Control.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Debug.class.js.html" TARGET="packageFrame">TinyMCE_Debug.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_DOMUtils.class.js.html" TARGET="packageFrame">TinyMCE_DOMUtils.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Engine.class.js.html" TARGET="packageFrame">TinyMCE_Engine.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Event.class.js.html" TARGET="packageFrame">TinyMCE_Event.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_ForceParagraphs.class.js.html" TARGET="packageFrame">TinyMCE_ForceParagraphs.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Layer.class.js.html" TARGET="packageFrame">TinyMCE_Layer.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Menu.class.js.html" TARGET="packageFrame">TinyMCE_Menu.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Popup.class.js.html" TARGET="packageFrame">TinyMCE_Popup.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Selection.class.js.html" TARGET="packageFrame">TinyMCE_Selection.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_UndoRedo.class.js.html" TARGET="packageFrame">TinyMCE_UndoRedo.class.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_URL.class.js.html" TARGET="packageFrame">TinyMCE_URL.class.js</A></FONT><BR>
+
+</TD>
+</TR>
+</TABLE>
+
+<P>
+&nbsp;
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,231 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title=" Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>Overview</b></font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1"> <font class="NavBarFont1">File</font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>JSDoc Documentation</h2>
+	
+</center>
+
+
+<h4>Summary</h4>
+<p>
+	
+    	No summary generated for these documents.
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>File Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Array.class.js.html">TinyMCE_Array.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Cleanup.class.js.html">TinyMCE_Cleanup.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Control.class.js.html">TinyMCE_Control.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Debug.class.js.html">TinyMCE_Debug.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_DOMUtils.class.js.html">TinyMCE_DOMUtils.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Engine.class.js.html">TinyMCE_Engine.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Event.class.js.html">TinyMCE_Event.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_ForceParagraphs.class.js.html">TinyMCE_ForceParagraphs.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Layer.class.js.html">TinyMCE_Layer.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Menu.class.js.html">TinyMCE_Menu.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Popup.class.js.html">TinyMCE_Popup.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_Selection.class.js.html">TinyMCE_Selection.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_UndoRedo.class.js.html">TinyMCE_UndoRedo.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TinyMCE_URL.class.js.html">TinyMCE_URL.class.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>Overview</b></font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1"> <font class="NavBarFont1">File</font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Array.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Array.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Array.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Array.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,180 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Array.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Array.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Array.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Array.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:28 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ *
+ * The contents of this file will be wrapped in a class later on.
+ */</span>
+
+<span class="comment">/**
+ * Returns a cleared array, since some external libraries tend to extend the Array core object
+ * arrays needs to be cleaned from these extended functions. So this function simply sets any
+ * named properties back to null.
+ *
+ * <span class="attrib">@param</span> {Array} Name/Value array to clear.
+ * <span class="attrib">@return</span> Cleared name/value array.
+ * <span class="attrib">@type</span> Array
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.clearArray = <span class="reserved">function</span>(a) {
+	<span class="reserved">for</span> (var k in a)
+		a[k] = null;
+
+	<span class="reserved">return</span> a;
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Cleanup.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Cleanup.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Cleanup.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Cleanup.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,1480 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Cleanup.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Cleanup.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Cleanup.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TinyMCE_Cleanup.html">TinyMCE_Cleanup</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Cleanup.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:28 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ *
+ * Some of the contents of this file will be wrapped in a class later on it will also be replaced with the new cleanup logic.
+ */</span>
+
+<span class="comment">/**
+ * Makes some preprocessing cleanup routines on the specified HTML string.
+ * This includes forcing some tags to be open so MSIE doesn't fail. Forcing other to close and
+ * padding paragraphs with non breaking spaces. This function is used when the editor gets
+ * initialized with content.
+ *
+ * <span class="attrib">@param</span> {string} s HTML string to cleanup.
+ * <span class="attrib">@return</span> Cleaned HTML string.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.cleanupHTMLCode = <span class="reserved">function</span>(s) {
+	s = s.replace(new RegExp(<span class="literal">'&lt;p \\/&gt;'</span>, <span class="literal">'gi'</span>), <span class="literal">'&lt;p&gt;&amp;nbsp;&lt;/p&gt;'</span>);
+	s = s.replace(new RegExp(<span class="literal">'&lt;p&gt;\\s*&lt;\\/p&gt;'</span>, <span class="literal">'gi'</span>), <span class="literal">'&lt;p&gt;&amp;nbsp;&lt;/p&gt;'</span>);
+
+	<span class="comment">// Fix close BR elements</span>
+	s = s.replace(new RegExp(<span class="literal">'&lt;br&gt;\\s*&lt;\\/br&gt;'</span>, <span class="literal">'gi'</span>), <span class="literal">'&lt;br /&gt;'</span>);
+
+	<span class="comment">// Open closed tags like &lt;b/&gt; to &lt;b&gt;&lt;/b&gt;</span>
+	s = s.replace(new RegExp(<span class="literal">'&lt;(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|&gt;]*)\\/&gt;'</span>, <span class="literal">'gi'</span>), <span class="literal">'&lt;$1$2$3&gt;&lt;/$1$2&gt;'</span>);
+
+	<span class="comment">// Remove trailing space &lt;b &gt; to &lt;b&gt;</span>
+	s = s.replace(new RegExp(<span class="literal">'\\s+&gt;&lt;/'</span>, <span class="literal">'gi'</span>), <span class="literal">'&gt;&lt;/'</span>);
+
+	<span class="comment">// Close tags &lt;img&gt;&lt;/img&gt; to &lt;img/&gt;</span>
+	s = s.replace(new RegExp(<span class="literal">'&lt;(img|br|hr)([^&gt;]*)&gt;&lt;\\/(img|br|hr)&gt;'</span>, <span class="literal">'gi'</span>), <span class="literal">'&lt;$1$2 /&gt;'</span>);
+
+	<span class="comment">// Weird MSIE bug, &lt;p&gt;&lt;hr /&gt;&lt;/p&gt; breaks runtime?</span>
+	<span class="reserved">if</span> (tinyMCE.isMSIE)
+		s = s.replace(new RegExp(<span class="literal">'&lt;p&gt;&lt;hr \\/&gt;&lt;\\/p&gt;'</span>, <span class="literal">'gi'</span>), <span class="literal">"&lt;hr&gt;"</span>);
+
+	<span class="comment">// Convert relative anchors to absolute URLs ex: #something to file.htm#something</span>
+	<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">'convert_urls'</span>))
+		s = s.replace(new RegExp(<span class="literal">'(href=\"{0,1})(\\s*#)'</span>, <span class="literal">'gi'</span>), <span class="literal">'$1'</span> + tinyMCE.settings[<span class="literal">'document_base_url'</span>] + <span class="literal">"#"</span>);
+
+	<span class="reserved">return</span> s;
+};
+
+<span class="comment">/**
+ * Parses the specified HTML style data. This will parse for example
+ * "border-left: 1px; background-color: red" into an key/value array.
+ *
+ * <span class="attrib">@param</span> {string} str Style data to parse.
+ * <span class="attrib">@return</span> Name/Value array of style items.
+ * <span class="attrib">@type</span> Array
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.parseStyle = <span class="reserved">function</span>(str) {
+	var ar = new Array();
+
+	<span class="reserved">if</span> (str == null)
+		<span class="reserved">return</span> ar;
+
+	var st = str.split(<span class="literal">';'</span>);
+
+	tinyMCE.clearArray(ar);
+
+	<span class="reserved">for</span> (var i=0; i&lt;st.length; i++) {
+		<span class="reserved">if</span> (st[i] == <span class="literal">''</span>)
+			continue;
+
+		var re = new RegExp(<span class="literal">'^\\s*([^:]*):\\s*(.*)\\s*$'</span>);
+		var pa = st[i].replace(re, <span class="literal">'$1||$2'</span>).split(<span class="literal">'||'</span>);
+<span class="comment">//tinyMCE.debug(str, pa[0] + "=" + pa[1], st[i].replace(re, '$1||$2'));</span>
+		<span class="reserved">if</span> (pa.length == 2)
+			ar[pa[0].toLowerCase()] = pa[1];
+	}
+
+	<span class="reserved">return</span> ar;
+};
+
+<span class="comment">/**
+ * Compresses larger styles into a smaller. Since MSIE automaticly converts
+ * border: 1px solid red to border-left: 1px solid red, border-righ: 1px solid red and so forth.'
+ * This will bundle them together again if the information is the same in each item.
+ *
+ * <span class="attrib">@param</span> {Array} ar Style name/value array with items.
+ * <span class="attrib">@param</span> {string} pr Style item prefix to bundle for example border.
+ * <span class="attrib">@param</span> {string} sf Style item suffix to bunlde for example -width or -width.
+ * <span class="attrib">@param</span> {string} res Result name, for example border-width.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.compressStyle = <span class="reserved">function</span>(ar, pr, sf, res) {
+	var box = new Array();
+
+	box[0] = ar[pr + <span class="literal">'-top'</span> + sf];
+	box[1] = ar[pr + <span class="literal">'-left'</span> + sf];
+	box[2] = ar[pr + <span class="literal">'-right'</span> + sf];
+	box[3] = ar[pr + <span class="literal">'-bottom'</span> + sf];
+
+	<span class="reserved">for</span> (var i=0; i&lt;box.length; i++) {
+		<span class="reserved">if</span> (box[i] == null)
+			<span class="reserved">return</span>;
+
+		<span class="reserved">for</span> (var a=0; a&lt;box.length; a++) {
+			<span class="reserved">if</span> (box[a] != box[i])
+				<span class="reserved">return</span>;
+		}
+	}
+
+	<span class="comment">// They are all the same</span>
+	ar[res] = box[0];
+	ar[pr + <span class="literal">'-top'</span> + sf] = null;
+	ar[pr + <span class="literal">'-left'</span> + sf] = null;
+	ar[pr + <span class="literal">'-right'</span> + sf] = null;
+	ar[pr + <span class="literal">'-bottom'</span> + sf] = null;
+};
+
+<span class="comment">/**
+ * Serializes the specified style item name/value array into a HTML string. This function
+ * will force HEX colors in Firefox and convert the URL items of a style correctly.
+ *
+ * <span class="attrib">@param</span> {Array} ar Name/Value array of items to serialize.
+ * <span class="attrib">@return</span> Serialized HTML string containing the items.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.serializeStyle = <span class="reserved">function</span>(ar) {
+	var str = <span class="literal">""</span>;
+
+	<span class="comment">// Compress box</span>
+	tinyMCE.compressStyle(ar, <span class="literal">"border"</span>, <span class="literal">""</span>, <span class="literal">"border"</span>);
+	tinyMCE.compressStyle(ar, <span class="literal">"border"</span>, <span class="literal">"-width"</span>, <span class="literal">"border-width"</span>);
+	tinyMCE.compressStyle(ar, <span class="literal">"border"</span>, <span class="literal">"-color"</span>, <span class="literal">"border-color"</span>);
+	tinyMCE.compressStyle(ar, <span class="literal">"border"</span>, <span class="literal">"-style"</span>, <span class="literal">"border-style"</span>);
+	tinyMCE.compressStyle(ar, <span class="literal">"padding"</span>, <span class="literal">""</span>, <span class="literal">"padding"</span>);
+	tinyMCE.compressStyle(ar, <span class="literal">"margin"</span>, <span class="literal">""</span>, <span class="literal">"margin"</span>);
+
+	<span class="reserved">for</span> (var key in ar) {
+		var val = ar[key];
+
+		<span class="reserved">if</span> (typeof(val) == <span class="literal">'function'</span>)
+			continue;
+
+		<span class="reserved">if</span> (key.indexOf(<span class="literal">'mso-'</span>) == 0)
+			continue;
+
+		<span class="reserved">if</span> (val != null &amp;&amp; val != <span class="literal">''</span>) {
+			val = <span class="literal">''</span> + val; <span class="comment">// Force string</span>
+
+			<span class="comment">// Fix style URL</span>
+			val = val.replace(new RegExp(<span class="literal">"url\\(\\'?([^\\']*)\\'?\\)"</span>, <span class="literal">'gi'</span>), <span class="literal">"url('$1')"</span>);
+
+			<span class="comment">// Convert URL</span>
+			<span class="reserved">if</span> (val.indexOf(<span class="literal">'url('</span>) != -1 &amp;&amp; tinyMCE.getParam(<span class="literal">'convert_urls'</span>)) {
+				var m = new RegExp(<span class="literal">"url\\('(.*?)'\\)"</span>).exec(val);
+
+				<span class="reserved">if</span> (m.length &gt; 1)
+					val = <span class="literal">"url('"</span> + eval(tinyMCE.getParam(<span class="literal">'urlconverter_callback'</span>) + <span class="literal">"(m[1], null, true);"</span>) + <span class="literal">"')"</span>;
+			}
+
+			<span class="comment">// Force HEX colors</span>
+			<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"force_hex_style_colors"</span>))
+				val = tinyMCE.convertRGBToHex(val, true);
+
+			<span class="reserved">if</span> (val != <span class="literal">"url('')"</span>)
+				str += key.toLowerCase() + <span class="literal">": "</span> + val + <span class="literal">"; "</span>;
+		}
+	}
+
+	<span class="reserved">if</span> (new RegExp(<span class="literal">'; $'</span>).test(str))
+		str = str.substring(0, str.length - 2);
+
+	<span class="reserved">return</span> str;
+};
+
+<span class="comment">/**
+ * Returns a hexadecimal version of the specified rgb(1,2,3) string.
+ *
+ * <span class="attrib">@param</span> {string} s RGB string to parse, if this doesn't isn't a rgb(n,n,n) it will passthrough the string.
+ * <span class="attrib">@param</span> {boolean} k Keep before/after contents. If enabled contents before after the rgb(n,n,n) will be intact.
+ * <span class="attrib">@return</span> Hexadecimal version of the specified rgb(1,2,3) string.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.convertRGBToHex = <span class="reserved">function</span>(s, k) {
+	<span class="reserved">if</span> (s.toLowerCase().indexOf(<span class="literal">'rgb'</span>) != -1) {
+		var re = new RegExp(<span class="literal">"(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)"</span>, <span class="literal">"gi"</span>);
+		var rgb = s.replace(re, <span class="literal">"$1,$2,$3,$4,$5"</span>).split(<span class="literal">','</span>);
+		<span class="reserved">if</span> (rgb.length == 5) {
+			r = parseInt(rgb[1]).toString(16);
+			g = parseInt(rgb[2]).toString(16);
+			b = parseInt(rgb[3]).toString(16);
+
+			r = r.length == 1 ? <span class="literal">'0'</span> + r : r;
+			g = g.length == 1 ? <span class="literal">'0'</span> + g : g;
+			b = b.length == 1 ? <span class="literal">'0'</span> + b : b;
+
+			s = <span class="literal">"#"</span> + r + g + b;
+
+			<span class="reserved">if</span> (k)
+				s = rgb[0] + s + rgb[4];
+		}
+	}
+
+	<span class="reserved">return</span> s;
+};
+
+<span class="comment">/**
+ * Returns a rgb(n,n,n) string from a hexadecimal value.
+ *
+ * <span class="attrib">@param</span> {string} s Hexadecimal string to parse.
+ * <span class="attrib">@return</span> rgb(n,n,n) string from a hexadecimal value.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.convertHexToRGB = <span class="reserved">function</span>(s) {
+	<span class="reserved">if</span> (s.indexOf(<span class="literal">'#'</span>) != -1) {
+		s = s.replace(new RegExp(<span class="literal">'[^0-9A-F]'</span>, <span class="literal">'gi'</span>), <span class="literal">''</span>);
+		<span class="reserved">return</span> <span class="literal">"rgb("</span> + parseInt(s.substring(0, 2), 16) + <span class="literal">","</span> + parseInt(s.substring(2, 4), 16) + <span class="literal">","</span> + parseInt(s.substring(4, 6), 16) + <span class="literal">")"</span>;
+	}
+
+	<span class="reserved">return</span> s;
+};
+
+<span class="comment">/**
+ * Converts span elements to font elements in the specified document instance.
+ * Todo: Move this function into a XHTML plugin or simmilar.
+ *
+ * <span class="attrib">@param</span> {DOMDocument} doc Document instance to convert spans in.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.convertSpansToFonts = <span class="reserved">function</span>(doc) {
+	var sizes = tinyMCE.getParam(<span class="literal">'font_size_style_values'</span>).replace(/\s+/, <span class="literal">''</span>).split(<span class="literal">','</span>);
+
+	var h = doc.body.innerHTML;
+	h = h.replace(/&lt;span/gi, <span class="literal">'&lt;font'</span>);
+	h = h.replace(/&lt;\/span/gi, <span class="literal">'&lt;/font'</span>);
+	doc.body.innerHTML = h;
+
+	var s = doc.getElementsByTagName(<span class="literal">"font"</span>);
+	<span class="reserved">for</span> (var i=0; i&lt;s.length; i++) {
+		var size = tinyMCE.trim(s[i].style.fontSize).toLowerCase();
+		var fSize = 0;
+
+		<span class="reserved">for</span> (var x=0; x&lt;sizes.length; x++) {
+			<span class="reserved">if</span> (sizes[x] == size) {
+				fSize = x + 1;
+				break;
+			}
+		}
+
+		<span class="reserved">if</span> (fSize &gt; 0) {
+			tinyMCE.setAttrib(s[i], <span class="literal">'size'</span>, fSize);
+			s[i].style.fontSize = <span class="literal">''</span>;
+		}
+
+		var fFace = s[i].style.fontFamily;
+		<span class="reserved">if</span> (fFace != null &amp;&amp; fFace != <span class="literal">""</span>) {
+			tinyMCE.setAttrib(s[i], <span class="literal">'face'</span>, fFace);
+			s[i].style.fontFamily = <span class="literal">''</span>;
+		}
+
+		var fColor = s[i].style.color;
+		<span class="reserved">if</span> (fColor != null &amp;&amp; fColor != <span class="literal">""</span>) {
+			tinyMCE.setAttrib(s[i], <span class="literal">'color'</span>, tinyMCE.convertRGBToHex(fColor));
+			s[i].style.color = <span class="literal">''</span>;
+		}
+	}
+};
+
+<span class="comment">/**
+ * Convers fonts to spans in the specified document.
+ * Todo: Move this function into a XHTML plugin or simmilar.
+ *
+ * <span class="attrib">@param</span> {DOMDocument} doc Document instance to convert fonts in.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.convertFontsToSpans = <span class="reserved">function</span>(doc) {
+	var sizes = tinyMCE.getParam(<span class="literal">'font_size_style_values'</span>).replace(/\s+/, <span class="literal">''</span>).split(<span class="literal">','</span>);
+
+	var h = doc.body.innerHTML;
+	h = h.replace(/&lt;font/gi, <span class="literal">'&lt;span'</span>);
+	h = h.replace(/&lt;\/font/gi, <span class="literal">'&lt;/span'</span>);
+	doc.body.innerHTML = h;
+
+	var fsClasses = tinyMCE.getParam(<span class="literal">'font_size_classes'</span>);
+	<span class="reserved">if</span> (fsClasses != <span class="literal">''</span>)
+		fsClasses = fsClasses.replace(/\s+/, <span class="literal">''</span>).split(<span class="literal">','</span>);
+	<span class="reserved">else</span>
+		fsClasses = null;
+
+	var s = doc.getElementsByTagName(<span class="literal">"span"</span>);
+	<span class="reserved">for</span> (var i=0; i&lt;s.length; i++) {
+		var fSize, fFace, fColor;
+
+		fSize = tinyMCE.getAttrib(s[i], <span class="literal">'size'</span>);
+		fFace = tinyMCE.getAttrib(s[i], <span class="literal">'face'</span>);
+		fColor = tinyMCE.getAttrib(s[i], <span class="literal">'color'</span>);
+
+		<span class="reserved">if</span> (fSize != <span class="literal">""</span>) {
+			fSize = parseInt(fSize);
+
+			<span class="reserved">if</span> (fSize &gt; 0 &amp;&amp; fSize &lt; 8) {
+				<span class="reserved">if</span> (fsClasses != null)
+					tinyMCE.setAttrib(s[i], <span class="literal">'class'</span>, fsClasses[fSize-1]);
+				<span class="reserved">else</span>
+					s[i].style.fontSize = sizes[fSize-1];
+			}
+
+			s[i].removeAttribute(<span class="literal">'size'</span>);
+		}
+
+		<span class="reserved">if</span> (fFace != <span class="literal">""</span>) {
+			s[i].style.fontFamily = fFace;
+			s[i].removeAttribute(<span class="literal">'face'</span>);
+		}
+
+		<span class="reserved">if</span> (fColor != <span class="literal">""</span>) {
+			s[i].style.color = fColor;
+			s[i].removeAttribute(<span class="literal">'color'</span>);
+		}
+	}
+};
+
+<span class="comment">/**
+ * Moves the contents of a anchor outside and after the anchor. Only if the anchor doesn't
+ * have a href.
+ *
+ * <span class="attrib">@param</span> {DOMDocument} doc DOM document instance to fix anchors in.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.cleanupAnchors = <span class="reserved">function</span>(doc) {
+	var i, cn, x, an = doc.getElementsByTagName(<span class="literal">"a"</span>);
+
+	<span class="comment">// Loops backwards due to bug #1467987</span>
+	<span class="reserved">for</span> (i=an.length-1; i&gt;=0; i--) {
+		<span class="reserved">if</span> (tinyMCE.getAttrib(an[i], <span class="literal">"name"</span>) != <span class="literal">""</span> &amp;&amp; tinyMCE.getAttrib(an[i], <span class="literal">"href"</span>) == <span class="literal">""</span>) {
+			cn = an[i].childNodes;
+
+			<span class="reserved">for</span> (x=cn.length-1; x&gt;=0; x--)
+				tinyMCE.insertAfter(cn[x], an[i]);
+		}
+	}
+};
+
+<span class="comment">/**
+ * Returns the HTML contents of the specified editor instance id.
+ *
+ * <span class="attrib">@param</span> {string} editor_id Editor instance id to retrive HTML code from.
+ * <span class="attrib">@return</span> HTML contents of editor id or null if it wasn't found.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getContent = <span class="reserved">function</span>(editor_id) {
+	var h;
+
+	<span class="reserved">if</span> (typeof(editor_id) != <span class="literal">"undefined"</span>)
+		tinyMCE.selectedInstance = tinyMCE.getInstanceById(editor_id);
+
+	<span class="reserved">if</span> (tinyMCE.selectedInstance) {
+		h = tinyMCE._cleanupHTML(<span class="reserved">this</span>.selectedInstance, <span class="reserved">this</span>.selectedInstance.getDoc(), tinyMCE.settings, <span class="reserved">this</span>.selectedInstance.getBody(), false, true);
+
+		<span class="comment">// When editing always use fonts internaly</span>
+		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
+			tinyMCE.convertSpansToFonts(<span class="reserved">this</span>.selectedInstance.getDoc());
+
+		<span class="reserved">return</span> h;
+	}
+
+	<span class="reserved">return</span> null;
+};
+
+<span class="comment">/**
+ * Fixes invalid ul/ol elements so the document is more XHTML valid.
+ *
+ * <span class="attrib">@param</span> {DOMDocument} d HTML DOM document to fix list elements in.
+ * <span class="attrib">@private</span>
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>._fixListElements = <span class="reserved">function</span>(d) {
+	var nl, x, a = [<span class="literal">'ol'</span>, <span class="literal">'ul'</span>], i, n, p, r = new RegExp(<span class="literal">'^(OL|UL)$'</span>), np;
+
+	<span class="reserved">for</span> (x=0; x&lt;a.length; x++) {
+		nl = d.getElementsByTagName(a[x]);
+
+		<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
+			n = nl[i];
+			p = n.parentNode;
+
+			<span class="reserved">if</span> (r.test(p.nodeName)) {
+				np = tinyMCE.prevNode(n, <span class="literal">'LI'</span>);
+
+				<span class="reserved">if</span> (!np) {
+					np = d.createElement(<span class="literal">'li'</span>);
+					np.innerHTML = <span class="literal">'&amp;nbsp;'</span>;
+					np.appendChild(n);
+					p.insertBefore(np, p.firstChild);
+				} <span class="reserved">else</span>
+					np.appendChild(n);
+			}
+		}
+	}
+};
+
+<span class="comment">/**
+ * Moves table elements out of block elements to produce more valid XHTML.
+ *
+ * <span class="attrib">@param</span> {DOMDocument} d HTML DOM document to fix list elements in.
+ * <span class="attrib">@private</span>
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>._fixTables = <span class="reserved">function</span>(d) {
+	var nl, i, n, p, np, x, t;
+
+	nl = d.getElementsByTagName(<span class="literal">'table'</span>);
+	<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
+		n = nl[i];
+
+		<span class="reserved">if</span> ((p = tinyMCE.getParentElement(n, <span class="literal">'p,div,h1,h2,h3,h4,h5,h6'</span>)) != null) {
+			np = p.cloneNode(false);
+			np.removeAttribute(<span class="literal">'id'</span>);
+
+			t = n;
+
+			<span class="reserved">while</span> ((n = n.nextSibling))
+				np.appendChild(n);
+
+			tinyMCE.insertAfter(np, p);
+			tinyMCE.insertAfter(t, p);
+		}
+	}
+};
+
+<span class="comment">/**
+ * Performces cleanup of the contents of the specified instance.
+ * Todo: Finish documentation, and remove useless parameters.
+ *
+ * <span class="attrib">@param</span> {TinyMCE_Control} inst Editor instance.
+ * <span class="attrib">@param</span> {DOMDocument} doc ...
+ * <span class="attrib">@param</span> {Array} config ...
+ * <span class="attrib">@param</span> {HTMLElement} elm ...
+ * <span class="attrib">@param</span> {boolean} visual ...
+ * <span class="attrib">@param</span> {boolean} on_save ...
+ * <span class="attrib">@param</span> {boolean} on_submit ...
+ * <span class="attrib">@return</span> Cleaned HTML contents of editor instance.
+ * <span class="attrib">@type</span> string
+ * <span class="attrib">@private</span>
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>._cleanupHTML = <span class="reserved">function</span>(inst, doc, config, elm, visual, on_save, on_submit) {
+	var h, d, t1, t2, t3, t4, t5, c, s;
+
+	<span class="reserved">if</span> (!tinyMCE.getParam(<span class="literal">'cleanup'</span>))
+		<span class="reserved">return</span> elm.innerHTML;
+
+	on_save = typeof(on_save) == <span class="literal">'undefined'</span> ? false : on_save;
+
+	c = inst.cleanup;
+	s = inst.settings;
+	d = c.settings.debug;
+
+	<span class="reserved">if</span> (d)
+		t1 = new Date().getTime();
+
+	<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
+		tinyMCE.convertFontsToSpans(doc);
+
+	<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"fix_list_elements"</span>))
+		tinyMCE._fixListElements(doc);
+
+	<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"fix_table_elements"</span>))
+		tinyMCE._fixTables(doc);
+
+	<span class="comment">// Call custom cleanup code</span>
+	tinyMCE._customCleanup(inst, on_save ? <span class="literal">"get_from_editor_dom"</span> : <span class="literal">"insert_to_editor_dom"</span>, doc.body);
+
+	<span class="reserved">if</span> (d)
+		t2 = new Date().getTime();
+
+	c.settings.on_save = on_save;
+	<span class="comment">//for (var i=0; i&lt;100; i++)</span>
+
+	c.idCount = 0;
+	c.serializationId++;
+	c.serializedNodes = new Array();
+	c.sourceIndex = -1;
+
+	<span class="reserved">if</span> (s.cleanup_serializer == <span class="literal">"xml"</span>)
+		h = c.serializeNodeAsXML(elm);
+	<span class="reserved">else</span>
+		h = c.serializeNodeAsHTML(elm);
+
+	<span class="reserved">if</span> (d)
+		t3 = new Date().getTime();
+
+	<span class="comment">// Post processing</span>
+	h = h.replace(/&lt;\/?(body|head|html)[^&gt;]*&gt;/gi, <span class="literal">''</span>);
+	h = h.replace(new RegExp(<span class="literal">' (rowspan="1"|colspan="1")'</span>, <span class="literal">'g'</span>), <span class="literal">''</span>);
+	h = h.replace(/&lt;p&gt;&lt;hr \/&gt;&lt;\/p&gt;/g, <span class="literal">'&lt;hr /&gt;'</span>);
+	h = h.replace(/&lt;p&gt;(&amp;nbsp;|&amp;#160;)&lt;\/p&gt;&lt;hr \/&gt;&lt;p&gt;(&amp;nbsp;|&amp;#160;)&lt;\/p&gt;/g, <span class="literal">'&lt;hr /&gt;'</span>);
+	h = h.replace(/&lt;td&gt;\s*&lt;br \/&gt;\s*&lt;\/td&gt;/g, <span class="literal">'&lt;td&gt;&amp;nbsp;&lt;/td&gt;'</span>);
+	h = h.replace(/&lt;p&gt;\s*&lt;br \/&gt;\s*&lt;\/p&gt;/g, <span class="literal">'&lt;p&gt;&amp;nbsp;&lt;/p&gt;'</span>);
+	h = h.replace(/&lt;p&gt;\s*(&amp;nbsp;|&amp;#160;)\s*&lt;br \/&gt;\s*(&amp;nbsp;|&amp;#160;)\s*&lt;\/p&gt;/g, <span class="literal">'&lt;p&gt;&amp;nbsp;&lt;/p&gt;'</span>);
+	h = h.replace(/&lt;p&gt;\s*(&amp;nbsp;|&amp;#160;)\s*&lt;br \/&gt;\s*&lt;\/p&gt;/g, <span class="literal">'&lt;p&gt;&amp;nbsp;&lt;/p&gt;'</span>);
+	h = h.replace(/&lt;p&gt;\s*&lt;br \/&gt;\s*&amp;nbsp;\s*&lt;\/p&gt;/g, <span class="literal">'&lt;p&gt;&amp;nbsp;&lt;/p&gt;'</span>);
+	h = h.replace(new RegExp(<span class="literal">'&lt;a&gt;(.*?)&lt;\\/a&gt;'</span>, <span class="literal">'g'</span>), <span class="literal">'$1'</span>);
+	h = h.replace(/&lt;p([^&gt;]*)&gt;\s*&lt;\/p&gt;/g, <span class="literal">'&lt;p$1&gt;&amp;nbsp;&lt;/p&gt;'</span>);
+
+	<span class="comment">// Clean body</span>
+	<span class="reserved">if</span> (/^\s*(&lt;br \/&gt;|&lt;p&gt;&amp;nbsp;&lt;\/p&gt;|&lt;p&gt;&amp;#160;&lt;\/p&gt;|&lt;p&gt;&lt;\/p&gt;)\s*$/.test(h))
+		h = <span class="literal">''</span>;
+
+	<span class="comment">// If preformatted</span>
+	<span class="reserved">if</span> (s.preformatted) {
+		h = h.replace(/^&lt;pre&gt;/, <span class="literal">''</span>);
+		h = h.replace(/&lt;\/pre&gt;$/, <span class="literal">''</span>);
+		h = <span class="literal">'&lt;pre&gt;'</span> + h + <span class="literal">'&lt;/pre&gt;'</span>;
+	}
+
+	<span class="comment">// Gecko specific processing</span>
+	<span class="reserved">if</span> (tinyMCE.isGecko) {
+		h = h.replace(/&lt;o:p _moz-userdefined=<span class="literal">""</span> \/&gt;/g, <span class="literal">''</span>);
+		h = h.replace(/&lt;td([^&gt;]*)&gt;\s*&lt;br \/&gt;\s*&lt;\/td&gt;/g, <span class="literal">'&lt;td$1&gt;&amp;nbsp;&lt;/td&gt;'</span>);
+	}
+
+	<span class="reserved">if</span> (s.force_br_newlines)
+		h = h.replace(/&lt;p&gt;(&amp;nbsp;|&amp;#160;)&lt;\/p&gt;/g, <span class="literal">'&lt;br /&gt;'</span>);
+
+	<span class="comment">// Call custom cleanup code</span>
+	h = tinyMCE._customCleanup(inst, on_save ? <span class="literal">"get_from_editor"</span> : <span class="literal">"insert_to_editor"</span>, h);
+
+	<span class="comment">// Remove internal classes</span>
+	<span class="reserved">if</span> (on_save) {
+		h = h.replace(new RegExp(<span class="literal">' ?(mceItem[a-zA-Z0-9]*|'</span> + s.visual_table_class + <span class="literal">')'</span>, <span class="literal">'g'</span>), <span class="literal">''</span>);
+		h = h.replace(new RegExp(<span class="literal">' ?class=""'</span>, <span class="literal">'g'</span>), <span class="literal">''</span>);
+	}
+
+	<span class="reserved">if</span> (s.remove_linebreaks &amp;&amp; !c.settings.indent)
+		h = h.replace(/\n|\r/g, <span class="literal">' '</span>);
+
+	<span class="reserved">if</span> (d)
+		t4 = new Date().getTime();
+
+	<span class="reserved">if</span> (on_save &amp;&amp; c.settings.indent)
+		h = c.formatHTML(h);
+
+	<span class="comment">// If encoding (not recommended option)</span>
+	<span class="reserved">if</span> (on_submit &amp;&amp; (s.encoding == <span class="literal">"xml"</span> || s.encoding == <span class="literal">"html"</span>))
+		h = c.xmlEncode(h);
+
+	<span class="reserved">if</span> (d)
+		t5 = new Date().getTime();
+
+	<span class="reserved">if</span> (c.settings.debug)
+		tinyMCE.debug(<span class="literal">"Cleanup in ms: Pre="</span> + (t2-t1) + <span class="literal">", Serialize: "</span> + (t3-t2) + <span class="literal">", Post: "</span> + (t4-t3) + <span class="literal">", Format: "</span> + (t5-t4) + <span class="literal">", Sum: "</span> + (t5-t1) + <span class="literal">"."</span>);
+
+	<span class="reserved">return</span> h;
+};
+
+<span class="comment">/**
+ * TinyMCE_Cleanup class.
+ */</span>
+<span class="reserved">function</span> TinyMCE_Cleanup() {
+	<span class="reserved">this</span>.isMSIE = (navigator.appName == <span class="literal">"Microsoft Internet Explorer"</span>);
+	<span class="reserved">this</span>.rules = tinyMCE.clearArray(new Array());
+
+	<span class="comment">// Default config</span>
+	<span class="reserved">this</span>.settings = {
+		indent_elements : <span class="literal">'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object'</span>,
+		newline_before_elements : <span class="literal">'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td'</span>,
+		newline_after_elements : <span class="literal">'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script'</span>,
+		newline_before_after_elements : <span class="literal">'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div'</span>,
+		indent_char : <span class="literal">'\t'</span>,
+		indent_levels : 1,
+		entity_encoding : <span class="literal">'raw'</span>,
+		valid_elements : <span class="literal">'*[*]'</span>,
+		entities : <span class="literal">''</span>,
+		url_converter : <span class="literal">''</span>,
+		invalid_elements : <span class="literal">''</span>,
+		verify_html : false
+	};
+
+	<span class="reserved">this</span>.vElements = tinyMCE.clearArray(new Array());
+	<span class="reserved">this</span>.vElementsRe = <span class="literal">''</span>;
+	<span class="reserved">this</span>.closeElementsRe = /^(IMG|BR|HR|LINK|META|BASE|INPUT|BUTTON|AREA)$/;
+	<span class="reserved">this</span>.codeElementsRe = /^(SCRIPT|STYLE)$/;
+	<span class="reserved">this</span>.serializationId = 0;
+	<span class="reserved">this</span>.mceAttribs = {
+		href : <span class="literal">'mce_href'</span>,
+		src : <span class="literal">'mce_src'</span>,
+		type : <span class="literal">'mce_type'</span>
+	};
+}
+
+TinyMCE_Cleanup.<span class="reserved">prototype</span> = {
+	<span class="comment">/**
+	 * Initializes the cleanup engine with the specified config.
+	 *
+	 * <span class="attrib">@param</span> {Array} s Name/Value array with config settings.
+	 */</span>
+	init : <span class="reserved">function</span>(s) {
+		var n, a, i, ir, or, st;
+
+		<span class="reserved">for</span> (n in s)
+			<span class="reserved">this</span>.settings[n] = s[n];
+
+		<span class="comment">// Setup code formating</span>
+		s = <span class="reserved">this</span>.settings;
+
+		<span class="comment">// Setup regexps</span>
+		<span class="reserved">this</span>.inRe = <span class="reserved">this</span>._arrayToRe(s.indent_elements.split(<span class="literal">','</span>), <span class="literal">''</span>, <span class="literal">'^&lt;('</span>, <span class="literal">')[^&gt;]*'</span>);
+		<span class="reserved">this</span>.ouRe = <span class="reserved">this</span>._arrayToRe(s.indent_elements.split(<span class="literal">','</span>), <span class="literal">''</span>, <span class="literal">'^&lt;\\/('</span>, <span class="literal">')[^&gt;]*'</span>);
+		<span class="reserved">this</span>.nlBeforeRe = <span class="reserved">this</span>._arrayToRe(s.newline_before_elements.split(<span class="literal">','</span>), <span class="literal">'gi'</span>, <span class="literal">'&lt;('</span>,  <span class="literal">')([^&gt;]*)&gt;'</span>);
+		<span class="reserved">this</span>.nlAfterRe = <span class="reserved">this</span>._arrayToRe(s.newline_after_elements.split(<span class="literal">','</span>), <span class="literal">'gi'</span>, <span class="literal">'&lt;('</span>,  <span class="literal">')([^&gt;]*)&gt;'</span>);
+		<span class="reserved">this</span>.nlBeforeAfterRe = <span class="reserved">this</span>._arrayToRe(s.newline_before_after_elements.split(<span class="literal">','</span>), <span class="literal">'gi'</span>, <span class="literal">'&lt;(\\/?)('</span>, <span class="literal">')([^&gt;]*)&gt;'</span>);
+
+		<span class="reserved">if</span> (s.invalid_elements != <span class="literal">''</span>)
+			<span class="reserved">this</span>.iveRe = <span class="reserved">this</span>._arrayToRe(s.invalid_elements.toUpperCase().split(<span class="literal">','</span>), <span class="literal">'g'</span>, <span class="literal">'^('</span>, <span class="literal">')$'</span>);
+		<span class="reserved">else</span>
+			<span class="reserved">this</span>.iveRe = null;
+
+		<span class="comment">// Setup separator</span>
+		st = <span class="literal">''</span>;
+		<span class="reserved">for</span> (i=0; i&lt;s.indent_levels; i++)
+			st += s.indent_char;
+
+		<span class="reserved">this</span>.inStr = st;
+
+		<span class="comment">// If verify_html if false force *[*]</span>
+		<span class="reserved">if</span> (!s.verify_html) {
+			s.valid_elements = <span class="literal">'*[*]'</span>;
+			s.extended_valid_elements = <span class="literal">''</span>;
+		}
+
+		<span class="reserved">this</span>.fillStr = s.entity_encoding == <span class="literal">"named"</span> ? <span class="literal">"&amp;nbsp;"</span> : <span class="literal">"&amp;#160;"</span>;
+		<span class="reserved">this</span>.idCount = 0;
+	},
+
+	<span class="comment">/**
+	 * Adds a cleanup rule string, for example: a[href|name|title=title|class=class1?class2?class3].
+	 * These rules are then used when serializing the DOM tree as a HTML string, it gives the possibility
+	 * to control the valid elements and attributes and force attribute values or default them.
+	 *
+	 * <span class="attrib">@param</span> {string} s Rule string to parse and add to the cleanup rules array.
+	 */</span>
+	addRuleStr : <span class="reserved">function</span>(s) {
+		var r = <span class="reserved">this</span>.parseRuleStr(s);
+		var n;
+
+		<span class="reserved">for</span> (n in r) {
+			<span class="reserved">if</span> (r[n])
+				<span class="reserved">this</span>.rules[n] = r[n];
+		}
+
+		<span class="reserved">this</span>.vElements = tinyMCE.clearArray(new Array());
+
+		<span class="reserved">for</span> (n in <span class="reserved">this</span>.rules) {
+			<span class="reserved">if</span> (<span class="reserved">this</span>.rules[n])
+				<span class="reserved">this</span>.vElements[<span class="reserved">this</span>.vElements.length] = <span class="reserved">this</span>.rules[n].tag;
+		}
+
+		<span class="reserved">this</span>.vElementsRe = <span class="reserved">this</span>._arrayToRe(<span class="reserved">this</span>.vElements, <span class="literal">''</span>);
+	},
+
+	<span class="comment">/**
+	 * Parses a cleanup rule string, for example: a[href|name|title=title|class=class1?class2?class3].
+	 * These rules are then used when serializing the DOM tree as a HTML string, it gives the possibility
+	 * to control the valid elements and attributes and force attribute values or default them.
+	 *
+	 * <span class="attrib">@param</span> {string} s Rule string to parse as a name/value rule array.
+	 * <span class="attrib">@return</span> Parsed name/value rule array.
+	 * <span class="attrib">@type</span> Array
+	 */</span>
+	parseRuleStr : <span class="reserved">function</span>(s) {
+		var ta, p, r, a, i, x, px, t, tn, y, av, or = tinyMCE.clearArray(new Array()), dv;
+
+		<span class="reserved">if</span> (s == null || s.length == 0)
+			<span class="reserved">return</span> or;
+
+		ta = s.split(<span class="literal">','</span>);
+		<span class="reserved">for</span> (x=0; x&lt;ta.length; x++) {
+			s = ta[x];
+			<span class="reserved">if</span> (s.length == 0)
+				continue;
+
+			<span class="comment">// Split tag/attrs</span>
+			p = <span class="reserved">this</span>.split(/\[|\]/, s);
+			<span class="reserved">if</span> (p == null || p.length &lt; 1)
+				t = s.toUpperCase();
+			<span class="reserved">else</span>
+				t = p[0].toUpperCase();
+
+			<span class="comment">// Handle all tag names</span>
+			tn = <span class="reserved">this</span>.split(<span class="literal">'/'</span>, t);
+			<span class="reserved">for</span> (y=0; y&lt;tn.length; y++) {
+				r = {};
+
+				r.tag = tn[y];
+				r.forceAttribs = null;
+				r.defaultAttribs = null;
+				r.validAttribValues = null;
+
+				<span class="comment">// Handle prefixes</span>
+				px = r.tag.charAt(0);
+				r.forceOpen = px == <span class="literal">'+'</span>;
+				r.removeEmpty = px == <span class="literal">'-'</span>;
+				r.fill = px == <span class="literal">'#'</span>;
+				r.tag = r.tag.replace(/\+|-|#/g, <span class="literal">''</span>);
+				r.oTagName = tn[0].replace(/\+|-|#/g, <span class="literal">''</span>).toLowerCase();
+				r.isWild = new RegExp(<span class="literal">'\\*|\\?|\\+'</span>, <span class="literal">'g'</span>).test(r.tag);
+				r.validRe = new RegExp(<span class="reserved">this</span>._wildcardToRe(<span class="literal">'^'</span> + r.tag + <span class="literal">'$'</span>));
+
+				<span class="comment">// Setup valid attributes</span>
+				<span class="reserved">if</span> (p.length &gt; 1) {
+					r.vAttribsRe = <span class="literal">'^('</span>;
+					a = <span class="reserved">this</span>.split(/\|/, p[1]);
+
+					<span class="reserved">for</span> (i=0; i&lt;a.length; i++) {
+						t = a[i];
+
+						av = new RegExp(<span class="literal">'(=|:|&lt;)(.*?)$'</span>).exec(t);
+						t = t.replace(new RegExp(<span class="literal">'(=|:|&lt;).*?$'</span>), <span class="literal">''</span>);
+						<span class="reserved">if</span> (av &amp;&amp; av.length &gt; 0) {
+							<span class="reserved">if</span> (av[0].charAt(0) == <span class="literal">':'</span>) {
+								<span class="reserved">if</span> (!r.forceAttribs)
+									r.forceAttribs = tinyMCE.clearArray(new Array());
+
+								r.forceAttribs[t.toLowerCase()] = av[0].substring(1);
+							} <span class="reserved">else</span> <span class="reserved">if</span> (av[0].charAt(0) == <span class="literal">'='</span>) {
+								<span class="reserved">if</span> (!r.defaultAttribs)
+									r.defaultAttribs = tinyMCE.clearArray(new Array());
+
+								dv = av[0].substring(1);
+
+								r.defaultAttribs[t.toLowerCase()] = dv == <span class="literal">""</span> ? <span class="literal">"mce_empty"</span> : dv;
+							} <span class="reserved">else</span> <span class="reserved">if</span> (av[0].charAt(0) == <span class="literal">'&lt;'</span>) {
+								<span class="reserved">if</span> (!r.validAttribValues)
+									r.validAttribValues = tinyMCE.clearArray(new Array());
+
+								r.validAttribValues[t.toLowerCase()] = <span class="reserved">this</span>._arrayToRe(<span class="reserved">this</span>.split(<span class="literal">'?'</span>, av[0].substring(1)), <span class="literal">''</span>);
+							}
+						}
+
+						r.vAttribsRe += <span class="literal">''</span> + t.toLowerCase() + (i != a.length - 1 ? <span class="literal">'|'</span> : <span class="literal">''</span>);
+
+						a[i] = t.toLowerCase();
+					}
+
+					r.vAttribsRe += <span class="literal">')$'</span>;
+					r.vAttribsRe = <span class="reserved">this</span>._wildcardToRe(r.vAttribsRe);
+					r.vAttribsReIsWild = new RegExp(<span class="literal">'\\*|\\?|\\+'</span>, <span class="literal">'g'</span>).test(r.vAttribsRe);
+					r.vAttribsRe = new RegExp(r.vAttribsRe);
+					r.vAttribs = a.reverse();
+
+					<span class="comment">//tinyMCE.debug(r.tag, r.oTagName, r.vAttribsRe, r.vAttribsReWC);</span>
+				} <span class="reserved">else</span> {
+					r.vAttribsRe = <span class="literal">''</span>;
+					r.vAttribs = tinyMCE.clearArray(new Array());
+					r.vAttribsReIsWild = false;
+				}
+
+				or[r.tag] = r;
+			}
+		}
+
+		<span class="reserved">return</span> or;
+	},
+
+	<span class="comment">/**
+	 * Serializes the specified node as a HTML string. This uses the XML parser and serializer
+	 * to generate a XHTML string.
+	 *
+	 * <span class="attrib">@param</span> {HTMLNode} n Node to serialize as a XHTML string.
+	 * <span class="attrib">@return</span> Serialized XHTML string based on specified node.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	serializeNodeAsXML : <span class="reserved">function</span>(n) {
+		var s, b;
+
+		<span class="reserved">if</span> (!<span class="reserved">this</span>.xmlDoc) {
+			<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE) {
+				try {<span class="reserved">this</span>.xmlDoc = new ActiveXObject(<span class="literal">'MSXML2.DOMDocument'</span>);} catch (e) {}
+
+				<span class="reserved">if</span> (!<span class="reserved">this</span>.xmlDoc)
+					try {<span class="reserved">this</span>.xmlDoc = new ActiveXObject(<span class="literal">'Microsoft.XmlDom'</span>);} catch (e) {}
+			} <span class="reserved">else</span>
+				<span class="reserved">this</span>.xmlDoc = document.implementation.createDocument(<span class="literal">''</span>, <span class="literal">''</span>, null);
+
+			<span class="reserved">if</span> (!<span class="reserved">this</span>.xmlDoc)
+				alert(<span class="literal">"Error XML Parser could not be found."</span>);
+		}
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.xmlDoc.firstChild)
+			<span class="reserved">this</span>.xmlDoc.removeChild(<span class="reserved">this</span>.xmlDoc.firstChild);
+
+		b = <span class="reserved">this</span>.xmlDoc.createElement(<span class="literal">"html"</span>);
+		b = <span class="reserved">this</span>.xmlDoc.appendChild(b);
+
+		<span class="reserved">this</span>._convertToXML(n, b);
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE)
+			<span class="reserved">return</span> <span class="reserved">this</span>.xmlDoc.xml;
+		<span class="reserved">else</span>
+			<span class="reserved">return</span> new XMLSerializer().serializeToString(<span class="reserved">this</span>.xmlDoc);
+	},
+
+	<span class="comment">/**
+	 * Converts and adds the specified HTML DOM node to a XML DOM node.
+	 *
+	 * <span class="attrib">@param</span> {HTMLNode} n HTML Node to add as a XML node.
+	 * <span class="attrib">@param</span> {XMLNode} xn XML Node to add the HTML node to.
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_convertToXML : <span class="reserved">function</span>(n, xn) {
+		var xd, el, i, l, cn, at, no, hc = false;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>._isDuplicate(n))
+			<span class="reserved">return</span>;
+
+		xd = <span class="reserved">this</span>.xmlDoc;
+
+		switch (n.nodeType) {
+			case 1: <span class="comment">// Element</span>
+				hc = n.hasChildNodes();
+
+				el = xd.createElement(n.nodeName.toLowerCase());
+
+				at = n.attributes;
+				<span class="reserved">for</span> (i=at.length-1; i&gt;-1; i--) {
+					no = at[i];
+
+					<span class="reserved">if</span> (no.specified &amp;&amp; no.nodeValue)
+						el.setAttribute(no.nodeName.toLowerCase(), no.nodeValue);
+				}
+
+				<span class="reserved">if</span> (!hc &amp;&amp; !<span class="reserved">this</span>.closeElementsRe.test(n.nodeName))
+					el.appendChild(xd.createTextNode(<span class="literal">""</span>));
+
+				xn = xn.appendChild(el);
+				break;
+
+			case 3: <span class="comment">// Text</span>
+				xn.appendChild(xd.createTextNode(n.nodeValue));
+				<span class="reserved">return</span>;
+
+			case 8: <span class="comment">// Comment</span>
+				xn.appendChild(xd.createComment(n.nodeValue));
+				<span class="reserved">return</span>;
+		}
+
+		<span class="reserved">if</span> (hc) {
+			cn = n.childNodes;
+
+			<span class="reserved">for</span> (i=0, l=cn.length; i&lt;l; i++)
+				<span class="reserved">this</span>._convertToXML(cn[i], xn);
+		}
+	},
+
+	<span class="comment">/**
+	 * Serializes the specified node as a XHTML string. This uses the TinyMCE serializer logic since it gives more
+	 * control over the output than the build in browser XML serializer.
+	 *
+	 * <span class="attrib">@param</span> {HTMLNode} n Node to serialize as a XHTML string.
+	 * <span class="attrib">@return</span> Serialized XHTML string based on specified node.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	serializeNodeAsHTML : <span class="reserved">function</span>(n) {
+		var en, no, h = <span class="literal">''</span>, i, l, r, cn, va = false, f = false, at, hc;
+
+		<span class="reserved">this</span>._setupRules(); <span class="comment">// Will initialize cleanup rules</span>
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>._isDuplicate(n))
+			<span class="reserved">return</span> <span class="literal">''</span>;
+
+		switch (n.nodeType) {
+			case 1: <span class="comment">// Element</span>
+				hc = n.hasChildNodes();
+
+				<span class="comment">// MSIE sometimes produces &lt;//tag&gt;</span>
+				<span class="reserved">if</span> ((tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera) &amp;&amp; n.nodeName.indexOf(<span class="literal">'/'</span>) != -1)
+					break;
+
+				<span class="reserved">if</span> (<span class="reserved">this</span>.vElementsRe.test(n.nodeName) &amp;&amp; (!<span class="reserved">this</span>.iveRe || !<span class="reserved">this</span>.iveRe.test(n.nodeName))) {
+					va = true;
+
+					r = <span class="reserved">this</span>.rules[n.nodeName];
+					<span class="reserved">if</span> (!r) {
+						at = <span class="reserved">this</span>.rules;
+						<span class="reserved">for</span> (no in at) {
+							<span class="reserved">if</span> (at[no] &amp;&amp; at[no].validRe.test(n.nodeName)) {
+								r = at[no];
+								break;
+							}
+						}
+					}
+
+					en = r.isWild ? n.nodeName.toLowerCase() : r.oTagName;
+					f = r.fill;
+
+					<span class="reserved">if</span> (r.removeEmpty &amp;&amp; !hc)
+						<span class="reserved">return</span> <span class="literal">""</span>;
+
+					h += <span class="literal">'&lt;'</span> + en;
+
+					<span class="reserved">if</span> (r.vAttribsReIsWild) {
+						<span class="comment">// Serialize wildcard attributes</span>
+						at = n.attributes;
+						<span class="reserved">for</span> (i=at.length-1; i&gt;-1; i--) {
+							no = at[i];
+							<span class="reserved">if</span> (no.specified &amp;&amp; r.vAttribsRe.test(no.nodeName))
+								h += <span class="reserved">this</span>._serializeAttribute(n, r, no.nodeName);
+						}
+					} <span class="reserved">else</span> {
+						<span class="comment">// Serialize specific attributes</span>
+						<span class="reserved">for</span> (i=r.vAttribs.length-1; i&gt;-1; i--)
+							h += <span class="reserved">this</span>._serializeAttribute(n, r, r.vAttribs[i]);
+					}
+
+					<span class="comment">// Serialize mce_ atts</span>
+					<span class="reserved">if</span> (!<span class="reserved">this</span>.settings.on_save) {
+						at = <span class="reserved">this</span>.mceAttribs;
+
+						<span class="reserved">for</span> (no in at) {
+							<span class="reserved">if</span> (at[no])
+								h += <span class="reserved">this</span>._serializeAttribute(n, r, at[no]);
+						}
+					}
+
+					<span class="comment">// Close these</span>
+					<span class="reserved">if</span> (<span class="reserved">this</span>.closeElementsRe.test(n.nodeName))
+						<span class="reserved">return</span> h + <span class="literal">' /&gt;'</span>;
+
+					h += <span class="literal">'&gt;'</span>;
+
+					<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE &amp;&amp; <span class="reserved">this</span>.codeElementsRe.test(n.nodeName))
+						h += n.innerHTML;
+				}
+			break;
+
+			case 3: <span class="comment">// Text</span>
+				<span class="reserved">if</span> (n.parentNode &amp;&amp; <span class="reserved">this</span>.codeElementsRe.test(n.parentNode.nodeName))
+					<span class="reserved">return</span> <span class="reserved">this</span>.isMSIE ? <span class="literal">''</span> : n.nodeValue;
+
+				<span class="reserved">return</span> <span class="reserved">this</span>.xmlEncode(n.nodeValue);
+
+			case 8: <span class="comment">// Comment</span>
+				<span class="reserved">return</span> <span class="literal">"&lt;!--"</span> + <span class="reserved">this</span>._trimComment(n.nodeValue) + <span class="literal">"--&gt;"</span>;
+		}
+
+		<span class="reserved">if</span> (hc) {
+			cn = n.childNodes;
+
+			<span class="reserved">for</span> (i=0, l=cn.length; i&lt;l; i++)
+				h += <span class="reserved">this</span>.serializeNodeAsHTML(cn[i]);
+		}
+
+		<span class="comment">// Fill empty nodes</span>
+		<span class="reserved">if</span> (f &amp;&amp; !hc)
+			h += <span class="reserved">this</span>.fillStr;
+
+		<span class="comment">// End element</span>
+		<span class="reserved">if</span> (va)
+			h += <span class="literal">'&lt;/'</span> + en + <span class="literal">'&gt;'</span>;
+
+		<span class="reserved">return</span> h;
+	},
+
+	<span class="comment">/**
+	 * Serializes the specified attribute as a XHTML string chunk.
+	 *
+	 * <span class="attrib">@param</span> {HTMLNode} n HTML node to get attribute from.
+	 * <span class="attrib">@param</span> {TinyMCE_CleanupRule} r Cleanup rule to use in serialization.
+	 * <span class="attrib">@param</span> {string} an Attribute name to lookfor and serialize.
+	 * <span class="attrib">@return</span> XHTML chunk containing attribute data if it was found.
+	 * <span class="attrib">@type</span> string
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_serializeAttribute : <span class="reserved">function</span>(n, r, an) {
+		var av = <span class="literal">''</span>, t, os = <span class="reserved">this</span>.settings.on_save;
+
+		<span class="reserved">if</span> (os &amp;&amp; (an.indexOf(<span class="literal">'mce_'</span>) == 0 || an.indexOf(<span class="literal">'_moz'</span>) == 0))
+			<span class="reserved">return</span> <span class="literal">''</span>;
+
+		<span class="reserved">if</span> (os &amp;&amp; <span class="reserved">this</span>.mceAttribs[an])
+			av = <span class="reserved">this</span>._getAttrib(n, <span class="reserved">this</span>.mceAttribs[an]);
+
+		<span class="reserved">if</span> (av.length == 0)
+			av = <span class="reserved">this</span>._getAttrib(n, an);
+
+		<span class="reserved">if</span> (av.length == 0 &amp;&amp; r.defaultAttribs &amp;&amp; (t = r.defaultAttribs[an])) {
+			av = t;
+
+			<span class="reserved">if</span> (av == <span class="literal">"mce_empty"</span>)
+				<span class="reserved">return</span> <span class="literal">" "</span> + an + <span class="literal">'=""'</span>;
+		}
+
+		<span class="reserved">if</span> (r.forceAttribs &amp;&amp; (t = r.forceAttribs[an]))
+			av = t;
+
+		<span class="reserved">if</span> (os &amp;&amp; av.length != 0 &amp;&amp; <span class="reserved">this</span>.settings.url_converter.length != 0 &amp;&amp; /^(src|href|longdesc)$/.test(an))
+			av = eval(<span class="reserved">this</span>.settings.url_converter + <span class="literal">'(this, n, av)'</span>);
+
+		<span class="reserved">if</span> (av.length != 0 &amp;&amp; r.validAttribValues &amp;&amp; r.validAttribValues[an] &amp;&amp; !r.validAttribValues[an].test(av))
+			<span class="reserved">return</span> <span class="literal">""</span>;
+
+		<span class="reserved">if</span> (av.length != 0 &amp;&amp; av == <span class="literal">"{$uid}"</span>)
+			av = <span class="literal">"uid_"</span> + (<span class="reserved">this</span>.idCount++);
+
+		<span class="reserved">if</span> (av.length != 0)
+			<span class="reserved">return</span> <span class="literal">" "</span> + an + <span class="literal">"="</span> + <span class="literal">'"'</span> + <span class="reserved">this</span>.xmlEncode(av) + <span class="literal">'"'</span>;
+
+		<span class="reserved">return</span> <span class="literal">""</span>;
+	},
+
+	<span class="comment">/**
+	 * Applies source formatting/indentation on the specified HTML string.
+	 *
+	 * <span class="attrib">@param</span> {string} h HTML string to apply formatting to.
+	 * <span class="attrib">@return</span> Formatted HTML string.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	formatHTML : <span class="reserved">function</span>(h) {
+		var s = <span class="reserved">this</span>.settings, p = <span class="literal">''</span>, i = 0, li = 0, o = <span class="literal">''</span>, l;
+
+		h = h.replace(/\r/g, <span class="literal">''</span>); <span class="comment">// Windows sux, isn't carriage return a thing of the past :)</span>
+		h = <span class="literal">'\n'</span> + h;
+		h = h.replace(new RegExp(<span class="literal">'\\n\\s+'</span>, <span class="literal">'gi'</span>), <span class="literal">'\n'</span>); <span class="comment">// Remove previous formatting</span>
+		h = h.replace(<span class="reserved">this</span>.nlBeforeRe, <span class="literal">'\n&lt;$1$2&gt;'</span>);
+		h = h.replace(<span class="reserved">this</span>.nlAfterRe, <span class="literal">'&lt;$1$2&gt;\n'</span>);
+		h = h.replace(<span class="reserved">this</span>.nlBeforeAfterRe, <span class="literal">'\n&lt;$1$2$3&gt;\n'</span>);
+		h += <span class="literal">'\n'</span>;
+
+		<span class="comment">//tinyMCE.debug(h);</span>
+
+		<span class="reserved">while</span> ((i = h.indexOf(<span class="literal">'\n'</span>, i + 1)) != -1) {
+			<span class="reserved">if</span> ((l = h.substring(li + 1, i)).length != 0) {
+				<span class="reserved">if</span> (<span class="reserved">this</span>.ouRe.test(l) &amp;&amp; p.length &gt;= s.indent_levels)
+					p = p.substring(s.indent_levels);
+
+				o += p + l + <span class="literal">'\n'</span>;
+	
+				<span class="reserved">if</span> (<span class="reserved">this</span>.inRe.test(l))
+					p += <span class="reserved">this</span>.inStr;
+			}
+
+			li = i;
+		}
+
+		<span class="comment">//tinyMCE.debug(h);</span>
+
+		<span class="reserved">return</span> o;
+	},
+
+	<span class="comment">/**
+	 * XML Encodes the specified string based on configured entity encoding. The entity encoding modes
+	 * are raw, numeric and named. Where raw is the fastest and named is default.
+	 *
+	 * <span class="attrib">@param</span> {string} s String to convert to XML.
+	 * <span class="attrib">@return</span> Encoded XML string based on configured entity encoding.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	xmlEncode : <span class="reserved">function</span>(s) {
+		var i, l, e, o = <span class="literal">''</span>, c;
+
+		<span class="reserved">this</span>._setupEntities(); <span class="comment">// Will intialize lookup table</span>
+
+		switch (<span class="reserved">this</span>.settings.entity_encoding) {
+			case <span class="literal">"raw"</span>:
+				<span class="reserved">return</span> tinyMCE.xmlEncode(s);
+
+			case <span class="literal">"named"</span>:
+				<span class="reserved">for</span> (i=0, l=s.length; i&lt;l; i++) {
+					c = s.charCodeAt(i);
+					e = <span class="reserved">this</span>.entities[c];
+
+					<span class="reserved">if</span> (e &amp;&amp; e != <span class="literal">''</span>)
+						o += <span class="literal">'&amp;'</span> + e + <span class="literal">';'</span>;
+					<span class="reserved">else</span>
+						o += String.fromCharCode(c);
+				}
+
+				<span class="reserved">return</span> o;
+
+			case <span class="literal">"numeric"</span>:
+				<span class="reserved">for</span> (i=0, l=s.length; i&lt;l; i++) {
+					c = s.charCodeAt(i);
+
+					<span class="reserved">if</span> (c &gt; 127 || c == 60 || c == 62 || c == 38 || c == 39 || c == 34)
+						o += <span class="literal">'&amp;#'</span> + c + <span class="literal">";"</span>;
+					<span class="reserved">else</span>
+						o += String.fromCharCode(c);
+				}
+
+				<span class="reserved">return</span> o;
+		}
+
+		<span class="reserved">return</span> s;
+	},
+
+	<span class="comment">/**
+	 * Splits the specified string and removed empty chunks.
+	 *
+	 * <span class="attrib">@param</span> {RegEx} re RegEx to split string by.
+	 * <span class="attrib">@param</span> {string} s String value to split.
+	 * <span class="attrib">@return</span> Array with parts from specified string.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	split : <span class="reserved">function</span>(re, s) {
+		var c = s.split(re);
+		var i, l, o = new Array();
+
+		<span class="reserved">for</span> (i=0, l=c.length; i&lt;l; i++) {
+			<span class="reserved">if</span> (c[i] != <span class="literal">''</span>)
+				o[i] = c[i];
+		}
+
+		<span class="reserved">return</span> o;
+	},
+
+	<span class="comment">/**
+	 * Removes contents that got added by TinyMCE to comments.
+	 *
+	 * <span class="attrib">@param</span> {string} s Comment string data to trim.
+	 * <span class="attrib">@return</span> Cleaned string from TinyMCE specific content.
+	 * <span class="attrib">@type</span> string
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_trimComment : <span class="reserved">function</span>(s) {
+		<span class="comment">// Remove mce_src, mce_href</span>
+		s = s.replace(new RegExp(<span class="literal">'\\smce_src=\"[^\"]*\"'</span>, <span class="literal">'gi'</span>), <span class="literal">""</span>);
+		s = s.replace(new RegExp(<span class="literal">'\\smce_href=\"[^\"]*\"'</span>, <span class="literal">'gi'</span>), <span class="literal">""</span>);
+
+		<span class="reserved">return</span> s;
+	},
+
+	<span class="comment">/**
+	 * Returns the value of the specified attribute name or default value if it wasn't found.
+	 *
+	 * <span class="attrib">@param</span> {HTMLElement} e HTML element to get attribute from.
+	 * <span class="attrib">@param</span> {string} n Attribute name to get from element.
+	 * <span class="attrib">@param</span> {string} d Default value to return if attribute wasn't found.
+	 * <span class="attrib">@return</span> Attribute value based on specified attribute name.
+	 * <span class="attrib">@type</span> string
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_getAttrib : <span class="reserved">function</span>(e, n, d) {
+		<span class="reserved">if</span> (typeof(d) == <span class="literal">"undefined"</span>)
+			d = <span class="literal">""</span>;
+
+		<span class="reserved">if</span> (!e || e.nodeType != 1)
+			<span class="reserved">return</span> d;
+
+		var v = e.getAttribute(n, 0);
+
+		<span class="reserved">if</span> (n == <span class="literal">"class"</span> &amp;&amp; !v)
+			v = e.className;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE &amp;&amp; n == <span class="literal">"http-equiv"</span>)
+			v = e.httpEquiv;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE &amp;&amp; e.nodeName == <span class="literal">"FORM"</span> &amp;&amp; n == <span class="literal">"enctype"</span> &amp;&amp; v == <span class="literal">"application/x-www-form-urlencoded"</span>)
+			v = <span class="literal">""</span>;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE &amp;&amp; e.nodeName == <span class="literal">"INPUT"</span> &amp;&amp; n == <span class="literal">"size"</span> &amp;&amp; v == <span class="literal">"20"</span>)
+			v = <span class="literal">""</span>;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE &amp;&amp; e.nodeName == <span class="literal">"INPUT"</span> &amp;&amp; n == <span class="literal">"maxlength"</span> &amp;&amp; v == <span class="literal">"2147483647"</span>)
+			v = <span class="literal">""</span>;
+
+		<span class="reserved">if</span> (n == <span class="literal">"style"</span> &amp;&amp; !tinyMCE.isOpera)
+			v = e.style.cssText;
+
+		<span class="reserved">if</span> (n == <span class="literal">'style'</span>)
+			v = tinyMCE.serializeStyle(tinyMCE.parseStyle(v));
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.settings.on_save &amp;&amp; n.indexOf(<span class="literal">'on'</span>) != -1 &amp;&amp; <span class="reserved">this</span>.settings.on_save &amp;&amp; v &amp;&amp; v != <span class="literal">""</span>)
+			v = tinyMCE.cleanupEventStr(v);
+
+		<span class="reserved">return</span> (v &amp;&amp; v != <span class="literal">""</span>) ? <span class="literal">''</span> + v : d;
+	},
+
+	<span class="comment">/**
+	 * Internal URL converter callback function. This simply converts URLs based
+	 * on some settings.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_Cleanup} c Cleanup instance.
+	 * <span class="attrib">@param</span> {HTMLNode} n HTML node that holds the URL.
+	 * <span class="attrib">@param</span> {string} v URL value to convert.
+	 * <span class="attrib">@return</span> Converted URL value.
+	 * <span class="attrib">@type</span> string
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_urlConverter : <span class="reserved">function</span>(c, n, v) {
+		<span class="reserved">if</span> (!c.settings.on_save)
+			<span class="reserved">return</span> tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, v);
+		<span class="reserved">else</span> <span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">'convert_urls'</span>))
+			<span class="reserved">return</span> eval(tinyMCE.settings.urlconverter_callback + <span class="literal">"(v, n, true);"</span>);
+
+		<span class="reserved">return</span> v;
+	},
+
+	<span class="comment">/**
+	 * Converts a array into a regex.
+	 *
+	 * <span class="attrib">@param</span> {Array} a Array to convert into a regex.
+	 * <span class="attrib">@param</span> {string} op RegEx options like, gi.
+	 * <span class="attrib">@param</span> {string} be Before chunk, beginning of expression.
+	 * <span class="attrib">@param</span> {string} af After chunk, end of expression.
+	 * <span class="attrib">@return</span> RegEx instance based in input information.
+	 * <span class="attrib">@type</span> string
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_arrayToRe : <span class="reserved">function</span>(a, op, be, af) {
+		var i, r;
+
+		op = typeof(op) == <span class="literal">"undefined"</span> ? <span class="literal">"gi"</span> : op;
+		be = typeof(be) == <span class="literal">"undefined"</span> ? <span class="literal">"^("</span> : be;
+		af = typeof(af) == <span class="literal">"undefined"</span> ? <span class="literal">")$"</span> : af;
+
+		r = be;
+
+		<span class="reserved">for</span> (i=0; i&lt;a.length; i++)
+			r += <span class="reserved">this</span>._wildcardToRe(a[i]) + (i != a.length-1 ? <span class="literal">"|"</span> : <span class="literal">""</span>);
+
+		r += af;
+
+		<span class="reserved">return</span> new RegExp(r, op);
+	},
+
+	<span class="comment">/**
+	 * Converts a wildcard string into a regex.
+	 *
+	 * <span class="attrib">@param</span> {string} s Wildcard string to convert into RegEx.
+	 * <span class="attrib">@return</span> RegEx string based on input.
+	 * <span class="attrib">@type</span> string
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_wildcardToRe : <span class="reserved">function</span>(s) {
+		s = s.replace(/\?/g, <span class="literal">'(\\S?)'</span>);
+		s = s.replace(/\+/g, <span class="literal">'(\\S+)'</span>);
+		s = s.replace(/\*/g, <span class="literal">'(\\S*)'</span>);
+
+		<span class="reserved">return</span> s;
+	},
+
+	<span class="comment">/**
+	 * Sets up the entity name lookup table ones. This moves the entity lookup pasing time
+	 * from init to first xmlEncode call.
+	 *
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_setupEntities : <span class="reserved">function</span>() {
+		var n, a, i, s = <span class="reserved">this</span>.settings;
+
+		<span class="comment">// Setup entities</span>
+		<span class="reserved">if</span> (!<span class="reserved">this</span>.entitiesDone) {
+			<span class="reserved">if</span> (s.entity_encoding == <span class="literal">"named"</span>) {
+				n = tinyMCE.clearArray(new Array());
+				a = <span class="reserved">this</span>.split(<span class="literal">','</span>, s.entities);
+				<span class="reserved">for</span> (i=0; i&lt;a.length; i+=2)
+					n[a[i]] = a[i+1];
+
+				<span class="reserved">this</span>.entities = n;
+			}
+
+			<span class="reserved">this</span>.entitiesDone = true;
+		}
+	},
+
+	<span class="comment">/**
+	 * Sets up the cleanup rules ones. This moves the cleanup rule pasing time
+	 * from init to first cleanup call.
+	 *
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_setupRules : <span class="reserved">function</span>() {
+		var s = <span class="reserved">this</span>.settings;
+
+		<span class="comment">// Setup default rule</span>
+		<span class="reserved">if</span> (!<span class="reserved">this</span>.rulesDone) {
+			<span class="reserved">this</span>.addRuleStr(s.valid_elements);
+			<span class="reserved">this</span>.addRuleStr(s.extended_valid_elements);
+
+			<span class="reserved">this</span>.rulesDone = true;
+		}
+	},
+
+	<span class="comment">/**
+	 * Checks if the specified node is a duplicate in other words has it been processed/serialized before.
+	 *
+	 * <span class="attrib">@param</span> {DOMNode} n DOM Node that is to be checked.
+	 * <span class="attrib">@return</span> true/false if the node is a duplicate or not.
+	 * <span class="attrib">@type</span> boolean
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_isDuplicate : <span class="reserved">function</span>(n) {
+		var i;
+
+		<span class="reserved">if</span> (!<span class="reserved">this</span>.settings.fix_content_duplication)
+			<span class="reserved">return</span> false;
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera &amp;&amp; n.nodeType == 1) {
+			<span class="comment">// Mark elements</span>
+			<span class="reserved">if</span> (n.mce_serialized == <span class="reserved">this</span>.serializationId)
+				<span class="reserved">return</span> true;
+
+			n.setAttribute(<span class="literal">'mce_serialized'</span>, <span class="reserved">this</span>.serializationId);
+		} <span class="reserved">else</span> {
+			<span class="comment">// Search lookup table for text nodes  and comments</span>
+			<span class="reserved">for</span> (i=0; i&lt;<span class="reserved">this</span>.serializedNodes.length; i++) {
+				<span class="reserved">if</span> (<span class="reserved">this</span>.serializedNodes[i] == n)
+					<span class="reserved">return</span> true;
+			}
+
+			<span class="reserved">this</span>.serializedNodes[<span class="reserved">this</span>.serializedNodes.length] = n;
+		}
+
+		<span class="reserved">return</span> false;
+	}
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Control.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Control.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Control.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Control.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,1710 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Control.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Control.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Control.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TinyMCE_Control.html">TinyMCE_Control</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Control.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:28 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */</span>
+
+<span class="comment">/**
+ * This is the TinyMCE editor control instance class. A instance of this class will is made for each
+ * converted text area.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@param</span> {Array} settings Name/Value array of instance specific configuration settings.
+ */</span>
+<span class="reserved">function</span> TinyMCE_Control(settings) {
+	var t, i, to, fu, p, x, fn, fu, pn, s = settings;
+
+	<span class="reserved">this</span>.undoRedoLevel = true;
+	<span class="reserved">this</span>.isTinyMCE_Control = true;
+
+	<span class="comment">// Default settings</span>
+	<span class="reserved">this</span>.settings = s;
+	<span class="reserved">this</span>.settings[<span class="literal">'theme'</span>] = tinyMCE.getParam(<span class="literal">"theme"</span>, <span class="literal">"default"</span>);
+	<span class="reserved">this</span>.settings[<span class="literal">'width'</span>] = tinyMCE.getParam(<span class="literal">"width"</span>, -1);
+	<span class="reserved">this</span>.settings[<span class="literal">'height'</span>] = tinyMCE.getParam(<span class="literal">"height"</span>, -1);
+	<span class="reserved">this</span>.selection = new TinyMCE_Selection(<span class="reserved">this</span>);
+	<span class="reserved">this</span>.undoRedo = new TinyMCE_UndoRedo(<span class="reserved">this</span>);
+	<span class="reserved">this</span>.cleanup = new TinyMCE_Cleanup();
+	<span class="reserved">this</span>.shortcuts = new Array();
+	<span class="reserved">this</span>.hasMouseMoved = false;
+
+	<span class="reserved">this</span>.cleanup.init({
+		valid_elements : s.valid_elements,
+		extended_valid_elements : s.extended_valid_elements,
+		entities : s.entities,
+		entity_encoding : s.entity_encoding,
+		debug : s.cleanup_debug,
+		url_converter : <span class="literal">'TinyMCE_Cleanup.prototype._urlConverter'</span>,
+		indent : s.apply_source_formatting,
+		invalid_elements : s.invalid_elements,
+		verify_html : s.verify_html,
+		fix_content_duplication : s.fix_content_duplication
+	});
+
+	<span class="comment">// Wrap old theme</span>
+	t = <span class="reserved">this</span>.settings[<span class="literal">'theme'</span>];
+	<span class="reserved">if</span> (!tinyMCE.hasTheme(t)) {
+		fn = tinyMCE.callbacks;
+		to = {};
+
+		<span class="reserved">for</span> (i=0; i&lt;fn.length; i++) {
+			<span class="reserved">if</span> ((fu = window[<span class="literal">'TinyMCE_'</span> + t + <span class="literal">"_"</span> + fn[i]]))
+				to[fn[i]] = fu;
+		}
+
+		tinyMCE.addTheme(t, to);
+	}
+
+	<span class="comment">// Wrap old plugins</span>
+	<span class="reserved">this</span>.plugins = new Array();
+	p = tinyMCE.getParam(<span class="literal">'plugins'</span>, <span class="literal">''</span>, true, <span class="literal">','</span>);
+	<span class="reserved">if</span> (p.length &gt; 0) {
+		<span class="reserved">for</span> (i=0; i&lt;p.length; i++) {
+			pn = p[i];
+
+			<span class="reserved">if</span> (pn.charAt(0) == <span class="literal">'-'</span>)
+				pn = pn.substring(1);
+
+			<span class="reserved">if</span> (!tinyMCE.hasPlugin(pn)) {
+				fn = tinyMCE.callbacks;
+				to = {};
+
+				<span class="reserved">for</span> (x=0; x&lt;fn.length; x++) {
+					<span class="reserved">if</span> ((fu = window[<span class="literal">'TinyMCE_'</span> + pn + <span class="literal">"_"</span> + fn[x]]))
+						to[fn[x]] = fu;
+				}
+
+				tinyMCE.addPlugin(pn, to);
+			}
+
+			<span class="reserved">this</span>.plugins[<span class="reserved">this</span>.plugins.length] = pn; 
+		}
+	}
+};
+
+TinyMCE_Control.<span class="reserved">prototype</span> = {
+	<span class="comment">/**
+	 * Returns true/false if the instance has the current plugin available.
+	 *
+	 * <span class="attrib">@param</span> {string} n Plugin name to check for.
+	 * <span class="attrib">@return</span> true/false if the instance has the current plugin available.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	hasPlugin : <span class="reserved">function</span>(n) {
+		var i;
+
+		<span class="reserved">for</span> (i=0; i&lt;<span class="reserved">this</span>.plugins.length; i++) {
+			<span class="reserved">if</span> (<span class="reserved">this</span>.plugins[i] == n)
+				<span class="reserved">return</span> true;
+		}
+
+		<span class="reserved">return</span> false;
+	},
+
+	<span class="comment">/**
+	 * Adds a plugin to the editor instance. This will also add it globaly.
+	 *
+	 * <span class="attrib">@param</span> {string} n Plugin name to check for.
+	 * <span class="attrib">@param</span> {TinyMCE_Plugin} n TinyMCE plugin instance.
+	 */</span>
+	addPlugin : <span class="reserved">function</span>(n, p) {
+		<span class="reserved">if</span> (!<span class="reserved">this</span>.hasPlugin(n)) {
+			tinyMCE.addPlugin(n, p);
+			<span class="reserved">this</span>.plugins[<span class="reserved">this</span>.plugins.length] = n;
+		}
+	},
+
+	<span class="comment">/**
+	 * Repaints the editarea in Gecko browsers. This method removes ghost resize handlers
+	 * and other trailing graphics.
+	 */</span>
+	repaint : <span class="reserved">function</span>() {
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
+			<span class="reserved">return</span>;
+
+		try {
+			var s = <span class="reserved">this</span>.selection;
+			var b = s.getBookmark(true);
+			<span class="reserved">this</span>.getBody().style.display = <span class="literal">'none'</span>;
+			<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">'selectall'</span>, false, null);
+			<span class="reserved">this</span>.getSel().collapseToStart();
+			<span class="reserved">this</span>.getBody().style.display = <span class="literal">'block'</span>;
+			s.moveToBookmark(b);
+		} catch (ex) {
+			<span class="comment">// Ignore</span>
+		}
+	},
+
+	<span class="comment">/**
+	 * Switches the global TinyMCE settings to the current instance settings. This method is
+	 * used to handle multiple configurations.
+	 */</span>
+	switchSettings : <span class="reserved">function</span>() {
+		<span class="reserved">if</span> (tinyMCE.configs.length &gt; 1 &amp;&amp; tinyMCE.currentConfig != <span class="reserved">this</span>.settings[<span class="literal">'index'</span>]) {
+			tinyMCE.settings = <span class="reserved">this</span>.settings;
+			tinyMCE.currentConfig = <span class="reserved">this</span>.settings[<span class="literal">'index'</span>];
+		}
+	},
+
+	<span class="comment">/**
+	 * Returns the body element of a editor instance.
+	 *
+	 * <span class="attrib">@return</span> Body element of a editor instance.
+	 * <span class="attrib">@type</span> HTMLElement
+	 */</span>
+	getBody : <span class="reserved">function</span>() {
+		<span class="reserved">return</span> <span class="reserved">this</span>.getDoc().body;
+	},
+
+	<span class="comment">/**
+	 * Returns the DOM document of a editor instance.
+	 *
+	 * <span class="attrib">@return</span> DOM document of a editor instance.
+	 * <span class="attrib">@type</span> DOMDocument
+	 */</span>
+	getDoc : <span class="reserved">function</span>() {
+		<span class="reserved">return</span> <span class="reserved">this</span>.contentWindow.document;
+	},
+
+	<span class="comment">/**
+	 * Returns the window of a editor instance.
+	 *
+	 * <span class="attrib">@return</span> Window of a editor instance.
+	 * <span class="attrib">@type</span> Window
+	 */</span>
+	getWin : <span class="reserved">function</span>() {
+		<span class="reserved">return</span> <span class="reserved">this</span>.contentWindow;
+	},
+
+	<span class="comment">/**
+	 * Adds a keyboard shortcut to a specific command. These shortcuts can for example be added
+	 * at the initInstance callback of a plugin. The shortcut description can be a language variable name
+	 * or a string describing the function. If you don't specify a command, the shortcut will simply be a blocker
+	 * shortcut. This enables you to remove built in shortcuts or remove theme specific shortcuts from a plugin.&lt;br /&gt;
+	 * Example shortcut inst.addShortcut('ctrl,alt', 'k', 'mceSomeCommand', false, 'somevalue');
+	 * Example blocker inst.addShortcut('ctrl,alt', 'k');
+	 *
+	 * <span class="attrib">@param</span> {string} m List of shortcut modifiers keys, for example "ctrl,alt".
+	 * <span class="attrib">@param</span> {Object} k Shortcut key char for example "s" or a keycode value "13".
+	 * <span class="attrib">@param</span> {string} d Optional Shortcut description, this will be presented in the about dialog.
+	 * <span class="attrib">@param</span> {string} cmd Optional Command name to execute, for example mceLink or Bold.
+	 * <span class="attrib">@param</span> {boolean} ui Optional True/false state if a UI (dialog) should be presented or not.
+	 * <span class="attrib">@param</span> {Object} va Optional command value, this can be anything.
+	 * <span class="attrib">@return</span> true/false if the shortcut was added or not
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	addShortcut : <span class="reserved">function</span>(m, k, d, cmd, ui, va) {
+		var n = typeof(k) == <span class="literal">"number"</span>, ie = tinyMCE.isMSIE, c, sc, i;
+		var scl = <span class="reserved">this</span>.shortcuts;
+
+		<span class="reserved">if</span> (!tinyMCE.getParam(<span class="literal">'custom_shortcuts'</span>))
+			<span class="reserved">return</span> false;
+
+		m = m.toLowerCase();
+		k = ie &amp;&amp; !n ? k.toUpperCase() : k;
+		c = n ? null : k.charCodeAt(0);
+		d = d &amp;&amp; d.indexOf(<span class="literal">'lang_'</span>) == 0 ? tinyMCE.getLang(d) : d;
+
+		sc = {
+			alt : m.indexOf(<span class="literal">'alt'</span>) != -1,
+			ctrl : m.indexOf(<span class="literal">'ctrl'</span>) != -1,
+			shift : m.indexOf(<span class="literal">'shift'</span>) != -1,
+			charCode : c,
+			keyCode : n ? k : (ie ? c : null),
+			desc : d,
+			cmd : cmd,
+			ui : ui,
+			val : va
+		};
+
+		<span class="reserved">for</span> (i=0; i&lt;scl.length; i++) {
+			<span class="reserved">if</span> (sc.alt == scl[i].alt &amp;&amp; sc.ctrl == scl[i].ctrl &amp;&amp; sc.shift == scl[i].shift
+				&amp;&amp; sc.charCode == scl[i].charCode &amp;&amp; sc.keyCode == scl[i].keyCode) {
+				<span class="reserved">return</span> false;
+			}
+		}
+
+		scl[scl.length] = sc;
+
+		<span class="reserved">return</span> true;
+	},
+
+	<span class="comment">/**
+	 * Executes shortcuts based on the event information.
+	 *
+	 * <span class="attrib">@param</span> {DOMEvent} e Keyboard event to handle.
+	 * <span class="attrib">@return</span> true/false if the shortcut was found and executed or not.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	handleShortcut : <span class="reserved">function</span>(e) {
+		var i, s = <span class="reserved">this</span>.shortcuts, o;
+
+		<span class="reserved">for</span> (i=0; i&lt;s.length; i++) {
+			o = s[i];
+			<span class="reserved">if</span> (o.alt == e.altKey &amp;&amp; o.ctrl == e.ctrlKey &amp;&amp; (o.keyCode == e.keyCode || o.charCode == e.charCode)) {
+				<span class="reserved">if</span> (o.cmd &amp;&amp; (e.type == <span class="literal">"keydown"</span> || (e.type == <span class="literal">"keypress"</span> &amp;&amp; !tinyMCE.isOpera)))
+					tinyMCE.execCommand(o.cmd, o.ui, o.val);
+
+				tinyMCE.cancelEvent(e);
+				<span class="reserved">return</span> true;
+			}
+		}
+
+		<span class="reserved">return</span> false;
+	},
+
+	<span class="comment">/**
+	 * Auto resets the design mode of the document if it gets lost.
+	 * This is a Gecko specific function since it's a workaround for a bug where Gecko browsers
+	 * loose the designMode state if the editor is hidden and shown in a tab or div.
+	 */</span>
+	autoResetDesignMode : <span class="reserved">function</span>() {
+		<span class="comment">// Add fix for tab/style.display none/block problems in Gecko</span>
+		<span class="reserved">if</span> (!tinyMCE.isMSIE &amp;&amp; <span class="reserved">this</span>.isHidden() &amp;&amp; tinyMCE.getParam(<span class="literal">'auto_reset_designmode'</span>))
+			eval(<span class="literal">'try { this.getDoc().designMode = "On"; } catch(e) {}'</span>);
+	},
+
+	<span class="comment">/**
+	 * Returns if the instance is hidden or not. This is a Gecko specific function
+	 * other browsers will always return false. This function is used to workaround the lost
+	 * designMode bug in Gecko browsers.
+	 *
+	 * <span class="attrib">@return</span> Returns if the instance is hidden or not.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	isHidden : <span class="reserved">function</span>() {
+		<span class="reserved">if</span> (tinyMCE.isMSIE)
+			<span class="reserved">return</span> false;
+
+		var s = <span class="reserved">this</span>.getSel();
+
+		<span class="comment">// Weird, wheres that cursor selection?</span>
+		<span class="reserved">return</span> (!s || !s.rangeCount || s.rangeCount == 0);
+	},
+
+	<span class="comment">/**
+	 * Returns true/false if the editor instance is dirty or not. In other words if it has been modified
+	 * or not.
+	 *
+	 * <span class="attrib">@return</span> Editor instance dirty state.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	isDirty : <span class="reserved">function</span>() {
+		<span class="comment">// Is content modified and not in a submit procedure</span>
+		<span class="reserved">return</span> <span class="reserved">this</span>.startContent != tinyMCE.trim(<span class="reserved">this</span>.getBody().innerHTML) &amp;&amp; !tinyMCE.isNotDirty;
+	},
+
+	<span class="comment">/**
+	 * ..
+	 *
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_mergeElements : <span class="reserved">function</span>(scmd, pa, ch, override) {
+		<span class="reserved">if</span> (scmd == <span class="literal">"removeformat"</span>) {
+			pa.className = <span class="literal">""</span>;
+			pa.style.cssText = <span class="literal">""</span>;
+			ch.className = <span class="literal">""</span>;
+			ch.style.cssText = <span class="literal">""</span>;
+			<span class="reserved">return</span>;
+		}
+
+		var st = tinyMCE.parseStyle(tinyMCE.getAttrib(pa, <span class="literal">"style"</span>));
+		var stc = tinyMCE.parseStyle(tinyMCE.getAttrib(ch, <span class="literal">"style"</span>));
+		var className = tinyMCE.getAttrib(pa, <span class="literal">"class"</span>);
+
+		className += <span class="literal">" "</span> + tinyMCE.getAttrib(ch, <span class="literal">"class"</span>);
+
+		<span class="reserved">if</span> (override) {
+			<span class="reserved">for</span> (var n in st) {
+				<span class="reserved">if</span> (typeof(st[n]) == <span class="literal">'function'</span>)
+					continue;
+
+				stc[n] = st[n];
+			}
+		} <span class="reserved">else</span> {
+			<span class="reserved">for</span> (var n in stc) {
+				<span class="reserved">if</span> (typeof(stc[n]) == <span class="literal">'function'</span>)
+					continue;
+
+				st[n] = stc[n];
+			}
+		}
+
+		tinyMCE.setAttrib(pa, <span class="literal">"style"</span>, tinyMCE.serializeStyle(st));
+		tinyMCE.setAttrib(pa, <span class="literal">"class"</span>, tinyMCE.trim(className));
+		ch.className = <span class="literal">""</span>;
+		ch.style.cssText = <span class="literal">""</span>;
+		ch.removeAttribute(<span class="literal">"class"</span>);
+		ch.removeAttribute(<span class="literal">"style"</span>);
+	},
+
+	<span class="comment">/**
+	 * Sets the useCSS mode in Gecko browsers. This will also remove the build in
+	 * inline table editing controls since they are buggy when it comes to col/rowspans.
+	 *
+	 * <span class="attrib">@param</span> {boolean} b UseCSS state true/false.
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_setUseCSS : <span class="reserved">function</span>(b) {
+		var d = <span class="reserved">this</span>.getDoc();
+
+		try {d.execCommand(<span class="literal">"useCSS"</span>, false, !b);} catch (ex) {}
+		try {d.execCommand(<span class="literal">"styleWithCSS"</span>, false, b);} catch (ex) {}
+
+		<span class="reserved">if</span> (!tinyMCE.getParam(<span class="literal">"table_inline_editing"</span>))
+			try {d.execCommand(<span class="literal">'enableInlineTableEditing'</span>, false, <span class="literal">"false"</span>);} catch (ex) {}
+
+		<span class="reserved">if</span> (!tinyMCE.getParam(<span class="literal">"object_resizing"</span>))
+			try {d.execCommand(<span class="literal">'enableObjectResizing'</span>, false, <span class="literal">"false"</span>);} catch (ex) {}
+	},
+
+	<span class="comment">/**
+	 * Executes a command on the current instance. These commands can be TinyMCE internal commands prefixed with "mce" or
+	 * they can be build in browser commands such as "Bold". A compleate list of browser commands is available on MSDN or Mozilla.org.
+	 * This function will dispatch the execCommand function on each plugin, theme or the execcommand_callback option if none of these
+	 * return true it will handle the command as a internal browser command.
+	 *
+	 * <span class="attrib">@param</span> {string} command Command name to execute, for example mceLink or Bold.
+	 * <span class="attrib">@param</span> {boolean} user_interface True/false state if a UI (dialog) should be presented or not.
+	 * <span class="attrib">@param</span> {mixed} value Optional command value, this can be anything.
+	 */</span>
+	execCommand : <span class="reserved">function</span>(command, user_interface, value) {
+		var doc = <span class="reserved">this</span>.getDoc();
+		var win = <span class="reserved">this</span>.getWin();
+		var focusElm = <span class="reserved">this</span>.getFocusElement();
+
+		<span class="comment">// Is non udno specific command</span>
+		<span class="reserved">if</span> (!new RegExp(<span class="literal">'mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel'</span>, <span class="literal">'gi'</span>).test(command))
+			<span class="reserved">this</span>.undoBookmark = null;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.lastSafariSelection &amp;&amp; !new RegExp(<span class="literal">'mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel'</span>, <span class="literal">'gi'</span>).test(command)) {
+			<span class="reserved">this</span>.selection.moveToBookmark(<span class="reserved">this</span>.lastSafariSelection);
+			tinyMCE.selectedElement = <span class="reserved">this</span>.lastSafariSelectedElement;
+		}
+
+		<span class="comment">// Mozilla issue</span>
+		<span class="reserved">if</span> (!tinyMCE.isMSIE &amp;&amp; !<span class="reserved">this</span>.useCSS) {
+			<span class="reserved">this</span>._setUseCSS(false);
+			<span class="reserved">this</span>.useCSS = true;
+		}
+
+		<span class="comment">//debug("command: " + command + ", user_interface: " + user_interface + ", value: " + value);</span>
+		<span class="reserved">this</span>.contentDocument = doc; <span class="comment">// &lt;-- Strange, unless this is applied Mozilla 1.3 breaks</span>
+
+		<span class="reserved">if</span> (tinyMCE.execCommandCallback(<span class="reserved">this</span>, <span class="literal">'execcommand_callback'</span>, <span class="literal">'execCommand'</span>, <span class="reserved">this</span>.editorId, <span class="reserved">this</span>.getBody(), command, user_interface, value))
+			<span class="reserved">return</span>;
+
+		<span class="comment">// Fix align on images</span>
+		<span class="reserved">if</span> (focusElm &amp;&amp; focusElm.nodeName == <span class="literal">"IMG"</span>) {
+			var align = focusElm.getAttribute(<span class="literal">'align'</span>);
+			var img = command == <span class="literal">"JustifyCenter"</span> ? focusElm.cloneNode(false) : focusElm;
+
+			switch (command) {
+				case <span class="literal">"JustifyLeft"</span>:
+					<span class="reserved">if</span> (align == <span class="literal">'left'</span>)
+						img.removeAttribute(<span class="literal">'align'</span>);
+					<span class="reserved">else</span>
+						img.setAttribute(<span class="literal">'align'</span>, <span class="literal">'left'</span>);
+
+					<span class="comment">// Remove the div</span>
+					var div = focusElm.parentNode;
+					<span class="reserved">if</span> (div &amp;&amp; div.nodeName == <span class="literal">"DIV"</span> &amp;&amp; div.childNodes.length == 1 &amp;&amp; div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					<span class="reserved">this</span>.selection.selectNode(img);
+					<span class="reserved">this</span>.repaint();
+					tinyMCE.triggerNodeChange();
+					<span class="reserved">return</span>;
+
+				case <span class="literal">"JustifyCenter"</span>:
+					img.removeAttribute(<span class="literal">'align'</span>);
+
+					<span class="comment">// Is centered</span>
+					var div = tinyMCE.getParentElement(focusElm, <span class="literal">"div"</span>);
+					<span class="reserved">if</span> (div &amp;&amp; div.style.textAlign == <span class="literal">"center"</span>) {
+						<span class="comment">// Remove div</span>
+						<span class="reserved">if</span> (div.nodeName == <span class="literal">"DIV"</span> &amp;&amp; div.childNodes.length == 1 &amp;&amp; div.parentNode)
+							div.parentNode.replaceChild(img, div);
+					} <span class="reserved">else</span> {
+						<span class="comment">// Add div</span>
+						var div = <span class="reserved">this</span>.getDoc().createElement(<span class="literal">"div"</span>);
+						div.style.textAlign = <span class="literal">'center'</span>;
+						div.appendChild(img);
+						focusElm.parentNode.replaceChild(div, focusElm);
+					}
+
+					<span class="reserved">this</span>.selection.selectNode(img);
+					<span class="reserved">this</span>.repaint();
+					tinyMCE.triggerNodeChange();
+					<span class="reserved">return</span>;
+
+				case <span class="literal">"JustifyRight"</span>:
+					<span class="reserved">if</span> (align == <span class="literal">'right'</span>)
+						img.removeAttribute(<span class="literal">'align'</span>);
+					<span class="reserved">else</span>
+						img.setAttribute(<span class="literal">'align'</span>, <span class="literal">'right'</span>);
+
+					<span class="comment">// Remove the div</span>
+					var div = focusElm.parentNode;
+					<span class="reserved">if</span> (div &amp;&amp; div.nodeName == <span class="literal">"DIV"</span> &amp;&amp; div.childNodes.length == 1 &amp;&amp; div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					<span class="reserved">this</span>.selection.selectNode(img);
+					<span class="reserved">this</span>.repaint();
+					tinyMCE.triggerNodeChange();
+					<span class="reserved">return</span>;
+			}
+		}
+
+		<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'force_br_newlines'</span>]) {
+			var alignValue = <span class="literal">""</span>;
+
+			<span class="reserved">if</span> (doc.selection.type != <span class="literal">"Control"</span>) {
+				switch (command) {
+						case <span class="literal">"JustifyLeft"</span>:
+							alignValue = <span class="literal">"left"</span>;
+							break;
+
+						case <span class="literal">"JustifyCenter"</span>:
+							alignValue = <span class="literal">"center"</span>;
+							break;
+
+						case <span class="literal">"JustifyFull"</span>:
+							alignValue = <span class="literal">"justify"</span>;
+							break;
+
+						case <span class="literal">"JustifyRight"</span>:
+							alignValue = <span class="literal">"right"</span>;
+							break;
+				}
+
+				<span class="reserved">if</span> (alignValue != <span class="literal">""</span>) {
+					var rng = doc.selection.createRange();
+
+					<span class="reserved">if</span> ((divElm = tinyMCE.getParentElement(rng.parentElement(), <span class="literal">"div"</span>)) != null)
+						divElm.setAttribute(<span class="literal">"align"</span>, alignValue);
+					<span class="reserved">else</span> <span class="reserved">if</span> (rng.pasteHTML &amp;&amp; rng.htmlText.length &gt; 0)
+						rng.pasteHTML(<span class="literal">'&lt;div align="'</span> + alignValue + <span class="literal">'"&gt;'</span> + rng.htmlText + <span class="literal">"&lt;/div&gt;"</span>);
+
+					tinyMCE.triggerNodeChange();
+					<span class="reserved">return</span>;
+				}
+			}
+		}
+
+		switch (command) {
+			case <span class="literal">"mceRepaint"</span>:
+				<span class="reserved">this</span>.repaint();
+				<span class="reserved">return</span> true;
+
+			case <span class="literal">"InsertUnorderedList"</span>:
+			case <span class="literal">"InsertOrderedList"</span>:
+				var tag = (command == <span class="literal">"InsertUnorderedList"</span>) ? <span class="literal">"ul"</span> : <span class="literal">"ol"</span>;
+
+				<span class="reserved">if</span> (tinyMCE.isSafari)
+					<span class="reserved">this</span>.execCommand(<span class="literal">"mceInsertContent"</span>, false, <span class="literal">"&lt;"</span> + tag + <span class="literal">"&gt;&lt;li&gt;&amp;nbsp;&lt;/li&gt;&lt;"</span> + tag + <span class="literal">"&gt;"</span>);
+				<span class="reserved">else</span>
+					<span class="reserved">this</span>.getDoc().execCommand(command, user_interface, value);
+
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case <span class="literal">"Strikethrough"</span>:
+				<span class="reserved">if</span> (tinyMCE.isSafari)
+					<span class="reserved">this</span>.execCommand(<span class="literal">"mceInsertContent"</span>, false, <span class="literal">"&lt;strike&gt;"</span> + <span class="reserved">this</span>.selection.getSelectedHTML() + <span class="literal">"&lt;/strike&gt;"</span>);
+				<span class="reserved">else</span>
+					<span class="reserved">this</span>.getDoc().execCommand(command, user_interface, value);
+
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case <span class="literal">"mceSelectNode"</span>:
+				<span class="reserved">this</span>.selection.selectNode(value);
+				tinyMCE.triggerNodeChange();
+				tinyMCE.selectedNode = value;
+				break;
+
+			case <span class="literal">"FormatBlock"</span>:
+				<span class="reserved">if</span> (value == null || value == <span class="literal">""</span>) {
+					var elm = tinyMCE.getParentElement(<span class="reserved">this</span>.getFocusElement(), <span class="literal">"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp"</span>);
+
+					<span class="reserved">if</span> (elm)
+						<span class="reserved">this</span>.execCommand(<span class="literal">"mceRemoveNode"</span>, false, elm);
+				} <span class="reserved">else</span> {
+					<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; new RegExp(<span class="literal">'&lt;(div|blockquote|code|dt|dd|dl|samp)&gt;'</span>, <span class="literal">'gi'</span>).test(value))
+						value = value.replace(/[^a-z]/gi, <span class="literal">''</span>);
+
+					<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; new RegExp(<span class="literal">'blockquote|code|samp'</span>, <span class="literal">'gi'</span>).test(value)) {
+						var b = <span class="reserved">this</span>.selection.getBookmark();
+						<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">"FormatBlock"</span>, false, <span class="literal">'&lt;p&gt;'</span>);
+						tinyMCE.renameElement(tinyMCE.getParentBlockElement(<span class="reserved">this</span>.getFocusElement()), value);
+						<span class="reserved">this</span>.selection.moveToBookmark(b);
+					} <span class="reserved">else</span>
+						<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">"FormatBlock"</span>, false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case <span class="literal">"mceRemoveNode"</span>:
+				<span class="reserved">if</span> (!value)
+					value = tinyMCE.getParentElement(<span class="reserved">this</span>.getFocusElement());
+
+				<span class="reserved">if</span> (tinyMCE.isMSIE) {
+					value.outerHTML = value.innerHTML;
+				} <span class="reserved">else</span> {
+					var rng = value.ownerDocument.createRange();
+					rng.setStartBefore(value);
+					rng.setEndAfter(value);
+					rng.deleteContents();
+					rng.insertNode(rng.createContextualFragment(value.innerHTML));
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case <span class="literal">"mceSelectNodeDepth"</span>:
+				var parentNode = <span class="reserved">this</span>.getFocusElement();
+				<span class="reserved">for</span> (var i=0; parentNode; i++) {
+					<span class="reserved">if</span> (parentNode.nodeName.toLowerCase() == <span class="literal">"body"</span>)
+						break;
+
+					<span class="reserved">if</span> (parentNode.nodeName.toLowerCase() == <span class="literal">"#text"</span>) {
+						i--;
+						parentNode = parentNode.parentNode;
+						continue;
+					}
+
+					<span class="reserved">if</span> (i == value) {
+						<span class="reserved">this</span>.selection.selectNode(parentNode, false);
+						tinyMCE.triggerNodeChange();
+						tinyMCE.selectedNode = parentNode;
+						<span class="reserved">return</span>;
+					}
+
+					parentNode = parentNode.parentNode;
+				}
+
+				break;
+
+			case <span class="literal">"SetStyleInfo"</span>:
+				var rng = <span class="reserved">this</span>.getRng();
+				var sel = <span class="reserved">this</span>.getSel();
+				var scmd = value[<span class="literal">'command'</span>];
+				var sname = value[<span class="literal">'name'</span>];
+				var svalue = value[<span class="literal">'value'</span>] == null ? <span class="literal">''</span> : value[<span class="literal">'value'</span>];
+				<span class="comment">//var svalue = value['value'] == null ? '' : value['value'];</span>
+				var wrapper = value[<span class="literal">'wrapper'</span>] ? value[<span class="literal">'wrapper'</span>] : <span class="literal">"span"</span>;
+				var parentElm = null;
+				var invalidRe = new RegExp(<span class="literal">"^BODY|HTML$"</span>, <span class="literal">"g"</span>);
+				var invalidParentsRe = tinyMCE.settings[<span class="literal">'merge_styles_invalid_parents'</span>] != <span class="literal">''</span> ? new RegExp(tinyMCE.settings[<span class="literal">'merge_styles_invalid_parents'</span>], <span class="literal">"gi"</span>) : null;
+
+				<span class="comment">// Whole element selected check</span>
+				<span class="reserved">if</span> (tinyMCE.isMSIE) {
+					<span class="comment">// Control range</span>
+					<span class="reserved">if</span> (rng.item)
+						parentElm = rng.item(0);
+					<span class="reserved">else</span> {
+						var pelm = rng.parentElement();
+						var prng = doc.selection.createRange();
+						prng.moveToElementText(pelm);
+
+						<span class="reserved">if</span> (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) {
+							<span class="reserved">if</span> (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName))
+								parentElm = pelm;
+						}
+					}
+				} <span class="reserved">else</span> {
+					var felm = <span class="reserved">this</span>.getFocusElement();
+					<span class="reserved">if</span> (sel.isCollapsed || (new RegExp(<span class="literal">'td|tr|tbody|table'</span>, <span class="literal">'gi'</span>).test(felm.nodeName) &amp;&amp; sel.anchorNode == felm.parentNode))
+						parentElm = felm;
+				}
+
+				<span class="comment">// Whole element selected</span>
+				<span class="reserved">if</span> (parentElm &amp;&amp; !invalidRe.test(parentElm.nodeName)) {
+					<span class="reserved">if</span> (scmd == <span class="literal">"setstyle"</span>)
+						tinyMCE.setStyleAttrib(parentElm, sname, svalue);
+
+					<span class="reserved">if</span> (scmd == <span class="literal">"setattrib"</span>)
+						tinyMCE.setAttrib(parentElm, sname, svalue);
+
+					<span class="reserved">if</span> (scmd == <span class="literal">"removeformat"</span>) {
+						parentElm.style.cssText = <span class="literal">''</span>;
+						tinyMCE.setAttrib(parentElm, <span class="literal">'class'</span>, <span class="literal">''</span>);
+					}
+
+					<span class="comment">// Remove style/attribs from all children</span>
+					var ch = tinyMCE.getNodeTree(parentElm, new Array(), 1);
+					<span class="reserved">for</span> (var z=0; z&lt;ch.length; z++) {
+						<span class="reserved">if</span> (ch[z] == parentElm)
+							continue;
+
+						<span class="reserved">if</span> (scmd == <span class="literal">"setstyle"</span>)
+							tinyMCE.setStyleAttrib(ch[z], sname, <span class="literal">''</span>);
+
+						<span class="reserved">if</span> (scmd == <span class="literal">"setattrib"</span>)
+							tinyMCE.setAttrib(ch[z], sname, <span class="literal">''</span>);
+
+						<span class="reserved">if</span> (scmd == <span class="literal">"removeformat"</span>) {
+							ch[z].style.cssText = <span class="literal">''</span>;
+							tinyMCE.setAttrib(ch[z], <span class="literal">'class'</span>, <span class="literal">''</span>);
+						}
+					}
+				} <span class="reserved">else</span> {
+					<span class="reserved">this</span>._setUseCSS(false); <span class="comment">// Bug in FF when running in fullscreen</span>
+					doc.execCommand(<span class="literal">"FontName"</span>, false, <span class="literal">"#mce_temp_font#"</span>);
+					var elementArray = tinyMCE.getElementsByAttributeValue(<span class="reserved">this</span>.getBody(), <span class="literal">"font"</span>, <span class="literal">"face"</span>, <span class="literal">"#mce_temp_font#"</span>);
+
+					<span class="comment">// Change them all</span>
+					<span class="reserved">for</span> (var x=0; x&lt;elementArray.length; x++) {
+						elm = elementArray[x];
+						<span class="reserved">if</span> (elm) {
+							var spanElm = doc.createElement(wrapper);
+
+							<span class="reserved">if</span> (scmd == <span class="literal">"setstyle"</span>)
+								tinyMCE.setStyleAttrib(spanElm, sname, svalue);
+
+							<span class="reserved">if</span> (scmd == <span class="literal">"setattrib"</span>)
+								tinyMCE.setAttrib(spanElm, sname, svalue);
+
+							<span class="reserved">if</span> (scmd == <span class="literal">"removeformat"</span>) {
+								spanElm.style.cssText = <span class="literal">''</span>;
+								tinyMCE.setAttrib(spanElm, <span class="literal">'class'</span>, <span class="literal">''</span>);
+							}
+
+							<span class="reserved">if</span> (elm.hasChildNodes()) {
+								<span class="reserved">for</span> (var i=0; i&lt;elm.childNodes.length; i++)
+									spanElm.appendChild(elm.childNodes[i].cloneNode(true));
+							}
+
+							spanElm.setAttribute(<span class="literal">"mce_new"</span>, <span class="literal">"true"</span>);
+							elm.parentNode.replaceChild(spanElm, elm);
+
+							<span class="comment">// Remove style/attribs from all children</span>
+							var ch = tinyMCE.getNodeTree(spanElm, new Array(), 1);
+							<span class="reserved">for</span> (var z=0; z&lt;ch.length; z++) {
+								<span class="reserved">if</span> (ch[z] == spanElm)
+									continue;
+
+								<span class="reserved">if</span> (scmd == <span class="literal">"setstyle"</span>)
+									tinyMCE.setStyleAttrib(ch[z], sname, <span class="literal">''</span>);
+
+								<span class="reserved">if</span> (scmd == <span class="literal">"setattrib"</span>)
+									tinyMCE.setAttrib(ch[z], sname, <span class="literal">''</span>);
+
+								<span class="reserved">if</span> (scmd == <span class="literal">"removeformat"</span>) {
+									ch[z].style.cssText = <span class="literal">''</span>;
+									tinyMCE.setAttrib(ch[z], <span class="literal">'class'</span>, <span class="literal">''</span>);
+								}
+							}
+						}
+					}
+				}
+
+				<span class="comment">// Cleaup wrappers</span>
+				var nodes = doc.getElementsByTagName(wrapper);
+				<span class="reserved">for</span> (var i=nodes.length-1; i&gt;=0; i--) {
+					var elm = nodes[i];
+					var isNew = tinyMCE.getAttrib(elm, <span class="literal">"mce_new"</span>) == <span class="literal">"true"</span>;
+
+					elm.removeAttribute(<span class="literal">"mce_new"</span>);
+
+					<span class="comment">// Is only child a element</span>
+					<span class="reserved">if</span> (elm.childNodes &amp;&amp; elm.childNodes.length == 1 &amp;&amp; elm.childNodes[0].nodeType == 1) {
+						<span class="comment">//tinyMCE.debug("merge1" + isNew);</span>
+						<span class="reserved">this</span>._mergeElements(scmd, elm, elm.childNodes[0], isNew);
+						continue;
+					}
+
+					<span class="comment">// Is I the only child</span>
+					<span class="reserved">if</span> (elm.parentNode.childNodes.length == 1 &amp;&amp; !invalidRe.test(elm.nodeName) &amp;&amp; !invalidRe.test(elm.parentNode.nodeName)) {
+						<span class="comment">//tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName);</span>
+						<span class="reserved">if</span> (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName))
+							<span class="reserved">this</span>._mergeElements(scmd, elm.parentNode, elm, false);
+					}
+				}
+
+				<span class="comment">// Remove empty wrappers</span>
+				var nodes = doc.getElementsByTagName(wrapper);
+				<span class="reserved">for</span> (var i=nodes.length-1; i&gt;=0; i--) {
+					var elm = nodes[i];
+					var isEmpty = true;
+
+					<span class="comment">// Check if it has any attribs</span>
+					var tmp = doc.createElement(<span class="literal">"body"</span>);
+					tmp.appendChild(elm.cloneNode(false));
+
+					<span class="comment">// Is empty span, remove it</span>
+					tmp.innerHTML = tmp.innerHTML.replace(new RegExp(<span class="literal">'style=""|class=""'</span>, <span class="literal">'gi'</span>), <span class="literal">''</span>);
+					<span class="comment">//tinyMCE.debug(tmp.innerHTML);</span>
+					<span class="reserved">if</span> (new RegExp(<span class="literal">'&lt;span&gt;'</span>, <span class="literal">'gi'</span>).test(tmp.innerHTML)) {
+						<span class="reserved">for</span> (var x=0; x&lt;elm.childNodes.length; x++) {
+							<span class="reserved">if</span> (elm.parentNode != null)
+								elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true), elm);
+						}
+
+						elm.parentNode.removeChild(elm);
+					}
+				}
+
+				<span class="comment">// Re add the visual aids</span>
+				<span class="reserved">if</span> (scmd == <span class="literal">"removeformat"</span>)
+					tinyMCE.handleVisualAid(<span class="reserved">this</span>.getBody(), true, <span class="reserved">this</span>.visualAid, <span class="reserved">this</span>);
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case <span class="literal">"FontName"</span>:
+				<span class="reserved">if</span> (value == null) {
+					var s = <span class="reserved">this</span>.getSel();
+
+					<span class="comment">// Find font and select it</span>
+					<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; s.isCollapsed) {
+						var f = tinyMCE.getParentElement(<span class="reserved">this</span>.getFocusElement(), <span class="literal">"font"</span>);
+
+						<span class="reserved">if</span> (f != null)
+							<span class="reserved">this</span>.selection.selectNode(f, false);
+					}
+
+					<span class="comment">// Remove format</span>
+					<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">"RemoveFormat"</span>, false, null);
+
+					<span class="comment">// Collapse range if font was found</span>
+					<span class="reserved">if</span> (f != null &amp;&amp; tinyMCE.isGecko) {
+						var r = <span class="reserved">this</span>.getRng().cloneRange();
+						r.collapse(true);
+						s.removeAllRanges();
+						s.addRange(r);
+					}
+				} <span class="reserved">else</span>
+					<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">'FontName'</span>, false, value);
+
+				<span class="reserved">if</span> (tinyMCE.isGecko)
+					window.setTimeout(<span class="literal">'tinyMCE.triggerNodeChange(false);'</span>, 1);
+
+				<span class="reserved">return</span>;
+
+			case <span class="literal">"FontSize"</span>:
+				<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">'FontSize'</span>, false, value);
+
+				<span class="reserved">if</span> (tinyMCE.isGecko)
+					window.setTimeout(<span class="literal">'tinyMCE.triggerNodeChange(false);'</span>, 1);
+
+				<span class="reserved">return</span>;
+
+			case <span class="literal">"forecolor"</span>:
+				<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">'forecolor'</span>, false, value);
+				break;
+
+			case <span class="literal">"HiliteColor"</span>:
+				<span class="reserved">if</span> (tinyMCE.isGecko) {
+					<span class="reserved">this</span>._setUseCSS(true);
+					<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">'hilitecolor'</span>, false, value);
+					<span class="reserved">this</span>._setUseCSS(false);
+				} <span class="reserved">else</span>
+					<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">'BackColor'</span>, false, value);
+				break;
+
+			case <span class="literal">"Cut"</span>:
+			case <span class="literal">"Copy"</span>:
+			case <span class="literal">"Paste"</span>:
+				var cmdFailed = false;
+
+				<span class="comment">// Try executing command</span>
+				eval(<span class="literal">'try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}'</span>);
+
+				<span class="reserved">if</span> (tinyMCE.isOpera &amp;&amp; cmdFailed)
+					alert(<span class="literal">'Currently not supported by your browser, use keyboard shortcuts instead.'</span>);
+
+				<span class="comment">// Alert error in gecko if command failed</span>
+				<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; cmdFailed) {
+					<span class="comment">// Confirm more info</span>
+					<span class="reserved">if</span> (confirm(tinyMCE.entityDecode(tinyMCE.getLang(<span class="literal">'lang_clipboard_msg'</span>))))
+						window.open(<span class="literal">'http://www.mozilla.org/editor/midasdemo/securityprefs.html'</span>, <span class="literal">'mceExternal'</span>);
+
+					<span class="reserved">return</span>;
+				} <span class="reserved">else</span>
+					tinyMCE.triggerNodeChange();
+			break;
+
+			case <span class="literal">"mceSetContent"</span>:
+				<span class="reserved">if</span> (!value)
+					value = <span class="literal">""</span>;
+
+				<span class="comment">// Call custom cleanup code</span>
+				value = tinyMCE.storeAwayURLs(value);
+				value = tinyMCE._customCleanup(<span class="reserved">this</span>, <span class="literal">"insert_to_editor"</span>, value);
+				tinyMCE._setHTML(doc, value);
+				tinyMCE.setInnerHTML(doc.body, tinyMCE._cleanupHTML(<span class="reserved">this</span>, doc, tinyMCE.settings, doc.body));
+				tinyMCE.convertAllRelativeURLs(doc.body);
+
+				<span class="comment">// Cleanup any mess left from storyAwayURLs</span>
+				tinyMCE._removeInternal(<span class="reserved">this</span>.getBody());
+
+				<span class="comment">// When editing always use fonts internaly</span>
+				<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(doc.body, true, <span class="reserved">this</span>.visualAid, <span class="reserved">this</span>);
+				tinyMCE._setEventsEnabled(doc.body, false);
+				<span class="reserved">return</span> true;
+
+			case <span class="literal">"mceCleanup"</span>:
+				var b = <span class="reserved">this</span>.selection.getBookmark();
+				tinyMCE._setHTML(<span class="reserved">this</span>.contentDocument, <span class="reserved">this</span>.getBody().innerHTML);
+				tinyMCE.setInnerHTML(<span class="reserved">this</span>.getBody(), tinyMCE._cleanupHTML(<span class="reserved">this</span>, <span class="reserved">this</span>.contentDocument, <span class="reserved">this</span>.settings, <span class="reserved">this</span>.getBody(), <span class="reserved">this</span>.visualAid));
+				tinyMCE.convertAllRelativeURLs(doc.body);
+
+				<span class="comment">// When editing always use fonts internaly</span>
+				<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(<span class="reserved">this</span>.getBody(), true, <span class="reserved">this</span>.visualAid, <span class="reserved">this</span>);
+				tinyMCE._setEventsEnabled(<span class="reserved">this</span>.getBody(), false);
+				<span class="reserved">this</span>.repaint();
+				<span class="reserved">this</span>.selection.moveToBookmark(b);
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case <span class="literal">"mceReplaceContent"</span>:
+				<span class="comment">// Force empty string</span>
+				<span class="reserved">if</span> (!value)
+					value = <span class="literal">''</span>;
+
+				<span class="reserved">this</span>.getWin().focus();
+
+				var selectedText = <span class="literal">""</span>;
+
+				<span class="reserved">if</span> (tinyMCE.isMSIE) {
+					var rng = doc.selection.createRange();
+					selectedText = rng.text;
+				} <span class="reserved">else</span>
+					selectedText = <span class="reserved">this</span>.getSel().toString();
+
+				<span class="reserved">if</span> (selectedText.length &gt; 0) {
+					value = tinyMCE.replaceVar(value, <span class="literal">"selection"</span>, selectedText);
+					tinyMCE.execCommand(<span class="literal">'mceInsertContent'</span>, false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case <span class="literal">"mceSetAttribute"</span>:
+				<span class="reserved">if</span> (typeof(value) == <span class="literal">'object'</span>) {
+					var targetElms = (typeof(value[<span class="literal">'targets'</span>]) == <span class="literal">"undefined"</span>) ? <span class="literal">"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address"</span> : value[<span class="literal">'targets'</span>];
+					var targetNode = tinyMCE.getParentElement(<span class="reserved">this</span>.getFocusElement(), targetElms);
+
+					<span class="reserved">if</span> (targetNode) {
+						targetNode.setAttribute(value[<span class="literal">'name'</span>], value[<span class="literal">'value'</span>]);
+						tinyMCE.triggerNodeChange();
+					}
+				}
+			break;
+
+			case <span class="literal">"mceSetCSSClass"</span>:
+				<span class="reserved">this</span>.execCommand(<span class="literal">"SetStyleInfo"</span>, false, {command : <span class="literal">"setattrib"</span>, name : <span class="literal">"class"</span>, value : value});
+			break;
+
+			case <span class="literal">"mceInsertRawHTML"</span>:
+				var key = <span class="literal">'tiny_mce_marker'</span>;
+
+				<span class="reserved">this</span>.execCommand(<span class="literal">'mceBeginUndoLevel'</span>);
+
+				<span class="comment">// Insert marker key</span>
+				<span class="reserved">this</span>.execCommand(<span class="literal">'mceInsertContent'</span>, false, key);
+
+				<span class="comment">// Store away scroll pos</span>
+				var scrollX = <span class="reserved">this</span>.getDoc().body.scrollLeft + <span class="reserved">this</span>.getDoc().documentElement.scrollLeft;
+				var scrollY = <span class="reserved">this</span>.getDoc().body.scrollTop + <span class="reserved">this</span>.getDoc().documentElement.scrollTop;
+
+				<span class="comment">// Find marker and replace with RAW HTML</span>
+				var html = <span class="reserved">this</span>.getBody().innerHTML;
+				<span class="reserved">if</span> ((pos = html.indexOf(key)) != -1)
+					tinyMCE.setInnerHTML(<span class="reserved">this</span>.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length));
+
+				<span class="comment">// Restore scoll pos</span>
+				<span class="reserved">this</span>.contentWindow.scrollTo(scrollX, scrollY);
+
+				<span class="reserved">this</span>.execCommand(<span class="literal">'mceEndUndoLevel'</span>);
+
+				break;
+
+			case <span class="literal">"mceInsertContent"</span>:
+				<span class="comment">// Force empty string</span>
+				<span class="reserved">if</span> (!value)
+					value = <span class="literal">''</span>;
+
+				var insertHTMLFailed = false;
+				<span class="reserved">this</span>.getWin().focus();
+
+				<span class="reserved">if</span> (tinyMCE.isGecko || tinyMCE.isOpera) {
+					try {
+						<span class="comment">// Is plain text or HTML, &amp;amp;, &amp;nbsp; etc will be encoded wrong in FF</span>
+						<span class="reserved">if</span> (value.indexOf(<span class="literal">'&lt;'</span>) == -1 &amp;&amp; !value.match(/(&amp;#38;|&amp;#160;|&amp;#60;|&amp;#62;)/g)) {
+							var r = <span class="reserved">this</span>.getRng();
+							var n = <span class="reserved">this</span>.getDoc().createTextNode(tinyMCE.entityDecode(value));
+							var s = <span class="reserved">this</span>.getSel();
+							var r2 = r.cloneRange();
+
+							<span class="comment">// Insert text at cursor position</span>
+							s.removeAllRanges();
+							r.deleteContents();
+							r.insertNode(n);
+
+							<span class="comment">// Move the cursor to the end of text</span>
+							r2.selectNode(n);
+							r2.collapse(false);
+							s.removeAllRanges();
+							s.addRange(r2);
+						} <span class="reserved">else</span> {
+							value = tinyMCE.fixGeckoBaseHREFBug(1, <span class="reserved">this</span>.getDoc(), value);
+							<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">'inserthtml'</span>, false, value);
+							tinyMCE.fixGeckoBaseHREFBug(2, <span class="reserved">this</span>.getDoc(), value);
+						}
+					} catch (ex) {
+						insertHTMLFailed = true;
+					}
+
+					<span class="reserved">if</span> (!insertHTMLFailed) {
+						tinyMCE.triggerNodeChange();
+						<span class="reserved">return</span>;
+					}
+				}
+
+				<span class="comment">// Ugly hack in Opera due to non working "inserthtml"</span>
+				<span class="reserved">if</span> (tinyMCE.isOpera &amp;&amp; insertHTMLFailed) {
+					<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">"insertimage"</span>, false, tinyMCE.uniqueURL);
+					var ar = tinyMCE.getElementsByAttributeValue(<span class="reserved">this</span>.getBody(), <span class="literal">"img"</span>, <span class="literal">"src"</span>, tinyMCE.uniqueURL);
+					ar[0].outerHTML = value;
+					<span class="reserved">return</span>;
+				}
+
+				<span class="reserved">if</span> (!tinyMCE.isMSIE) {
+					var isHTML = value.indexOf(<span class="literal">'&lt;'</span>) != -1;
+					var sel = <span class="reserved">this</span>.getSel();
+					var rng = <span class="reserved">this</span>.getRng();
+
+					<span class="reserved">if</span> (isHTML) {
+						<span class="reserved">if</span> (tinyMCE.isSafari) {
+							var tmpRng = <span class="reserved">this</span>.getDoc().createRange();
+
+							tmpRng.setStart(<span class="reserved">this</span>.getBody(), 0);
+							tmpRng.setEnd(<span class="reserved">this</span>.getBody(), 0);
+
+							value = tmpRng.createContextualFragment(value);
+						} <span class="reserved">else</span>
+							value = rng.createContextualFragment(value);
+					} <span class="reserved">else</span> {
+						<span class="comment">// Setup text node</span>
+						var el = document.createElement(<span class="literal">"div"</span>);
+						el.innerHTML = value;
+						value = el.firstChild.nodeValue;
+						value = doc.createTextNode(value);
+					}
+
+					<span class="comment">// Insert plain text in Safari</span>
+					<span class="reserved">if</span> (tinyMCE.isSafari &amp;&amp; !isHTML) {
+						<span class="reserved">this</span>.execCommand(<span class="literal">'InsertText'</span>, false, value.nodeValue);
+						tinyMCE.triggerNodeChange();
+						<span class="reserved">return</span> true;
+					} <span class="reserved">else</span> <span class="reserved">if</span> (tinyMCE.isSafari &amp;&amp; isHTML) {
+						rng.deleteContents();
+						rng.insertNode(value);
+						tinyMCE.triggerNodeChange();
+						<span class="reserved">return</span> true;
+					}
+
+					rng.deleteContents();
+
+					<span class="comment">// If target node is text do special treatment, (Mozilla 1.3 fix)</span>
+					<span class="reserved">if</span> (rng.startContainer.nodeType == 3) {
+						var node = rng.startContainer.splitText(rng.startOffset);
+						node.parentNode.insertBefore(value, node); 
+					} <span class="reserved">else</span>
+						rng.insertNode(value);
+
+					<span class="reserved">if</span> (!isHTML) {
+						<span class="comment">// Removes weird selection trails</span>
+						sel.selectAllChildren(doc.body);
+						sel.removeAllRanges();
+
+						<span class="comment">// Move cursor to end of content</span>
+						var rng = doc.createRange();
+
+						rng.selectNode(value);
+						rng.collapse(false);
+
+						sel.addRange(rng);
+					} <span class="reserved">else</span>
+						rng.collapse(false);
+
+					tinyMCE.fixGeckoBaseHREFBug(2, <span class="reserved">this</span>.getDoc(), value);
+				} <span class="reserved">else</span> {
+					var rng = doc.selection.createRange();
+					var c = value.indexOf(<span class="literal">'&lt;!--'</span>) != -1;
+
+					<span class="comment">// Fix comment bug, add tag before comments</span>
+					<span class="reserved">if</span> (c)
+						value = tinyMCE.uniqueTag + value;
+
+					<span class="reserved">if</span> (rng.item)
+						rng.item(0).outerHTML = value;
+					<span class="reserved">else</span>
+						rng.pasteHTML(value);
+
+					<span class="comment">// Remove unique tag</span>
+					<span class="reserved">if</span> (c) {
+						var e = <span class="reserved">this</span>.getDoc().getElementById(<span class="literal">'mceTMPElement'</span>);
+						e.parentNode.removeChild(e);
+					}
+				}
+
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case <span class="literal">"mceStartTyping"</span>:
+				<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'custom_undo_redo'</span>] &amp;&amp; <span class="reserved">this</span>.undoRedo.typingUndoIndex == -1) {
+					<span class="reserved">this</span>.undoRedo.typingUndoIndex = <span class="reserved">this</span>.undoRedo.undoIndex;
+					<span class="reserved">this</span>.execCommand(<span class="literal">'mceAddUndoLevel'</span>);
+					<span class="comment">//tinyMCE.debug("mceStartTyping");</span>
+				}
+				break;
+
+			case <span class="literal">"mceEndTyping"</span>:
+				<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'custom_undo_redo'</span>] &amp;&amp; <span class="reserved">this</span>.undoRedo.typingUndoIndex != -1) {
+					<span class="reserved">this</span>.execCommand(<span class="literal">'mceAddUndoLevel'</span>);
+					<span class="reserved">this</span>.undoRedo.typingUndoIndex = -1;
+					<span class="comment">//tinyMCE.debug("mceEndTyping");</span>
+				}
+				break;
+
+			case <span class="literal">"mceBeginUndoLevel"</span>:
+				<span class="reserved">this</span>.undoRedoLevel = false;
+				break;
+
+			case <span class="literal">"mceEndUndoLevel"</span>:
+				<span class="reserved">this</span>.undoRedoLevel = true;
+				<span class="reserved">this</span>.execCommand(<span class="literal">'mceAddUndoLevel'</span>);
+				break;
+
+			case <span class="literal">"mceAddUndoLevel"</span>:
+				<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'custom_undo_redo'</span>] &amp;&amp; <span class="reserved">this</span>.undoRedoLevel) {
+					<span class="reserved">if</span> (<span class="reserved">this</span>.undoRedo.add())
+						tinyMCE.triggerNodeChange(false);
+				}
+				break;
+
+			case <span class="literal">"Undo"</span>:
+				<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'custom_undo_redo'</span>]) {
+					tinyMCE.execCommand(<span class="literal">"mceEndTyping"</span>);
+					<span class="reserved">this</span>.undoRedo.undo();
+					tinyMCE.triggerNodeChange();
+				} <span class="reserved">else</span>
+					<span class="reserved">this</span>.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case <span class="literal">"Redo"</span>:
+				<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'custom_undo_redo'</span>]) {
+					tinyMCE.execCommand(<span class="literal">"mceEndTyping"</span>);
+					<span class="reserved">this</span>.undoRedo.redo();
+					tinyMCE.triggerNodeChange();
+				} <span class="reserved">else</span>
+					<span class="reserved">this</span>.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case <span class="literal">"mceToggleVisualAid"</span>:
+				<span class="reserved">this</span>.visualAid = !<span class="reserved">this</span>.visualAid;
+				tinyMCE.handleVisualAid(<span class="reserved">this</span>.getBody(), true, <span class="reserved">this</span>.visualAid, <span class="reserved">this</span>);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case <span class="literal">"Indent"</span>:
+				<span class="reserved">this</span>.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+				<span class="reserved">if</span> (tinyMCE.isMSIE) {
+					var n = tinyMCE.getParentElement(<span class="reserved">this</span>.getFocusElement(), <span class="literal">"blockquote"</span>);
+					do {
+						<span class="reserved">if</span> (n &amp;&amp; n.nodeName == <span class="literal">"BLOCKQUOTE"</span>) {
+							n.removeAttribute(<span class="literal">"dir"</span>);
+							n.removeAttribute(<span class="literal">"style"</span>);
+						}
+					} <span class="reserved">while</span> (n != null &amp;&amp; (n = n.parentNode) != null);
+				}
+				break;
+
+			case <span class="literal">"removeformat"</span>:
+				var text = <span class="reserved">this</span>.selection.getSelectedText();
+
+				<span class="reserved">if</span> (tinyMCE.isOpera) {
+					<span class="reserved">this</span>.getDoc().execCommand(<span class="literal">"RemoveFormat"</span>, false, null);
+					<span class="reserved">return</span>;
+				}
+
+				<span class="reserved">if</span> (tinyMCE.isMSIE) {
+					try {
+						var rng = doc.selection.createRange();
+						rng.execCommand(<span class="literal">"RemoveFormat"</span>, false, null);
+					} catch (e) {
+						<span class="comment">// Do nothing</span>
+					}
+
+					<span class="reserved">this</span>.execCommand(<span class="literal">"SetStyleInfo"</span>, false, {command : <span class="literal">"removeformat"</span>});
+				} <span class="reserved">else</span> {
+					<span class="reserved">this</span>.getDoc().execCommand(command, user_interface, value);
+
+					<span class="reserved">this</span>.execCommand(<span class="literal">"SetStyleInfo"</span>, false, {command : <span class="literal">"removeformat"</span>});
+				}
+
+				<span class="comment">// Remove class</span>
+				<span class="reserved">if</span> (text.length == 0)
+					<span class="reserved">this</span>.execCommand(<span class="literal">"mceSetCSSClass"</span>, false, <span class="literal">""</span>);
+
+				tinyMCE.triggerNodeChange();
+				break;
+
+			default:
+				<span class="reserved">this</span>.getDoc().execCommand(command, user_interface, value);
+
+				<span class="reserved">if</span> (tinyMCE.isGecko)
+					window.setTimeout(<span class="literal">'tinyMCE.triggerNodeChange(false);'</span>, 1);
+				<span class="reserved">else</span>
+					tinyMCE.triggerNodeChange();
+		}
+
+		<span class="comment">// Add undo level after modification</span>
+		<span class="reserved">if</span> (command != <span class="literal">"mceAddUndoLevel"</span> &amp;&amp; command != <span class="literal">"Undo"</span> &amp;&amp; command != <span class="literal">"Redo"</span> &amp;&amp; command != <span class="literal">"mceStartTyping"</span> &amp;&amp; command != <span class="literal">"mceEndTyping"</span>)
+			tinyMCE.execCommand(<span class="literal">"mceAddUndoLevel"</span>);
+	},
+
+	<span class="comment">/**
+	 * Returns a command specific value, for example the current font size.
+	 *
+	 * <span class="attrib">@param</span> {string} c Command to query value from.
+	 * <span class="attrib">@return</span> Command specific value, for example the current font size.
+	 * <span class="attrib">@type</span> mixed
+	 */</span>
+	queryCommandValue : <span class="reserved">function</span>(c) {
+		try {
+			<span class="reserved">return</span> <span class="reserved">this</span>.getDoc().queryCommandValue(c);
+		} catch (e) {
+			<span class="reserved">return</span> null;
+		}
+	},
+
+	<span class="comment">/**
+	 * Returns a command specific state, for example if bold is enabled or not.
+	 *
+	 * <span class="attrib">@param</span> {string} c Command to query state from.
+	 * <span class="attrib">@return</span> Command specific state, for example if bold is enabled or not.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	queryCommandState : <span class="reserved">function</span>(c) {
+		<span class="reserved">return</span> <span class="reserved">this</span>.getDoc().queryCommandState(c);
+	},
+
+	<span class="comment">/**
+	 * Gets executed when the editor control instance is added.
+	 *
+	 * <span class="attrib">@param</span> {HTMLElement} replace_element Element to replace with a editor instance.
+	 * <span class="attrib">@param</span> {string} form_element_name Form element name that gets replaced.
+	 * <span class="attrib">@param</span> {DOMDocument} target_document Target document reference where the element is located.
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_onAdd : <span class="reserved">function</span>(replace_element, form_element_name, target_document) {
+		var hc, th, to, editorTemplate;
+
+		th = <span class="reserved">this</span>.settings[<span class="literal">'theme'</span>];
+		to = tinyMCE.themes[th];
+
+		var targetDoc = target_document ? target_document : document;
+
+		<span class="reserved">this</span>.targetDoc = targetDoc;
+
+		tinyMCE.themeURL = tinyMCE.baseURL + <span class="literal">"/themes/"</span> + <span class="reserved">this</span>.settings[<span class="literal">'theme'</span>];
+		<span class="reserved">this</span>.settings[<span class="literal">'themeurl'</span>] = tinyMCE.themeURL;
+
+		<span class="reserved">if</span> (!replace_element) {
+			alert(<span class="literal">"Error: Could not find the target element."</span>);
+			<span class="reserved">return</span> false;
+		}
+
+		<span class="reserved">if</span> (to.getEditorTemplate)
+			editorTemplate = to.getEditorTemplate(<span class="reserved">this</span>.settings, <span class="reserved">this</span>.editorId);
+
+		var deltaWidth = editorTemplate[<span class="literal">'delta_width'</span>] ? editorTemplate[<span class="literal">'delta_width'</span>] : 0;
+		var deltaHeight = editorTemplate[<span class="literal">'delta_height'</span>] ? editorTemplate[<span class="literal">'delta_height'</span>] : 0;
+		var html = <span class="literal">'&lt;span id="'</span> + <span class="reserved">this</span>.editorId + <span class="literal">'_parent" class="mceEditorContainer"&gt;'</span> + editorTemplate[<span class="literal">'html'</span>];
+
+		html = tinyMCE.replaceVar(html, <span class="literal">"editor_id"</span>, <span class="reserved">this</span>.editorId);
+		<span class="reserved">this</span>.settings[<span class="literal">'default_document'</span>] = tinyMCE.baseURL + <span class="literal">"/blank.htm"</span>;
+
+		<span class="reserved">this</span>.settings[<span class="literal">'old_width'</span>] = <span class="reserved">this</span>.settings[<span class="literal">'width'</span>];
+		<span class="reserved">this</span>.settings[<span class="literal">'old_height'</span>] = <span class="reserved">this</span>.settings[<span class="literal">'height'</span>];
+
+		<span class="comment">// Set default width, height</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.settings[<span class="literal">'width'</span>] == -1)
+			<span class="reserved">this</span>.settings[<span class="literal">'width'</span>] = replace_element.offsetWidth;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.settings[<span class="literal">'height'</span>] == -1)
+			<span class="reserved">this</span>.settings[<span class="literal">'height'</span>] = replace_element.offsetHeight;
+
+		<span class="comment">// Try the style width</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.settings[<span class="literal">'width'</span>] == 0)
+			<span class="reserved">this</span>.settings[<span class="literal">'width'</span>] = replace_element.style.width;
+
+		<span class="comment">// Try the style height</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.settings[<span class="literal">'height'</span>] == 0)
+			<span class="reserved">this</span>.settings[<span class="literal">'height'</span>] = replace_element.style.height; 
+
+		<span class="comment">// If no width/height then default to 320x240, better than nothing</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.settings[<span class="literal">'width'</span>] == 0)
+			<span class="reserved">this</span>.settings[<span class="literal">'width'</span>] = 320;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.settings[<span class="literal">'height'</span>] == 0)
+			<span class="reserved">this</span>.settings[<span class="literal">'height'</span>] = 240;
+
+		<span class="reserved">this</span>.settings[<span class="literal">'area_width'</span>] = parseInt(<span class="reserved">this</span>.settings[<span class="literal">'width'</span>]);
+		<span class="reserved">this</span>.settings[<span class="literal">'area_height'</span>] = parseInt(<span class="reserved">this</span>.settings[<span class="literal">'height'</span>]);
+		<span class="reserved">this</span>.settings[<span class="literal">'area_width'</span>] += deltaWidth;
+		<span class="reserved">this</span>.settings[<span class="literal">'area_height'</span>] += deltaHeight;
+
+		<span class="comment">// Special % handling</span>
+		<span class="reserved">if</span> ((<span class="literal">""</span> + <span class="reserved">this</span>.settings[<span class="literal">'width'</span>]).indexOf(<span class="literal">'%'</span>) != -1)
+			<span class="reserved">this</span>.settings[<span class="literal">'area_width'</span>] = <span class="literal">"100%"</span>;
+
+		<span class="reserved">if</span> ((<span class="literal">""</span> + <span class="reserved">this</span>.settings[<span class="literal">'height'</span>]).indexOf(<span class="literal">'%'</span>) != -1)
+			<span class="reserved">this</span>.settings[<span class="literal">'area_height'</span>] = <span class="literal">"100%"</span>;
+
+		<span class="reserved">if</span> ((<span class="literal">""</span> + replace_element.style.width).indexOf(<span class="literal">'%'</span>) != -1) {
+			<span class="reserved">this</span>.settings[<span class="literal">'width'</span>] = replace_element.style.width;
+			<span class="reserved">this</span>.settings[<span class="literal">'area_width'</span>] = <span class="literal">"100%"</span>;
+		}
+
+		<span class="reserved">if</span> ((<span class="literal">""</span> + replace_element.style.height).indexOf(<span class="literal">'%'</span>) != -1) {
+			<span class="reserved">this</span>.settings[<span class="literal">'height'</span>] = replace_element.style.height;
+			<span class="reserved">this</span>.settings[<span class="literal">'area_height'</span>] = <span class="literal">"100%"</span>;
+		}
+
+		html = tinyMCE.applyTemplate(html);
+
+		<span class="reserved">this</span>.settings[<span class="literal">'width'</span>] = <span class="reserved">this</span>.settings[<span class="literal">'old_width'</span>];
+		<span class="reserved">this</span>.settings[<span class="literal">'height'</span>] = <span class="reserved">this</span>.settings[<span class="literal">'old_height'</span>];
+
+		<span class="reserved">this</span>.visualAid = <span class="reserved">this</span>.settings[<span class="literal">'visual'</span>];
+		<span class="reserved">this</span>.formTargetElementId = form_element_name;
+
+		<span class="comment">// Get replace_element contents</span>
+		<span class="reserved">if</span> (replace_element.nodeName == <span class="literal">"TEXTAREA"</span> || replace_element.nodeName == <span class="literal">"INPUT"</span>)
+			<span class="reserved">this</span>.startContent = replace_element.value;
+		<span class="reserved">else</span>
+			<span class="reserved">this</span>.startContent = replace_element.innerHTML;
+
+		<span class="comment">// If not text area or input</span>
+		<span class="reserved">if</span> (replace_element.nodeName != <span class="literal">"TEXTAREA"</span> &amp;&amp; replace_element.nodeName != <span class="literal">"INPUT"</span>) {
+			<span class="reserved">this</span>.oldTargetElement = replace_element;
+
+			<span class="comment">// Debug mode</span>
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'debug'</span>]) {
+				hc = <span class="literal">'&lt;textarea wrap="off" id="'</span> + form_element_name + <span class="literal">'" name="'</span> + form_element_name + <span class="literal">'" cols="100" rows="15"&gt;&lt;/textarea&gt;'</span>;
+			} <span class="reserved">else</span> {
+				hc = <span class="literal">'&lt;input type="hidden" type="text" id="'</span> + form_element_name + <span class="literal">'" name="'</span> + form_element_name + <span class="literal">'" /&gt;'</span>;
+				<span class="reserved">this</span>.oldTargetElement.style.display = <span class="literal">"none"</span>;
+			}
+
+			html += <span class="literal">'&lt;/span&gt;'</span>;
+
+			<span class="reserved">if</span> (tinyMCE.isGecko)
+				html = hc + html;
+			<span class="reserved">else</span>
+				html += hc;
+
+			<span class="comment">// Output HTML and set editable</span>
+			<span class="reserved">if</span> (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} <span class="reserved">else</span>
+				replace_element.insertAdjacentHTML(<span class="literal">"beforeBegin"</span>, html);
+		} <span class="reserved">else</span> {
+			html += <span class="literal">'&lt;/span&gt;'</span>;
+
+			<span class="comment">// Just hide the textarea element</span>
+			<span class="reserved">this</span>.oldTargetElement = replace_element;
+
+			<span class="reserved">if</span> (!tinyMCE.settings[<span class="literal">'debug'</span>])
+				<span class="reserved">this</span>.oldTargetElement.style.display = <span class="literal">"none"</span>;
+
+			<span class="comment">// Output HTML and set editable</span>
+			<span class="reserved">if</span> (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} <span class="reserved">else</span>
+				replace_element.insertAdjacentHTML(<span class="literal">"beforeBegin"</span>, html);
+		}
+
+		<span class="comment">// Setup iframe</span>
+		var dynamicIFrame = false;
+		var tElm = targetDoc.getElementById(<span class="reserved">this</span>.editorId);
+
+		<span class="reserved">if</span> (!tinyMCE.isMSIE) {
+			<span class="reserved">if</span> (tElm &amp;&amp; tElm.nodeName == <span class="literal">"SPAN"</span>) {
+				tElm = tinyMCE._createIFrame(tElm, targetDoc);
+				dynamicIFrame = true;
+			}
+
+			<span class="reserved">this</span>.targetElement = tElm;
+			<span class="reserved">this</span>.iframeElement = tElm;
+			<span class="reserved">this</span>.contentDocument = tElm.contentDocument;
+			<span class="reserved">this</span>.contentWindow = tElm.contentWindow;
+
+			<span class="comment">//this.getDoc().designMode = "on";</span>
+		} <span class="reserved">else</span> {
+			<span class="reserved">if</span> (tElm &amp;&amp; tElm.nodeName == <span class="literal">"SPAN"</span>)
+				tElm = tinyMCE._createIFrame(tElm, targetDoc, targetDoc.parentWindow);
+			<span class="reserved">else</span>
+				tElm = targetDoc.frames[<span class="reserved">this</span>.editorId];
+
+			<span class="reserved">this</span>.targetElement = tElm;
+			<span class="reserved">this</span>.iframeElement = targetDoc.getElementById(<span class="reserved">this</span>.editorId);
+
+			<span class="reserved">if</span> (tinyMCE.isOpera) {
+				<span class="reserved">this</span>.contentDocument = <span class="reserved">this</span>.iframeElement.contentDocument;
+				<span class="reserved">this</span>.contentWindow = <span class="reserved">this</span>.iframeElement.contentWindow;
+				dynamicIFrame = true;
+			} <span class="reserved">else</span> {
+				<span class="reserved">this</span>.contentDocument = tElm.window.document;
+				<span class="reserved">this</span>.contentWindow = tElm.window;
+			}
+
+			<span class="reserved">this</span>.getDoc().designMode = <span class="literal">"on"</span>;
+		}
+
+		<span class="comment">// Setup base HTML</span>
+		var doc = <span class="reserved">this</span>.contentDocument;
+		<span class="reserved">if</span> (dynamicIFrame) {
+			var html = tinyMCE.getParam(<span class="literal">'doctype'</span>) + <span class="literal">'&lt;html&gt;&lt;head xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;base href="'</span> + tinyMCE.settings[<span class="literal">'base_href'</span>] + <span class="literal">'" /&gt;&lt;title&gt;blank_page&lt;/title&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;&lt;/head&gt;&lt;body class="mceContentBody"&gt;&lt;/body&gt;&lt;/html&gt;'</span>;
+
+			try {
+				<span class="reserved">if</span> (!<span class="reserved">this</span>.isHidden())
+					<span class="reserved">this</span>.getDoc().designMode = <span class="literal">"on"</span>;
+
+				doc.open();
+				doc.write(html);
+				doc.close();
+			} catch (e) {
+				<span class="comment">// Failed Mozilla 1.3</span>
+				<span class="reserved">this</span>.getDoc().location.href = tinyMCE.baseURL + <span class="literal">"/blank.htm"</span>;
+			}
+		}
+
+		<span class="comment">// This timeout is needed in MSIE 5.5 for some odd reason</span>
+		<span class="comment">// it seems that the document.frames isn't initialized yet?</span>
+		<span class="reserved">if</span> (tinyMCE.isMSIE)
+			window.setTimeout(<span class="literal">"tinyMCE.addEventHandlers(tinyMCE.instances[\"</span><span class="literal">" + this.editorId + "</span>\<span class="literal">"]);"</span>, 1);
+
+		tinyMCE.setupContent(<span class="reserved">this</span>.editorId, true);
+
+		<span class="reserved">return</span> true;
+	},
+
+	<span class="comment">/**
+	 * Sets the base href url of the current document instance. This method is used
+	 * to temporarly remove the base url during copy/paste and drag/drop operations
+	 * of relative links from external sites into TinyMCE. MSIE has a bug and converts
+	 * relative links from external sites to absolute links incorrectly.
+	 *
+	 * <span class="attrib">@param</span> {string} u URL to set as base URL or null to remove it.
+	 */</span>
+	setBaseHREF : <span class="reserved">function</span>(u) {
+		var h, b, d, nl;
+
+		d = <span class="reserved">this</span>.getDoc();
+		nl = d.getElementsByTagName(<span class="literal">"base"</span>);
+		b = nl.length &gt; 0 ? nl[0] : null;
+
+		<span class="reserved">if</span> (!b) {
+			nl = d.getElementsByTagName(<span class="literal">"head"</span>);
+			h = nl.length &gt; 0 ? nl[0] : null;
+
+			b = d.createElement(<span class="literal">"base"</span>);
+			b.setAttribute(<span class="literal">'href'</span>, u);
+			h.appendChild(b);
+		} <span class="reserved">else</span> {
+			<span class="reserved">if</span> (u == <span class="literal">""</span> || u == null)
+				b.parentNode.removeChild(b);
+			<span class="reserved">else</span>
+				b.setAttribute(<span class="literal">'href'</span>, u);
+		}
+	},
+
+	<span class="comment">/**
+	 * Returns the currently selected element. This is was added for compatiblity and is deprecated.
+	 * Please use inst.selection.getFocusElement instead.
+	 *
+	 * <span class="attrib">@return</span> Currently selected element.
+	 * <span class="attrib">@type</span> HTMLElement
+	 * <span class="attrib">@deprecated</span>
+	 */</span>
+	getFocusElement : <span class="reserved">function</span>() {
+		<span class="reserved">return</span> <span class="reserved">this</span>.selection.getFocusElement();
+	},
+
+	<span class="comment">/**
+	 * Returns the browsers selection instance. This is was added for compatiblity and is deprecated.
+	 * Please use inst.selection.getSel instead.
+	 *
+	 * <span class="attrib">@return</span> Browser selection instance.
+	 * <span class="attrib">@type</span> DOMSelection
+	 * <span class="attrib">@deprecated</span>
+	 */</span>
+	getSel : <span class="reserved">function</span>() {
+		<span class="reserved">return</span> <span class="reserved">this</span>.selection.getSel();
+	},
+
+	<span class="comment">/**
+	 * Returns the browsers selections first range instance. This is was added for compatiblity and is deprecated.
+	 * Please use inst.selection.getRng instead.
+	 *
+	 * <span class="attrib">@return</span> Browsers selections first range instance.
+	 * <span class="attrib">@type</span> DOMRange
+	 * <span class="attrib">@deprecated</span>
+	 */</span>
+	getRng : <span class="reserved">function</span>() {
+		<span class="reserved">return</span> <span class="reserved">this</span>.selection.getRng();
+	},
+
+	<span class="comment">/**
+	 * Moves the contents from the TinyMCE editor control instance to the hidden textarea
+	 * that got replaced with TinyMCE. This is executed automaticly on for example form submit unless you configure otherwice.
+	 *
+	 * <span class="attrib">@param</span> {boolean} skip_cleanup Optional Skip cleanup, simply move the contents as fast as possible.
+	 * <span class="attrib">@param</span> {boolean} skip_callback Optional Skip callback, don't call the save_callback function.
+	 */</span>
+	triggerSave : <span class="reserved">function</span>(skip_cleanup, skip_callback) {
+		<span class="reserved">this</span>.switchSettings();
+
+		tinyMCE.settings[<span class="literal">'preformatted'</span>] = false;
+
+		<span class="comment">// Default to false</span>
+		<span class="reserved">if</span> (typeof(skip_cleanup) == <span class="literal">"undefined"</span>)
+			skip_cleanup = false;
+
+		<span class="comment">// Default to false</span>
+		<span class="reserved">if</span> (typeof(skip_callback) == <span class="literal">"undefined"</span>)
+			skip_callback = false;
+
+		tinyMCE._setHTML(<span class="reserved">this</span>.getDoc(), <span class="reserved">this</span>.getBody().innerHTML);
+
+		<span class="comment">// Remove visual aids when cleanup is disabled</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.settings[<span class="literal">'cleanup'</span>] == false) {
+			tinyMCE.handleVisualAid(<span class="reserved">this</span>.getBody(), true, false, <span class="reserved">this</span>);
+			tinyMCE._setEventsEnabled(<span class="reserved">this</span>.getBody(), true);
+		}
+
+		tinyMCE._customCleanup(<span class="reserved">this</span>, <span class="literal">"submit_content_dom"</span>, <span class="reserved">this</span>.contentWindow.document.body);
+		var htm = skip_cleanup ? <span class="reserved">this</span>.getBody().innerHTML : tinyMCE._cleanupHTML(<span class="reserved">this</span>, <span class="reserved">this</span>.getDoc(), <span class="reserved">this</span>.settings, <span class="reserved">this</span>.getBody(), tinyMCE.visualAid, true, true);
+		htm = tinyMCE._customCleanup(<span class="reserved">this</span>, <span class="literal">"submit_content"</span>, htm);
+
+		<span class="reserved">if</span> (!skip_callback &amp;&amp; tinyMCE.settings[<span class="literal">'save_callback'</span>] != <span class="literal">""</span>)
+			var content = eval(tinyMCE.settings[<span class="literal">'save_callback'</span>] + <span class="literal">"(this.formTargetElementId,htm,this.getBody());"</span>);
+
+		<span class="comment">// Use callback content if available</span>
+		<span class="reserved">if</span> ((typeof(content) != <span class="literal">"undefined"</span>) &amp;&amp; content != null)
+			htm = content;
+
+		<span class="comment">// Replace some weird entities (Bug: #1056343)</span>
+		htm = tinyMCE.regexpReplace(htm, <span class="literal">"&amp;#40;"</span>, <span class="literal">"("</span>, <span class="literal">"gi"</span>);
+		htm = tinyMCE.regexpReplace(htm, <span class="literal">"&amp;#41;"</span>, <span class="literal">")"</span>, <span class="literal">"gi"</span>);
+		htm = tinyMCE.regexpReplace(htm, <span class="literal">"&amp;#59;"</span>, <span class="literal">";"</span>, <span class="literal">"gi"</span>);
+		htm = tinyMCE.regexpReplace(htm, <span class="literal">"&amp;#34;"</span>, <span class="literal">"&amp;quot;"</span>, <span class="literal">"gi"</span>);
+		htm = tinyMCE.regexpReplace(htm, <span class="literal">"&amp;#94;"</span>, <span class="literal">"^"</span>, <span class="literal">"gi"</span>);
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.formElement)
+			<span class="reserved">this</span>.formElement.value = htm;
+
+		<span class="reserved">if</span> (tinyMCE.isSafari &amp;&amp; <span class="reserved">this</span>.formElement)
+			<span class="reserved">this</span>.formElement.innerText = htm;
+	}
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Debug.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Debug.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Debug.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Debug.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,193 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Debug.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Debug.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Debug.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Debug.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:29 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ *
+ * The contents of this file will be wrapped in a class later on.
+ */</span>
+
+<span class="comment">/**
+ * Debugs the specified message to a screen.
+ *
+ * <span class="attrib">@param</span> {1..n} Numerous arguments that will be outputed.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.debug = <span class="reserved">function</span>() {
+	var m = <span class="literal">""</span>, e, a, i;
+
+	e = document.getElementById(<span class="literal">"tinymce_debug"</span>);
+	<span class="reserved">if</span> (!e) {
+		var d = document.createElement(<span class="literal">"div"</span>);
+		d.setAttribute(<span class="literal">"className"</span>, <span class="literal">"debugger"</span>);
+		d.className = <span class="literal">"debugger"</span>;
+		d.innerHTML = <span class="literal">'Debug output:&lt;textarea id="tinymce_debug" style="width: 100%; height: 300px" wrap="nowrap" mce_editable="false"&gt;&lt;/textarea&gt;'</span>;
+
+		document.body.appendChild(d);
+		e = document.getElementById(<span class="literal">"tinymce_debug"</span>);
+	}
+
+	a = <span class="reserved">this</span>.debug.arguments;
+	<span class="reserved">for</span> (i=0; i&lt;a.length; i++) {
+		m += a[i];
+		<span class="reserved">if</span> (i&lt;a.length-1)
+			m += <span class="literal">', '</span>;
+	}
+
+	e.value += m + <span class="literal">"\n"</span>;
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_DOMUtils.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_DOMUtils.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_DOMUtils.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_DOMUtils.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,707 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_DOMUtils.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_DOMUtils.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_DOMUtils.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_DOMUtils.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:29 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ *
+ * The contents of this file will be wrapped in a class later on.
+ */</span>
+
+<span class="comment">/**
+ * Returns a element by a specific attribute and it's value.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} n Element to search in.
+ * <span class="attrib">@param</span> {string} e Element name to search for.
+ * <span class="attrib">@param</span> {string} a Attribute name to search for.
+ * <span class="attrib">@param</span> {string} v Attribute value to search for.
+ * <span class="attrib">@return</span> HTML element that matched the criterias or null on failure.
+ * <span class="attrib">@type</span> HTMLElement
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getElementByAttributeValue = <span class="reserved">function</span>(n, e, a, v) {
+	<span class="reserved">return</span> (n = <span class="reserved">this</span>.getElementsByAttributeValue(n, e, a, v)).length == 0 ? null : n[0];
+};
+
+<span class="comment">/**
+ * Returns a element array by a specific attribute and it's value.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} n Element to search in.
+ * <span class="attrib">@param</span> {string} e Element name to search for.
+ * <span class="attrib">@param</span> {string} a Attribute name to search for.
+ * <span class="attrib">@param</span> {string} v Attribute value to search for.
+ * <span class="attrib">@return</span> HTML element array that matched the criterias or null on failure.
+ * <span class="attrib">@type</span> Array
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getElementsByAttributeValue = <span class="reserved">function</span>(n, e, a, v) {
+	var i, nl = n.getElementsByTagName(e), o = new Array();
+
+	<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
+		<span class="reserved">if</span> (tinyMCE.getAttrib(nl[i], a).indexOf(v) != -1)
+			o[o.length] = nl[i];
+	}
+
+	<span class="reserved">return</span> o;
+};
+
+<span class="comment">/**
+ * Returns true/false if the specified node is a block element or not.
+ *
+ * <span class="attrib">@param</span> {HTMLNode} n Node to verify.
+ * <span class="attrib">@return</span> true/false if the specified node is a block element or not.
+ * <span class="attrib">@type</span> boolean
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.isBlockElement = <span class="reserved">function</span>(n) {
+	<span class="reserved">return</span> n != null &amp;&amp; n.nodeType == 1 &amp;&amp; <span class="reserved">this</span>.blockRegExp.test(n.nodeName);
+};
+
+<span class="comment">/**
+ * Returns the first block element parent of the specified node.
+ *
+ * <span class="attrib">@param</span> {HTMLNode} n Node get parent block element for.
+ * <span class="attrib">@return</span> First block element parent of the specified node or null if it wasn't found.
+ * <span class="attrib">@type</span> HTMLElement
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getParentBlockElement = <span class="reserved">function</span>(n) {
+	<span class="reserved">while</span> (n) {
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isBlockElement(n))
+			<span class="reserved">return</span> n;
+
+		n = n.parentNode;
+	}
+
+	<span class="reserved">return</span> null;
+};
+
+<span class="comment">/**
+ * Inserts a node after the specific node.
+ *
+ * <span class="attrib">@param</span> {HTMLNode} n New node to insert.
+ * <span class="attrib">@param</span> {HTMLNode} r Reference node to insert after.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.insertAfter = <span class="reserved">function</span>(n, r){
+	<span class="reserved">if</span> (r.nextSibling)
+		r.parentNode.insertBefore(n, r.nextSibling);
+	<span class="reserved">else</span>
+		r.parentNode.appendChild(n);
+};
+
+<span class="comment">/**
+ * Sets the innerHTML property of a element, this function also
+ * fixes a MSIE bug where the first comment is removed.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} e Element to insert HTML in.
+ * <span class="attrib">@param</span> {string} h HTML code to insert into innerHTML.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.setInnerHTML = <span class="reserved">function</span>(e, h) {
+	var i, nl, n;
+
+	<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera) {
+		<span class="comment">// Since MSIE handles invalid HTML better that valid XHTML we</span>
+		<span class="comment">// need to make some things invalid. &lt;hr /&gt; gets converted to &lt;hr&gt;.</span>
+		h = h.replace(/\s\/&gt;/g, <span class="literal">'&gt;'</span>);
+
+		<span class="comment">// Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones</span>
+		h = h.replace(/&lt;p([^&gt;]*)&gt;\u00A0?&lt;\/p&gt;/gi, <span class="literal">'&lt;p$1 mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt;'</span>); <span class="comment">// Keep empty paragraphs</span>
+		h = h.replace(/&lt;p([^&gt;]*)&gt;\s*&amp;nbsp;\s*&lt;\/p&gt;/gi, <span class="literal">'&lt;p$1 mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt;'</span>); <span class="comment">// Keep empty paragraphs</span>
+		h = h.replace(/&lt;p([^&gt;]*)&gt;\s+&lt;\/p&gt;/gi, <span class="literal">'&lt;p$1 mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt;'</span>); <span class="comment">// Keep empty paragraphs</span>
+
+		<span class="comment">// Remove first comment</span>
+		e.innerHTML = tinyMCE.uniqueTag + h;
+		e.firstChild.removeNode(true);
+
+		<span class="comment">// Remove weird auto generated empty paragraphs unless it's supposed to be there</span>
+		nl = e.getElementsByTagName(<span class="literal">"p"</span>);
+		<span class="reserved">for</span> (i=nl.length-1; i&gt;=0; i--) {
+			n = nl[i];
+
+			<span class="reserved">if</span> (n.nodeName == <span class="literal">'P'</span> &amp;&amp; !n.hasChildNodes() &amp;&amp; !n.mce_keep)
+				n.parentNode.removeChild(n);
+		}
+	} <span class="reserved">else</span> {
+		h = <span class="reserved">this</span>.fixGeckoBaseHREFBug(1, e, h);
+		e.innerHTML = h;
+		<span class="reserved">this</span>.fixGeckoBaseHREFBug(2, e, h);
+	}
+};
+
+<span class="comment">/**
+ * Returns the outer HTML of a element, this uses the outerHTML
+ * property in MSIE and Opera and a workaround for Gecko.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} e HTML element to get outerHTML from.
+ * <span class="attrib">@return</span> HTML content string.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getOuterHTML = <span class="reserved">function</span>(e) {
+	<span class="reserved">if</span> (tinyMCE.isMSIE)
+		<span class="reserved">return</span> e.outerHTML;
+
+	var d = e.ownerDocument.createElement(<span class="literal">"body"</span>);
+	d.appendChild(e);
+	<span class="reserved">return</span> d.innerHTML;
+};
+
+<span class="comment">/**
+ * Sets the outer HTML of a element, this uses the outerHTML
+ * property in MSIE and Opera and a workaround for Gecko.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} e HTML element to set outerHTML on.
+ * <span class="attrib">@param</span> {string} h HTML string to set in property.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.setOuterHTML = <span class="reserved">function</span>(e, h) {
+	<span class="reserved">if</span> (tinyMCE.isMSIE) {
+		e.outerHTML = h;
+		<span class="reserved">return</span>;
+	}
+
+	var d = e.ownerDocument.createElement(<span class="literal">"body"</span>);
+	d.innerHTML = h;
+	e.parentNode.replaceChild(d.firstChild, e);
+};
+
+<span class="comment">/**
+ * Returns a element by id, this will also search the form names to match the id.
+ *
+ * <span class="attrib">@param</span> {string} id Id of element.
+ * <span class="attrib">@param</span> {DOMDocument} d Optional document.
+ * <span class="attrib">@return</span> HTML element that matches the id.
+ * <span class="attrib">@type</span> HTMLElement
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>._getElementById = <span class="reserved">function</span>(id, d) {
+	var e, i, j, f;
+
+	<span class="reserved">if</span> (typeof(d) == <span class="literal">"undefined"</span>)
+		d = document;
+
+	e = d.getElementById(id);
+	<span class="reserved">if</span> (!e) {
+		f = d.forms;
+
+		<span class="reserved">for</span> (i=0; i&lt;f.length; i++) {
+			<span class="reserved">for</span> (j=0; j&lt;f[i].elements.length; j++) {
+				<span class="reserved">if</span> (f[i].elements[j].name == id) {
+					e = f[i].elements[j];
+					break;
+				}
+			}
+		}
+	}
+
+	<span class="reserved">return</span> e;
+};
+
+<span class="comment">/**
+ * Returns a array of nodes selected retrived from the child nodes of the specified node.
+ *
+ * <span class="attrib">@param</span> {HTMLNode} n Node to get children from.
+ * <span class="attrib">@param</span> {Array} na Array to fill with children.
+ * <span class="attrib">@param</span> {int} t Node type to get.
+ * <span class="attrib">@param</span> {string} nn Node name of items to retrive.
+ * <span class="attrib">@return</span> Node array.
+ * <span class="attrib">@type</span> Array
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getNodeTree = <span class="reserved">function</span>(n, na, t, nn) {
+	var i;
+
+	<span class="reserved">if</span> (typeof(t) == <span class="literal">"undefined"</span> || n.nodeType == t &amp;&amp; (typeof(nn) == <span class="literal">"undefined"</span> || n.nodeName == nn))
+		na[na.length] = n;
+
+	<span class="reserved">if</span> (n.hasChildNodes()) {
+		<span class="reserved">for</span> (i=0; i&lt;n.childNodes.length; i++)
+			tinyMCE.getNodeTree(n.childNodes[i], na, t, nn);
+	}
+
+	<span class="reserved">return</span> na;
+};
+
+<span class="comment">/**
+ * Returns the parent element of the specified node based on the search criteria.
+ *
+ * <span class="attrib">@param</span> {HTMLNode} node Node to get parent element of.
+ * <span class="attrib">@param</span> {string} names Comma separated list of element names to get.
+ * <span class="attrib">@param</span> {string} attrib_name Optional attribute name to match.
+ * <span class="attrib">@param</span> {string} attrib_value Optional attribute value to match.
+ * <span class="attrib">@return</span> HTMLElement or null based on search criteras.
+ * <span class="attrib">@type</span> HTMLElement
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getParentElement = <span class="reserved">function</span>(node, names, attrib_name, attrib_value) {
+	<span class="reserved">if</span> (typeof(names) == <span class="literal">"undefined"</span>) {
+		<span class="reserved">if</span> (node.nodeType == 1)
+			<span class="reserved">return</span> node;
+
+		<span class="comment">// Find parent node that is a element</span>
+		<span class="reserved">while</span> ((node = node.parentNode) != null &amp;&amp; node.nodeType != 1) ;
+
+		<span class="reserved">return</span> node;
+	}
+
+	<span class="reserved">if</span> (node == null)
+		<span class="reserved">return</span> null;
+
+	var namesAr = names.toUpperCase().split(<span class="literal">','</span>);
+
+	do {
+		<span class="reserved">for</span> (var i=0; i&lt;namesAr.length; i++) {
+			<span class="reserved">if</span> (node.nodeName == namesAr[i] || names == <span class="literal">"*"</span>) {
+				<span class="reserved">if</span> (typeof(attrib_name) == <span class="literal">"undefined"</span>)
+					<span class="reserved">return</span> node;
+				<span class="reserved">else</span> <span class="reserved">if</span> (node.getAttribute(attrib_name)) {
+					<span class="reserved">if</span> (typeof(attrib_value) == <span class="literal">"undefined"</span>) {
+						<span class="reserved">if</span> (node.getAttribute(attrib_name) != <span class="literal">""</span>)
+							<span class="reserved">return</span> node;
+					} <span class="reserved">else</span> <span class="reserved">if</span> (node.getAttribute(attrib_name) == attrib_value)
+						<span class="reserved">return</span> node;
+				}
+			}
+		}
+	} <span class="reserved">while</span> ((node = node.parentNode) != null);
+
+	<span class="reserved">return</span> null;
+};
+
+<span class="comment">/**
+ * Returns a node by the specified selector function. This function will
+ * loop through all parent nodes and call the specified function for each node.
+ * If the function then returns true it will stop the execution and return that node.
+ *
+ * <span class="attrib">@param</span> {DOMNode} n HTML node to search parents on.
+ * <span class="attrib">@param</span> {function} f Selection function to execute on each node.
+ * <span class="attrib">@return</span> DOMNode or null if it wasn't found.
+ * <span class="attrib">@type</span> DOMNode
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getParentNode = <span class="reserved">function</span>(n, f) {
+	<span class="reserved">while</span> (n) {
+		<span class="reserved">if</span> (f(n))
+			<span class="reserved">return</span> n;
+
+		n = n.parentNode;
+	}
+
+	<span class="reserved">return</span> null;
+};
+
+<span class="comment">/**
+ * Returns the attribute value of a element or the default value if it wasn't found.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} elm HTML element to get attribute from.
+ * <span class="attrib">@param</span> {string} name Attribute name to retrive.
+ * <span class="attrib">@param</span> {string} default_value Optional default value to return, this value defaults to a empty string.
+ * <span class="attrib">@return</span> Attribute value or default value if it wasn't found in element.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getAttrib = <span class="reserved">function</span>(elm, name, default_value) {
+	<span class="reserved">if</span> (typeof(default_value) == <span class="literal">"undefined"</span>)
+		default_value = <span class="literal">""</span>;
+
+	<span class="comment">// Not a element</span>
+	<span class="reserved">if</span> (!elm || elm.nodeType != 1)
+		<span class="reserved">return</span> default_value;
+
+	var v = elm.getAttribute(name);
+
+	<span class="comment">// Try className for class attrib</span>
+	<span class="reserved">if</span> (name == <span class="literal">"class"</span> &amp;&amp; !v)
+		v = elm.className;
+
+	<span class="comment">// Workaround for a issue with Firefox 1.5rc2+</span>
+	<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; name == <span class="literal">"src"</span> &amp;&amp; elm.src != null &amp;&amp; elm.src != <span class="literal">""</span>)
+		v = elm.src;
+
+	<span class="comment">// Workaround for a issue with Firefox 1.5rc2+</span>
+	<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; name == <span class="literal">"href"</span> &amp;&amp; elm.href != null &amp;&amp; elm.href != <span class="literal">""</span>)
+		v = elm.href;
+
+	<span class="reserved">if</span> (name == <span class="literal">"http-equiv"</span> &amp;&amp; tinyMCE.isMSIE)
+		v = elm.httpEquiv;
+
+	<span class="reserved">if</span> (name == <span class="literal">"style"</span> &amp;&amp; !tinyMCE.isOpera)
+		v = elm.style.cssText;
+
+	<span class="reserved">return</span> (v &amp;&amp; v != <span class="literal">""</span>) ? v : default_value;
+};
+
+<span class="comment">/**
+ * Sets the attribute value for a specific attribute.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} element HTML element to set attribute on.
+ * <span class="attrib">@param</span> {string} name Attribute name to set.
+ * <span class="attrib">@param</span> {string} value Attribute value to set.
+ * <span class="attrib">@param</span> {boolean} fix_value Optional fix value state, if true only number data will be accepted.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.setAttrib = <span class="reserved">function</span>(element, name, value, fix_value) {
+	<span class="reserved">if</span> (typeof(value) == <span class="literal">"number"</span> &amp;&amp; value != null)
+		value = <span class="literal">""</span> + value;
+
+	<span class="reserved">if</span> (fix_value) {
+		<span class="reserved">if</span> (value == null)
+			value = <span class="literal">""</span>;
+
+		var re = new RegExp(<span class="literal">'[^0-9%]'</span>, <span class="literal">'g'</span>);
+		value = value.replace(re, <span class="literal">''</span>);
+	}
+
+	<span class="reserved">if</span> (name == <span class="literal">"style"</span>)
+		element.style.cssText = value;
+
+	<span class="reserved">if</span> (name == <span class="literal">"class"</span>)
+		element.className = value;
+
+	<span class="reserved">if</span> (value != null &amp;&amp; value != <span class="literal">""</span> &amp;&amp; value != -1)
+		element.setAttribute(name, value);
+	<span class="reserved">else</span>
+		element.removeAttribute(name);
+};
+
+<span class="comment">/**
+ * Sets a style attribute item value.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} elm HTML element to set style attribute item on.
+ * <span class="attrib">@param</span> {string} name Style item name to set.
+ * <span class="attrib">@param</span> {string} value Style item value to set.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.setStyleAttrib = <span class="reserved">function</span>(elm, name, value) {
+	eval(<span class="literal">'elm.style.'</span> + name + <span class="literal">'=value;'</span>);
+
+	<span class="comment">// Style attrib deleted</span>
+	<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; value == null || value == <span class="literal">''</span>) {
+		var str = tinyMCE.serializeStyle(tinyMCE.parseStyle(elm.style.cssText));
+		elm.style.cssText = str;
+		elm.setAttribute(<span class="literal">"style"</span>, str);
+	}
+};
+
+<span class="comment">/**
+ * Switches the CSS class of the specified element. This method also caches the
+ * elements in a lookup table for performance. This should only be used for TinyMCE main UI controls
+ * like buttons or select elements.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} ei Element to set CSS class on.
+ * <span class="attrib">@param</span> {string} c CSS class to set.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.switchClass = <span class="reserved">function</span>(ei, c) {
+	var e;
+
+	<span class="reserved">if</span> (tinyMCE.switchClassCache[ei])
+		e = tinyMCE.switchClassCache[ei];
+	<span class="reserved">else</span>
+		e = tinyMCE.switchClassCache[ei] = document.getElementById(ei);
+
+	<span class="reserved">if</span> (e) {
+		<span class="comment">// Keep tile mode</span>
+		<span class="reserved">if</span> (tinyMCE.settings.button_tile_map &amp;&amp; e.className &amp;&amp; e.className.indexOf(<span class="literal">'mceTiledButton'</span>) == 0)
+			c = <span class="literal">'mceTiledButton '</span> + c;
+
+		e.className = c;
+	}
+};
+
+<span class="comment">/**
+ * Returns the absolute x, y position of a node. The position will be returned in a object with
+ * two properties absLeft and absTop.
+ *
+ * <span class="attrib">@param</span> {HTMLNode} n HTML element to get x, y position from.
+ * <span class="attrib">@return</span> Absolute position of the specified element.
+ * <span class="attrib">@type</span> TinyMCE_ElementPosition
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.getAbsPosition = <span class="reserved">function</span>(n) {
+	var p = {absLeft : 0, absTop : 0};
+
+	<span class="reserved">while</span> (n) {
+		p.absLeft += n.offsetLeft;
+		p.absTop += n.offsetTop;
+		n = n.offsetParent;
+	}
+
+	<span class="reserved">return</span> p;
+};
+
+<span class="comment">/**
+ * Finds any previous element by name. This will loop through the siblings
+ * inorder to find the specified element by name. If the element wasn't found
+ * it will return a null value. 
+ *
+ * <span class="attrib">@param</span> {HTMLNode} e HTML node to search from.
+ * <span class="attrib">@param</span> {string} n Comma separated list of element names to search for.
+ * <span class="attrib">@return</span> HTML Element or null if it wasn't found.
+ * <span class="attrib">@type</span> HTMLElement 
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.prevNode = <span class="reserved">function</span>(e, n) {
+	var a = n.split(<span class="literal">','</span>), i;
+
+	<span class="reserved">while</span> ((e = e.previousSibling) != null) {
+		<span class="reserved">for</span> (i=0; i&lt;a.length; i++) {
+			<span class="reserved">if</span> (e.nodeName == a[i])
+				<span class="reserved">return</span> e;
+		}
+	}
+
+	<span class="reserved">return</span> null;
+};
+
+<span class="comment">/**
+ * Finds any element after the current one by name. This will loop through the siblings
+ * inorder to find the specified element by name. If the element wasn't found
+ * it will return a null value. 
+ *
+ * <span class="attrib">@param</span> {HTMLNode} e HTML node to search from.
+ * <span class="attrib">@param</span> {string} n Comma separated list of element names to search for.
+ * <span class="attrib">@return</span> HTML Element or null if it wasn't found.
+ * <span class="attrib">@type</span> HTMLElement 
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.nextNode = <span class="reserved">function</span>(e, n) {
+	var a = n.split(<span class="literal">','</span>), i;
+
+	<span class="reserved">while</span> ((e = e.nextSibling) != null) {
+		<span class="reserved">for</span> (i=0; i&lt;a.length; i++) {
+			<span class="reserved">if</span> (e.nodeName == a[i])
+				<span class="reserved">return</span> e;
+		}
+	}
+
+	<span class="reserved">return</span> null;
+};
+
+<span class="comment">/**
+ * Returns a array of nodes when the specified function matches a node.
+ *
+ * <span class="attrib">@param</span> {DOMNode} n Node to select children from.
+ * <span class="attrib">@param</span> {function} f Function that returns true/false if the node is to be added or not.
+ * <span class="attrib">@param</span> {Array} a Optional array to fill with nodes.
+ * <span class="attrib">@return</span> Array with selected nodes.
+ * <span class="attrib">@type</span> Array
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.selectNodes = <span class="reserved">function</span>(n, f, a) {
+	var i;
+
+	<span class="reserved">if</span> (!a)
+		a = new Array();
+
+	<span class="reserved">if</span> (f(n))
+		a[a.length] = n;
+
+	<span class="reserved">if</span> (n.hasChildNodes()) {
+		<span class="reserved">for</span> (i=0; i&lt;n.childNodes.length; i++)
+			tinyMCE.selectNodes(n.childNodes[i], f, a);
+	}
+
+	<span class="reserved">return</span> a;
+};
+
+<span class="comment">/**
+ * Adds a CSS class to the specified element. It will remove any previous item with the same name
+ * so adding a class that already exists will move it to the end.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} e HTML element to add CSS class to.
+ * <span class="attrib">@param</span> {string] c CSS class to add to HTML element.
+ * <span class="attrib">@param</span> {boolean] b Optional parameter, if set to true, class will be added to the beginning.
+ * <span class="attrib">@return</span> Returns the new class attribute value.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.addCSSClass = <span class="reserved">function</span>(e, c, b) {
+	var o = <span class="reserved">this</span>.removeCSSClass(e, c);
+
+	<span class="reserved">return</span> e.className = b ? c + (o != <span class="literal">''</span> ? (<span class="literal">' '</span> + o) : <span class="literal">''</span>) : (o != <span class="literal">''</span> ? (o + <span class="literal">' '</span>) : <span class="literal">''</span>) + c;
+};
+
+<span class="comment">/**
+ * Removes the specified CSS class from the element.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} e HTML element to remove CSS class to.
+ * <span class="attrib">@param</span> {string] c CSS class to remove to HTML element.
+ * <span class="attrib">@return</span> Returns the new class attribute value.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.removeCSSClass = <span class="reserved">function</span>(e, c) {
+	var a = <span class="reserved">this</span>.explode(<span class="literal">' '</span>, e.className), i;
+
+	<span class="reserved">for</span> (i=0; i&lt;a.length; i++) {
+		<span class="reserved">if</span> (a[i] == c)
+			a[i] = <span class="literal">''</span>;
+	}
+
+	<span class="reserved">return</span> e.className = a.join(<span class="literal">' '</span>);
+};
+
+<span class="comment">/**
+ * Renames the specified element to the specified name.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} e Element to rename.
+ * <span class="attrib">@param</span> {string} n New name of the element.
+ * <span class="attrib">@param</span> {DOMDocument} d Optional document reference.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.renameElement = <span class="reserved">function</span>(e, n, d) {
+	var ne, i, ar;
+
+	d = typeof(d) == <span class="literal">"undefined"</span> ? tinyMCE.selectedInstance.getDoc() : d;
+
+	<span class="reserved">if</span> (e) {
+		ne = d.createElement(n);
+
+		ar = e.attributes;
+		<span class="reserved">for</span> (i=ar.length-1; i&gt;-1; i--) {
+			<span class="reserved">if</span> (ar[i].specified &amp;&amp; ar[i].nodeValue)
+				ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue);
+		}
+
+		ar = e.childNodes;
+		<span class="reserved">for</span> (i=0; i&lt;ar.length; i++)
+			ne.appendChild(ar[i].cloneNode(true));
+
+		e.parentNode.replaceChild(ne, e);
+	}
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Engine.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Engine.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Engine.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Engine.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,2890 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Engine.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Engine.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Engine.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TinyMCE_Engine.html">TinyMCE_Engine</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Engine.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:29 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */</span>
+
+<span class="comment">/**
+ * Core engine class for TinyMCE, a instance of this class is available as a global called tinyMCE.
+ *
+ * <span class="attrib">@constructor</span>
+ */</span>
+<span class="reserved">function</span> TinyMCE_Engine() {
+	<span class="reserved">this</span>.majorVersion = <span class="literal">"2"</span>;
+	<span class="reserved">this</span>.minorVersion = <span class="literal">"0.6"</span>;
+	<span class="reserved">this</span>.releaseDate = <span class="literal">"2006-xx-xx"</span>;
+
+	<span class="reserved">this</span>.instances = new Array();
+	<span class="reserved">this</span>.switchClassCache = new Array();
+	<span class="reserved">this</span>.windowArgs = new Array();
+	<span class="reserved">this</span>.loadedFiles = new Array();
+	<span class="reserved">this</span>.configs = new Array();
+	<span class="reserved">this</span>.currentConfig = 0;
+	<span class="reserved">this</span>.eventHandlers = new Array();
+
+	<span class="comment">// Browser check</span>
+	var ua = navigator.userAgent;
+	<span class="reserved">this</span>.isMSIE = (navigator.appName == <span class="literal">"Microsoft Internet Explorer"</span>);
+	<span class="reserved">this</span>.isMSIE5 = <span class="reserved">this</span>.isMSIE &amp;&amp; (ua.indexOf(<span class="literal">'MSIE 5'</span>) != -1);
+	<span class="reserved">this</span>.isMSIE5_0 = <span class="reserved">this</span>.isMSIE &amp;&amp; (ua.indexOf(<span class="literal">'MSIE 5.0'</span>) != -1);
+	<span class="reserved">this</span>.isGecko = ua.indexOf(<span class="literal">'Gecko'</span>) != -1;
+	<span class="reserved">this</span>.isSafari = ua.indexOf(<span class="literal">'Safari'</span>) != -1;
+	<span class="reserved">this</span>.isOpera = ua.indexOf(<span class="literal">'Opera'</span>) != -1;
+	<span class="reserved">this</span>.isMac = ua.indexOf(<span class="literal">'Mac'</span>) != -1;
+	<span class="reserved">this</span>.isNS7 = ua.indexOf(<span class="literal">'Netscape/7'</span>) != -1;
+	<span class="reserved">this</span>.isNS71 = ua.indexOf(<span class="literal">'Netscape/7.1'</span>) != -1;
+	<span class="reserved">this</span>.dialogCounter = 0;
+	<span class="reserved">this</span>.plugins = new Array();
+	<span class="reserved">this</span>.themes = new Array();
+	<span class="reserved">this</span>.menus = new Array();
+	<span class="reserved">this</span>.loadedPlugins = new Array();
+	<span class="reserved">this</span>.buttonMap = new Array();
+	<span class="reserved">this</span>.isLoaded = false;
+
+	<span class="comment">// Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those</span>
+	<span class="reserved">if</span> (<span class="reserved">this</span>.isOpera) {
+		<span class="reserved">this</span>.isMSIE = true;
+		<span class="reserved">this</span>.isGecko = false;
+		<span class="reserved">this</span>.isSafari =  false;
+	}
+
+	<span class="comment">// TinyMCE editor id instance counter</span>
+	<span class="reserved">this</span>.idCounter = 0;
+};
+
+TinyMCE_Engine.<span class="reserved">prototype</span> = {
+	<span class="comment">/**
+	 * Initializes TinyMCE with the specific configuration settings. This method
+	 * may be called multiple times when multiple instances with diffrent settings is to be created.
+	 *
+	 * <span class="attrib">@param</span> {Array} Name/Value array of initialization settings.
+	 */</span>
+	init : <span class="reserved">function</span>(settings) {
+		var theme;
+
+		<span class="reserved">this</span>.settings = settings;
+
+		<span class="comment">// Check if valid browser has execcommand support</span>
+		<span class="reserved">if</span> (typeof(document.execCommand) == <span class="literal">'undefined'</span>)
+			<span class="reserved">return</span>;
+
+		<span class="comment">// Get script base path</span>
+		<span class="reserved">if</span> (!tinyMCE.baseURL) {
+			var elements = document.getElementsByTagName(<span class="literal">'script'</span>);
+
+			<span class="reserved">for</span> (var i=0; i&lt;elements.length; i++) {
+				<span class="reserved">if</span> (elements[i].src &amp;&amp; (elements[i].src.indexOf(<span class="literal">"tiny_mce.js"</span>) != -1 || elements[i].src.indexOf(<span class="literal">"tiny_mce_dev.js"</span>) != -1 || elements[i].src.indexOf(<span class="literal">"tiny_mce_src.js"</span>) != -1 || elements[i].src.indexOf(<span class="literal">"tiny_mce_gzip"</span>) != -1)) {
+					var src = elements[i].src;
+
+					tinyMCE.srcMode = (src.indexOf(<span class="literal">'_src'</span>) != -1 || src.indexOf(<span class="literal">'_dev'</span>) != -1) ? <span class="literal">'_src'</span> : <span class="literal">''</span>;
+					tinyMCE.gzipMode = src.indexOf(<span class="literal">'_gzip'</span>) != -1;
+					src = src.substring(0, src.lastIndexOf(<span class="literal">'/'</span>));
+
+					<span class="reserved">if</span> (settings.exec_mode == <span class="literal">"src"</span> || settings.exec_mode == <span class="literal">"normal"</span>)
+						tinyMCE.srcMode = settings.exec_mode == <span class="literal">"src"</span> ? <span class="literal">'_src'</span> : <span class="literal">''</span>;
+
+					tinyMCE.baseURL = src;
+					break;
+				}
+			}
+		}
+
+		<span class="comment">// Get document base path</span>
+		<span class="reserved">this</span>.documentBasePath = document.location.href;
+		<span class="reserved">if</span> (<span class="reserved">this</span>.documentBasePath.indexOf(<span class="literal">'?'</span>) != -1)
+			<span class="reserved">this</span>.documentBasePath = <span class="reserved">this</span>.documentBasePath.substring(0, <span class="reserved">this</span>.documentBasePath.indexOf(<span class="literal">'?'</span>));
+		<span class="reserved">this</span>.documentURL = <span class="reserved">this</span>.documentBasePath;
+		<span class="reserved">this</span>.documentBasePath = <span class="reserved">this</span>.documentBasePath.substring(0, <span class="reserved">this</span>.documentBasePath.lastIndexOf(<span class="literal">'/'</span>));
+
+		<span class="comment">// If not HTTP absolute</span>
+		<span class="reserved">if</span> (tinyMCE.baseURL.indexOf(<span class="literal">'://'</span>) == -1 &amp;&amp; tinyMCE.baseURL.charAt(0) != <span class="literal">'/'</span>) {
+			<span class="comment">// If site absolute</span>
+			tinyMCE.baseURL = <span class="reserved">this</span>.documentBasePath + <span class="literal">"/"</span> + tinyMCE.baseURL;
+		}
+
+		<span class="comment">// Set default values on settings</span>
+		<span class="reserved">this</span>._def(<span class="literal">"mode"</span>, <span class="literal">"none"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"theme"</span>, <span class="literal">"advanced"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"plugins"</span>, <span class="literal">""</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"language"</span>, <span class="literal">"en"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"docs_language"</span>, <span class="reserved">this</span>.settings[<span class="literal">'language'</span>]);
+		<span class="reserved">this</span>._def(<span class="literal">"elements"</span>, <span class="literal">""</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"textarea_trigger"</span>, <span class="literal">"mce_editable"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"editor_selector"</span>, <span class="literal">""</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"editor_deselector"</span>, <span class="literal">"mceNoEditor"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"valid_elements"</span>, <span class="literal">"+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang]"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"extended_valid_elements"</span>, <span class="literal">""</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"invalid_elements"</span>, <span class="literal">""</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"encoding"</span>, <span class="literal">""</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"urlconverter_callback"</span>, tinyMCE.getParam(<span class="literal">"urlconvertor_callback"</span>, <span class="literal">"TinyMCE_Engine.prototype.convertURL"</span>));
+		<span class="reserved">this</span>._def(<span class="literal">"save_callback"</span>, <span class="literal">""</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"debug"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"force_br_newlines"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"force_p_newlines"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"add_form_submit_trigger"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"relative_urls"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"remove_script_host"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"focus_alert"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"document_base_url"</span>, <span class="reserved">this</span>.documentURL);
+		<span class="reserved">this</span>._def(<span class="literal">"visual"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"visual_table_class"</span>, <span class="literal">"mceVisualAid"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"setupcontent_callback"</span>, <span class="literal">""</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"fix_content_duplication"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"custom_undo_redo"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"custom_undo_redo_levels"</span>, -1);
+		<span class="reserved">this</span>._def(<span class="literal">"custom_undo_redo_keyboard_shortcuts"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"custom_undo_redo_restore_selection"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"verify_html"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"apply_source_formatting"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"directionality"</span>, <span class="literal">"ltr"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"cleanup_on_startup"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"inline_styles"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"convert_newlines_to_brs"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"auto_reset_designmode"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"entities"</span>, <span class="literal">"39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"entity_encoding"</span>, <span class="literal">"named"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"cleanup_callback"</span>, <span class="literal">""</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"add_unload_trigger"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"ask"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"nowrap"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"auto_resize"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"auto_focus"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"cleanup"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"remove_linebreaks"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"button_tile_map"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"submit_patch"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"browsers"</span>, <span class="literal">"msie,safari,gecko,opera"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"dialog_type"</span>, <span class="literal">"window"</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"accessibility_warnings"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"accessibility_focus"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"merge_styles_invalid_parents"</span>, <span class="literal">""</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"force_hex_style_colors"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"trim_span_elements"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"convert_fonts_to_spans"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"doctype"</span>, <span class="literal">'&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;'</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"font_size_classes"</span>, <span class="literal">''</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"font_size_style_values"</span>, <span class="literal">'xx-small,x-small,small,medium,large,x-large,xx-large'</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"event_elements"</span>, <span class="literal">'a,img'</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"convert_urls"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"table_inline_editing"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"object_resizing"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"custom_shortcuts"</span>, true);
+		<span class="reserved">this</span>._def(<span class="literal">"convert_on_click"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"content_css"</span>, <span class="literal">''</span>);
+		<span class="reserved">this</span>._def(<span class="literal">"fix_list_elements"</span>, false);
+		<span class="reserved">this</span>._def(<span class="literal">"fix_table_elements"</span>, false);
+
+		<span class="comment">// Browser check IE</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE &amp;&amp; <span class="reserved">this</span>.settings[<span class="literal">'browsers'</span>].indexOf(<span class="literal">'msie'</span>) == -1)
+			<span class="reserved">return</span>;
+
+		<span class="comment">// Browser check Gecko</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isGecko &amp;&amp; <span class="reserved">this</span>.settings[<span class="literal">'browsers'</span>].indexOf(<span class="literal">'gecko'</span>) == -1)
+			<span class="reserved">return</span>;
+
+		<span class="comment">// Browser check Safari</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isSafari &amp;&amp; <span class="reserved">this</span>.settings[<span class="literal">'browsers'</span>].indexOf(<span class="literal">'safari'</span>) == -1)
+			<span class="reserved">return</span>;
+
+		<span class="comment">// Browser check Opera</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.isOpera &amp;&amp; <span class="reserved">this</span>.settings[<span class="literal">'browsers'</span>].indexOf(<span class="literal">'opera'</span>) == -1)
+			<span class="reserved">return</span>;
+
+		<span class="comment">// If not super absolute make it so</span>
+		var baseHREF = tinyMCE.settings[<span class="literal">'document_base_url'</span>];
+		var h = document.location.href;
+		var p = h.indexOf(<span class="literal">'://'</span>);
+		<span class="reserved">if</span> (p &gt; 0 &amp;&amp; document.location.protocol != <span class="literal">"file:"</span>) {
+			p = h.indexOf(<span class="literal">'/'</span>, p + 3);
+			h = h.substring(0, p);
+
+			<span class="reserved">if</span> (baseHREF.indexOf(<span class="literal">'://'</span>) == -1)
+				baseHREF = h + baseHREF;
+
+			tinyMCE.settings[<span class="literal">'document_base_url'</span>] = baseHREF;
+			tinyMCE.settings[<span class="literal">'document_base_prefix'</span>] = h;
+		}
+
+		<span class="comment">// Trim away query part</span>
+		<span class="reserved">if</span> (baseHREF.indexOf(<span class="literal">'?'</span>) != -1)
+			baseHREF = baseHREF.substring(0, baseHREF.indexOf(<span class="literal">'?'</span>));
+
+		<span class="reserved">this</span>.settings[<span class="literal">'base_href'</span>] = baseHREF.substring(0, baseHREF.lastIndexOf(<span class="literal">'/'</span>)) + <span class="literal">"/"</span>;
+
+		theme = <span class="reserved">this</span>.settings[<span class="literal">'theme'</span>];
+		<span class="reserved">this</span>.blockRegExp = new RegExp(<span class="literal">"^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|blockquote|center|dl|dt|dd|dir|fieldset|form|noscript|noframes|menu|isindex|samp)$"</span>, <span class="literal">"i"</span>);
+		<span class="reserved">this</span>.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40);
+		<span class="reserved">this</span>.uniqueURL = <span class="literal">'javascript:TINYMCE_UNIQUEURL();'</span>; <span class="comment">// Make unique URL non real URL</span>
+		<span class="reserved">this</span>.uniqueTag = <span class="literal">'&lt;div id="mceTMPElement" style="display: none"&gt;TMP&lt;/div&gt;'</span>;
+		<span class="reserved">this</span>.callbacks = new Array(<span class="literal">'onInit'</span>, <span class="literal">'getInfo'</span>, <span class="literal">'getEditorTemplate'</span>, <span class="literal">'setupContent'</span>, <span class="literal">'onChange'</span>, <span class="literal">'onPageLoad'</span>, <span class="literal">'handleNodeChange'</span>, <span class="literal">'initInstance'</span>, <span class="literal">'execCommand'</span>, <span class="literal">'getControlHTML'</span>, <span class="literal">'handleEvent'</span>, <span class="literal">'cleanup'</span>);
+
+		<span class="comment">// Theme url</span>
+		<span class="reserved">this</span>.settings[<span class="literal">'theme_href'</span>] = tinyMCE.baseURL + <span class="literal">"/themes/"</span> + theme;
+
+		<span class="reserved">if</span> (!tinyMCE.isMSIE)
+			<span class="reserved">this</span>.settings[<span class="literal">'force_br_newlines'</span>] = false;
+
+		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"popups_css"</span>, false)) {
+			var cssPath = tinyMCE.getParam(<span class="literal">"popups_css"</span>, <span class="literal">""</span>);
+
+			<span class="comment">// Is relative</span>
+			<span class="reserved">if</span> (cssPath.indexOf(<span class="literal">'://'</span>) == -1 &amp;&amp; cssPath.charAt(0) != <span class="literal">'/'</span>)
+				<span class="reserved">this</span>.settings[<span class="literal">'popups_css'</span>] = <span class="reserved">this</span>.documentBasePath + <span class="literal">"/"</span> + cssPath;
+			<span class="reserved">else</span>
+				<span class="reserved">this</span>.settings[<span class="literal">'popups_css'</span>] = cssPath;
+		} <span class="reserved">else</span>
+			<span class="reserved">this</span>.settings[<span class="literal">'popups_css'</span>] = tinyMCE.baseURL + <span class="literal">"/themes/"</span> + theme + <span class="literal">"/css/editor_popup.css"</span>;
+
+		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"editor_css"</span>, false)) {
+			var cssPath = tinyMCE.getParam(<span class="literal">"editor_css"</span>, <span class="literal">""</span>);
+
+			<span class="comment">// Is relative</span>
+			<span class="reserved">if</span> (cssPath.indexOf(<span class="literal">'://'</span>) == -1 &amp;&amp; cssPath.charAt(0) != <span class="literal">'/'</span>)
+				<span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>] = <span class="reserved">this</span>.documentBasePath + <span class="literal">"/"</span> + cssPath;
+			<span class="reserved">else</span>
+				<span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>] = cssPath;
+		} <span class="reserved">else</span>
+			<span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>] = tinyMCE.baseURL + <span class="literal">"/themes/"</span> + theme + <span class="literal">"/css/editor_ui.css"</span>;
+
+		<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'debug'</span>]) {
+			var msg = <span class="literal">"Debug: \n"</span>;
+
+			msg += <span class="literal">"baseURL: "</span> + <span class="reserved">this</span>.baseURL + <span class="literal">"\n"</span>;
+			msg += <span class="literal">"documentBasePath: "</span> + <span class="reserved">this</span>.documentBasePath + <span class="literal">"\n"</span>;
+			msg += <span class="literal">"content_css: "</span> + <span class="reserved">this</span>.settings[<span class="literal">'content_css'</span>] + <span class="literal">"\n"</span>;
+			msg += <span class="literal">"popups_css: "</span> + <span class="reserved">this</span>.settings[<span class="literal">'popups_css'</span>] + <span class="literal">"\n"</span>;
+			msg += <span class="literal">"editor_css: "</span> + <span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>] + <span class="literal">"\n"</span>;
+
+			alert(msg);
+		}
+
+		<span class="comment">// Only do this once</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.configs.length == 0) {
+			<span class="comment">// Is Safari enabled</span>
+			<span class="reserved">if</span> (<span class="reserved">this</span>.isSafari &amp;&amp; <span class="reserved">this</span>.getParam(<span class="literal">'safari_warning'</span>, false))
+				alert(<span class="literal">"Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.\nYou can disable this message by setting: safari_warning option to false"</span>);
+
+			<span class="reserved">if</span> (typeof(TinyMCECompressed) == <span class="literal">"undefined"</span>) {
+				tinyMCE.addEvent(window, <span class="literal">"DOMContentLoaded"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.onLoad);
+
+				<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera) {
+					<span class="reserved">if</span> (document.body)
+						tinyMCE.addEvent(document.body, <span class="literal">"readystatechange"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.onLoad);
+					<span class="reserved">else</span>
+						tinyMCE.addEvent(document, <span class="literal">"readystatechange"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.onLoad);
+				}
+
+				tinyMCE.addEvent(window, <span class="literal">"load"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.onLoad);
+				tinyMCE._addUnloadEvents();
+			}
+		}
+
+		<span class="reserved">this</span>.loadScript(tinyMCE.baseURL + <span class="literal">'/themes/'</span> + <span class="reserved">this</span>.settings[<span class="literal">'theme'</span>] + <span class="literal">'/editor_template'</span> + tinyMCE.srcMode + <span class="literal">'.js'</span>);
+		<span class="reserved">this</span>.loadScript(tinyMCE.baseURL + <span class="literal">'/langs/'</span> + <span class="reserved">this</span>.settings[<span class="literal">'language'</span>] +  <span class="literal">'.js'</span>);
+		<span class="reserved">this</span>.loadCSS(<span class="reserved">this</span>.settings[<span class="literal">'editor_css'</span>]);
+
+		<span class="comment">// Add plugins</span>
+		var p = tinyMCE.getParam(<span class="literal">'plugins'</span>, <span class="literal">''</span>, true, <span class="literal">','</span>);
+		<span class="reserved">if</span> (p.length &gt; 0) {
+			<span class="reserved">for</span> (var i=0; i&lt;p.length; i++) {
+				<span class="reserved">if</span> (p[i].charAt(0) != <span class="literal">'-'</span>)
+					<span class="reserved">this</span>.loadScript(tinyMCE.baseURL + <span class="literal">'/plugins/'</span> + p[i] + <span class="literal">'/editor_plugin'</span> + tinyMCE.srcMode + <span class="literal">'.js'</span>);
+			}
+		}
+
+		<span class="comment">// Setup entities</span>
+		settings[<span class="literal">'cleanup_entities'</span>] = new Array();
+		var entities = tinyMCE.getParam(<span class="literal">'entities'</span>, <span class="literal">''</span>, true, <span class="literal">','</span>);
+		<span class="reserved">for</span> (var i=0; i&lt;entities.length; i+=2)
+			settings[<span class="literal">'cleanup_entities'</span>][<span class="literal">'c'</span> + entities[i]] = entities[i+1];
+
+		<span class="comment">// Save away this config</span>
+		settings[<span class="literal">'index'</span>] = <span class="reserved">this</span>.configs.length;
+		<span class="reserved">this</span>.configs[<span class="reserved">this</span>.configs.length] = settings;
+	},
+
+	<span class="comment">/**
+	 * Adds unload event handles to execute triggerSave.
+	 *
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_addUnloadEvents : <span class="reserved">function</span>() {
+		<span class="reserved">if</span> (tinyMCE.isMSIE) {
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'add_unload_trigger'</span>]) {
+				tinyMCE.addEvent(window, <span class="literal">"unload"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.unloadHandler);
+				tinyMCE.addEvent(window.document, <span class="literal">"beforeunload"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.unloadHandler);
+			}
+		} <span class="reserved">else</span> {
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'add_unload_trigger'</span>])
+				tinyMCE.addEvent(window, <span class="literal">"unload"</span>, <span class="reserved">function</span> () {tinyMCE.triggerSave(true, true);});
+		}
+	},
+
+	<span class="comment">/**
+	 * Assigns a default value for a specific config parameter.
+	 *
+	 * <span class="attrib">@param</span> {string} key Settings key to add default value to.
+	 * <span class="attrib">@param</span> {object} def_val Default value to assign if the settings option isn't defined.
+	 * <span class="attrib">@param</span> {boolean} t Trim all white space, if true all whitespace will be removed from option value.
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_def : <span class="reserved">function</span>(key, def_val, t) {
+		var v = tinyMCE.getParam(key, def_val);
+
+		v = t ? v.replace(/\s+/g,<span class="literal">""</span>) : v;
+
+		<span class="reserved">this</span>.settings[key] = v;
+	},
+
+	<span class="comment">/**
+	 * Returns true/false if the specified plugin is loaded or not.
+	 *
+	 * <span class="attrib">@param</span> {string} n Plugin name to look for.
+	 * <span class="attrib">@return</span> true/false if the specified plugin is loaded or not.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	hasPlugin : <span class="reserved">function</span>(n) {
+		<span class="reserved">return</span> typeof(<span class="reserved">this</span>.plugins[n]) != <span class="literal">"undefined"</span> &amp;&amp; <span class="reserved">this</span>.plugins[n] != null;
+	},
+
+	<span class="comment">/**
+	 * Adds the specified plugin to the list of loaded plugins, this will also setup the baseURL
+	 * property of the plugin.
+	 *
+	 * <span class="attrib">@param</span> {string} Plugin name/id.
+	 * <span class="attrib">@param</span> {TinyMCE_Plugin} p Plugin instance to add.
+	 */</span>
+	addPlugin : <span class="reserved">function</span>(n, p) {
+		var op = <span class="reserved">this</span>.plugins[n];
+
+		<span class="comment">// Use the previous plugin object base URL used when loading external plugins</span>
+		p.baseURL = op ? op.baseURL : tinyMCE.baseURL + <span class="literal">"/plugins/"</span> + n;
+		<span class="reserved">this</span>.plugins[n] = p;
+	},
+
+	<span class="comment">/**
+	 * Sets the baseURL of the specified plugin, this is useful if the plugin is loaded from
+	 * a external location.
+	 *
+	 * <span class="attrib">@param</span> {string} n Plugin name/id to set base URL on. This have to be added before.
+	 * <span class="attrib">@param</span> {string} u Base URL of plugin, this string should be the URL prefix for the plugin without a trailing slash.
+	 */</span>
+	setPluginBaseURL : <span class="reserved">function</span>(n, u) {
+		var op = <span class="reserved">this</span>.plugins[n];
+
+		<span class="reserved">if</span> (op)
+			op.baseURL = u;
+		<span class="reserved">else</span>
+			<span class="reserved">this</span>.plugins[n] = {baseURL : u};
+	},
+
+	<span class="comment">/**
+	 * Load plugin from external URL.
+	 *
+	 * <span class="attrib">@param</span> {string} n Plugin name for example \"emotions\".
+	 * <span class="attrib">@param</span> {string} u URL of plugin directory to load.
+	 */</span>
+	loadPlugin : <span class="reserved">function</span>(n, u) {
+		u = u.indexOf(<span class="literal">'.js'</span>) != -1 ? u.substring(0, u.lastIndexOf(<span class="literal">'/'</span>)) : u;
+		u = u.charAt(u.length-1) == <span class="literal">'/'</span> ? u.substring(0, u.length-1) : u;
+		<span class="reserved">this</span>.plugins[n] = {baseURL : u};
+		<span class="reserved">this</span>.loadScript(u + <span class="literal">"/editor_plugin"</span> + (tinyMCE.srcMode ? <span class="literal">'_src'</span> : <span class="literal">''</span>) + <span class="literal">".js"</span>);
+	},
+
+	<span class="comment">/**
+	 * Returns true/false if the specified theme is loaded or not.
+	 *
+	 * <span class="attrib">@param</span> {string} n Theme name/id to check for.
+	 * <span class="attrib">@return</span> true/false if the specified theme is loaded or not.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	hasTheme : <span class="reserved">function</span>(n) {
+		<span class="reserved">return</span> typeof(<span class="reserved">this</span>.themes[n]) != <span class="literal">"undefined"</span> &amp;&amp; <span class="reserved">this</span>.themes[n] != null;
+	},
+
+	<span class="comment">/**
+	 * Adds the specified theme in to the list of loaded themes.
+	 *
+	 * <span class="attrib">@param</span> {string} n Theme name/id to add the object reference to.
+	 * <span class="attrib">@param</span> {TinyMCE_Theme} t Theme instance to add to the loaded list.
+	 */</span>
+	addTheme : <span class="reserved">function</span>(n, t) {
+		<span class="reserved">this</span>.themes[n] = t;
+	},
+
+	<span class="comment">/**
+	 * Adds a floating menu instance to TinyMCE.
+	 *
+	 * <span class="attrib">@param</span> {string} n TinyMCE menu id.
+	 * <span class="attrib">@param</span> {TinyMCE_Menu} m TinyMCE menu instance.
+	 */</span>
+	addMenu : <span class="reserved">function</span>(n, m) {
+		<span class="reserved">this</span>.menus[n] = m;
+	},
+
+	<span class="comment">/**
+	 * Checks if the specified menu by name is added to TinyMCE.
+	 *
+	 * <span class="attrib">@param</span> {string} n TinyMCE menu id.
+	 * <span class="attrib">@return</span> true/false if it exists or not.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	hasMenu : <span class="reserved">function</span>(n) {
+		<span class="reserved">return</span> typeof(<span class="reserved">this</span>.plugins[n]) != <span class="literal">"undefined"</span> &amp;&amp; <span class="reserved">this</span>.plugins[n] != null;
+	},
+
+	<span class="comment">/**
+	 * Loads the specified script by writing the a script tag to the current page.
+	 * This will also check if the file has been loaded before. This function should only be used
+	 * when the page is loading.
+	 *
+	 * <span class="attrib">@param</span> {string} url Script URL to load.
+	 */</span>
+	loadScript : <span class="reserved">function</span>(url) {
+		<span class="reserved">for</span> (var i=0; i&lt;<span class="reserved">this</span>.loadedFiles.length; i++) {
+			<span class="reserved">if</span> (<span class="reserved">this</span>.loadedFiles[i] == url)
+				<span class="reserved">return</span>;
+		}
+
+		document.write(<span class="literal">'&lt;sc'</span>+<span class="literal">'ript language="javascript" type="text/javascript" src="'</span> + url + <span class="literal">'"&gt;&lt;/script&gt;'</span>);
+
+		<span class="reserved">this</span>.loadedFiles[<span class="reserved">this</span>.loadedFiles.length] = url;
+	},
+
+	<span class="comment">/**
+	 * Loads the specified CSS by writing the a link tag to the current page.
+	 * This will also check if the file has been loaded before. This function should only be used
+	 * when the page is loading.
+	 *
+	 * <span class="attrib">@param</span> {string} url CSS file URL to load or comma separated list of files.
+	 */</span>
+	loadCSS : <span class="reserved">function</span>(url) {
+		var ar = url.replace(/\s+/, <span class="literal">''</span>).split(<span class="literal">','</span>);
+		var lflen = 0, csslen = 0;
+		var skip = false;
+		var x = 0, i = 0;
+
+		<span class="reserved">for</span> (x = 0,csslen = ar.length; x&lt;csslen; x++) {
+			ignore_css = false;
+
+			<span class="reserved">if</span> (ar[x] != null &amp;&amp; ar[x] != <span class="literal">'null'</span> &amp;&amp; ar[x].length &gt; 0) {
+				<span class="comment">/* Make sure it doesn't exist. */</span>
+				<span class="reserved">for</span> (i=0, lflen=<span class="reserved">this</span>.loadedFiles.length; i&lt;lflen; i++) {
+					<span class="reserved">if</span> (<span class="reserved">this</span>.loadedFiles[i] == ar[x]) {
+						skip = true;
+						break;
+					}
+				}
+
+				<span class="reserved">if</span> (!skip) {
+					document.write(<span class="literal">'&lt;link href="'</span> + ar[x] + <span class="literal">'" rel="stylesheet" type="text/css" /&gt;'</span>);
+					<span class="reserved">this</span>.loadedFiles[<span class="reserved">this</span>.loadedFiles.length] = ar[x];
+				}
+			}
+		}
+	},
+
+	<span class="comment">/**
+	 * Imports a CSS file into a allready loaded document. This will add a link element
+	 * to the head element of the document.
+	 *
+	 * <span class="attrib">@param</span> {DOMDocument} doc DOM Document to load CSS into.
+	 * <span class="attrib">@param</span> {string} css CSS File URL to load or comma separated list of files.
+	 */</span>
+	importCSS : <span class="reserved">function</span>(doc, css) {
+		var css_ary = css.replace(/\s+/, <span class="literal">''</span>).split(<span class="literal">','</span>);
+		var csslen, elm, headArr, x, css_file;
+
+		<span class="reserved">for</span> (x = 0, csslen = css_ary.length; x&lt;csslen; x++) {
+			css_file = css_ary[x];
+
+			<span class="reserved">if</span> (css_file != null &amp;&amp; css_file != <span class="literal">'null'</span> &amp;&amp; css_file.length &gt; 0) {
+				<span class="comment">// Is relative, make absolute</span>
+				<span class="reserved">if</span> (css_file.indexOf(<span class="literal">'://'</span>) == -1 &amp;&amp; css_file.charAt(0) != <span class="literal">'/'</span>)
+					css_file = <span class="reserved">this</span>.documentBasePath + <span class="literal">"/"</span> + css_file;
+
+				<span class="reserved">if</span> (typeof(doc.createStyleSheet) == <span class="literal">"undefined"</span>) {
+					elm = doc.createElement(<span class="literal">"link"</span>);
+
+					elm.rel = <span class="literal">"stylesheet"</span>;
+					elm.href = css_file;
+
+					<span class="reserved">if</span> ((headArr = doc.getElementsByTagName(<span class="literal">"head"</span>)) != null &amp;&amp; headArr.length &gt; 0)
+						headArr[0].appendChild(elm);
+				} <span class="reserved">else</span>
+					doc.createStyleSheet(css_file);
+			}
+		}
+	},
+
+	<span class="comment">/**
+	 * Displays a confirm dialog when a user clicks/focus a textarea that is to be converted into
+	 * a TinyMCE instance.
+	 *
+	 * <span class="attrib">@param</span> {DOMEvent} e DOM event instance.
+	 * <span class="attrib">@param</span> {Array} settings Name/Value array of initialization settings.
+	 */</span>
+	confirmAdd : <span class="reserved">function</span>(e, settings) {
+		var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
+		var elementId = elm.name ? elm.name : elm.id;
+
+		tinyMCE.settings = settings;
+
+		<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'convert_on_click'</span>] || (!elm.getAttribute(<span class="literal">'mce_noask'</span>) &amp;&amp; confirm(tinyMCELang[<span class="literal">'lang_edit_confirm'</span>])))
+			tinyMCE.addMCEControl(elm, elementId);
+
+		elm.setAttribute(<span class="literal">'mce_noask'</span>, <span class="literal">'true'</span>);
+	},
+
+	<span class="comment">/**
+	 * Moves the contents from the hidden textarea to the editor that gets inserted.
+	 *
+	 * <span class="attrib">@param</span> {string} form_element_name Form element name to move contents from.
+	 * <span class="attrib">@deprecated</span>
+	 */</span>
+	updateContent : <span class="reserved">function</span>(form_element_name) {
+		<span class="comment">// Find MCE instance linked to given form element and copy it's value</span>
+		var formElement = document.getElementById(form_element_name);
+		<span class="reserved">for</span> (var n in tinyMCE.instances) {
+			var inst = tinyMCE.instances[n];
+			<span class="reserved">if</span> (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			<span class="reserved">if</span> (inst.formElement == formElement) {
+				var doc = inst.getDoc();
+		
+				tinyMCE._setHTML(doc, inst.formElement.value);
+
+				<span class="reserved">if</span> (!tinyMCE.isMSIE)
+					doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, <span class="reserved">this</span>.settings, doc.body, inst.visualAid);
+			}
+		}
+	},
+
+	<span class="comment">/**
+	 * Adds a TinyMCE editor control instance to a specific form element.
+	 *
+	 * <span class="attrib">@param</span> {HTMLElement} replace_element HTML element object to replace.
+	 * <span class="attrib">@param</span> {string} form_element_name HTML form element name,
+	 * <span class="attrib">@param</span> {DOMDocument} target_document Target document that holds the element.
+	 */</span>
+	addMCEControl : <span class="reserved">function</span>(replace_element, form_element_name, target_document) {
+		var id = <span class="literal">"mce_editor_"</span> + tinyMCE.idCounter++;
+		var inst = new TinyMCE_Control(tinyMCE.settings);
+
+		inst.editorId = id;
+		<span class="reserved">this</span>.instances[id] = inst;
+
+		inst._onAdd(replace_element, form_element_name, target_document);
+	},
+
+	<span class="comment">/**
+	 * Removes a TinyMCE editor control instance by id.
+	 *
+	 * <span class="attrib">@param</span> {string} editor_id Id of editor instance to remove.
+	 */</span>
+	removeMCEControl : <span class="reserved">function</span>(editor_id) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		<span class="reserved">if</span> (inst) {
+			inst.switchSettings();
+
+			editor_id = inst.editorId;
+			var html = tinyMCE.getContent(editor_id);
+
+			<span class="comment">// Remove editor instance from instances array</span>
+			var tmpInstances = new Array();
+			<span class="reserved">for</span> (var instanceName in tinyMCE.instances) {
+				var instance = tinyMCE.instances[instanceName];
+				<span class="reserved">if</span> (!tinyMCE.isInstance(instance))
+					continue;
+
+				<span class="reserved">if</span> (instanceName != editor_id)
+						tmpInstances[instanceName] = instance;
+			}
+			tinyMCE.instances = tmpInstances;
+
+			tinyMCE.selectedElement = null;
+			tinyMCE.selectedInstance = null;
+
+			<span class="comment">// Remove element</span>
+			var replaceElement = document.getElementById(editor_id + <span class="literal">"_parent"</span>);
+			var oldTargetElement = inst.oldTargetElement;
+			var targetName = oldTargetElement.nodeName.toLowerCase();
+
+			<span class="reserved">if</span> (targetName == <span class="literal">"textarea"</span> || targetName == <span class="literal">"input"</span>) {
+				<span class="comment">// Just show the old text area</span>
+				replaceElement.parentNode.removeChild(replaceElement);
+				oldTargetElement.style.display = <span class="literal">"inline"</span>;
+				oldTargetElement.value = html;
+			} <span class="reserved">else</span> {
+				oldTargetElement.innerHTML = html;
+				oldTargetElement.style.display = <span class="literal">'block'</span>;
+
+				replaceElement.parentNode.insertBefore(oldTargetElement, replaceElement);
+				replaceElement.parentNode.removeChild(replaceElement);
+			}
+		}
+	},
+
+	<span class="comment">/**
+	 * Moves the contents from a TinyMCE editor control instance to the hidden textarea
+	 * that got replaced with TinyMCE. This is executed automaticly on for example form submit.
+	 *
+	 * <span class="attrib">@param</span> {boolean} skip_cleanup Optional Skip cleanup, simply move the contents as fast as possible.
+	 * <span class="attrib">@param</span> {boolean} skip_callback Optional Skip callback, don't call the save_callback function.
+	 */</span>
+	triggerSave : <span class="reserved">function</span>(skip_cleanup, skip_callback) {
+		var inst, n;
+
+		<span class="comment">// Default to false</span>
+		<span class="reserved">if</span> (typeof(skip_cleanup) == <span class="literal">"undefined"</span>)
+			skip_cleanup = false;
+
+		<span class="comment">// Default to false</span>
+		<span class="reserved">if</span> (typeof(skip_callback) == <span class="literal">"undefined"</span>)
+			skip_callback = false;
+
+		<span class="comment">// Cleanup and set all form fields</span>
+		<span class="reserved">for</span> (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			<span class="reserved">if</span> (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.triggerSave(skip_cleanup, skip_callback);
+		}
+	},
+
+	<span class="comment">/**
+	 * Resets a forms TinyMCE instances based on form index.
+	 *
+	 * <span class="attrib">@param</span> {int} form_index Form index to reset.
+	 */</span>
+	resetForm : <span class="reserved">function</span>(form_index) {
+		var i, inst, n, formObj = document.forms[form_index];
+
+		<span class="reserved">for</span> (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			<span class="reserved">if</span> (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			<span class="reserved">for</span> (i=0; i&lt;formObj.elements.length; i++) {
+				<span class="reserved">if</span> (inst.formTargetElementId == formObj.elements[i].name)
+					inst.getBody().innerHTML = inst.startContent;
+			}
+		}
+	},
+
+	<span class="comment">/**
+	 * Executes a command on a specific editor instance by id.
+	 *
+	 * <span class="attrib">@param</span> {string} editor_id TinyMCE editor control instance id to perform comman on.
+	 * <span class="attrib">@param</span> {string} command Command name to execute, for example mceLink or Bold.
+	 * <span class="attrib">@param</span> {boolean} user_interface True/false state if a UI (dialog) should be presented or not.
+	 * <span class="attrib">@param</span> {object} value Optional command value, this can be anything.
+	 * <span class="attrib">@param</span> {boolean} focus True/false if the editor instance should be focused first.
+	 */</span>
+	execInstanceCommand : <span class="reserved">function</span>(editor_id, command, user_interface, value, focus) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		<span class="reserved">if</span> (inst) {
+			<span class="reserved">if</span> (typeof(focus) == <span class="literal">"undefined"</span>)
+				focus = true;
+
+			<span class="reserved">if</span> (focus)
+				inst.contentWindow.focus();
+
+			<span class="comment">// Reset design mode if lost</span>
+			inst.autoResetDesignMode();
+
+			<span class="reserved">this</span>.selectedElement = inst.getFocusElement();
+			<span class="reserved">this</span>.selectedInstance = inst;
+			tinyMCE.execCommand(command, user_interface, value);
+
+			<span class="comment">// Cancel event so it doesn't call onbeforeonunlaod</span>
+			<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; window.event != null)
+				tinyMCE.cancelEvent(window.event);
+		}
+	},
+
+	<span class="comment">/**
+	 * Executes a command on the selected or last selected TinyMCE editor control instance. This function also handles
+	 * some non instance specific commands like mceAddControl, mceRemoveControl, mceHelp or mceFocus.
+	 *
+	 * <span class="attrib">@param</span> {string} command Command name to execute, for example mceLink or Bold.
+	 * <span class="attrib">@param</span> {boolean} user_interface True/false state if a UI (dialog) should be presented or not.
+	 * <span class="attrib">@param</span> {object} value Optional command value, this can be anything.
+	 */</span>
+	execCommand : <span class="reserved">function</span>(command, user_interface, value) {
+		<span class="comment">// Default input</span>
+		user_interface = user_interface ? user_interface : false;
+		value = value ? value : null;
+
+		<span class="reserved">if</span> (tinyMCE.selectedInstance)
+			tinyMCE.selectedInstance.switchSettings();
+
+		switch (command) {
+			case <span class="literal">'mceHelp'</span>:
+				tinyMCE.openWindow({
+					file : <span class="literal">'about.htm'</span>,
+					width : 480,
+					height : 380
+				}, {
+					tinymce_version : tinyMCE.majorVersion + <span class="literal">"."</span> + tinyMCE.minorVersion,
+					tinymce_releasedate : tinyMCE.releaseDate,
+					inline : <span class="literal">"yes"</span>
+				});
+			<span class="reserved">return</span>;
+
+			case <span class="literal">'mceFocus'</span>:
+				var inst = tinyMCE.getInstanceById(value);
+				<span class="reserved">if</span> (inst)
+					inst.contentWindow.focus();
+			<span class="reserved">return</span>;
+
+			case <span class="literal">"mceAddControl"</span>:
+			case <span class="literal">"mceAddEditor"</span>:
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
+				<span class="reserved">return</span>;
+
+			case <span class="literal">"mceAddFrameControl"</span>:
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value[<span class="literal">'element'</span>], value[<span class="literal">'document'</span>]), value[<span class="literal">'element'</span>], value[<span class="literal">'document'</span>]);
+				<span class="reserved">return</span>;
+
+			case <span class="literal">"mceRemoveControl"</span>:
+			case <span class="literal">"mceRemoveEditor"</span>:
+				tinyMCE.removeMCEControl(value);
+				<span class="reserved">return</span>;
+
+			case <span class="literal">"mceResetDesignMode"</span>:
+				<span class="comment">// Resets the designmode state of the editors in Gecko</span>
+				<span class="reserved">if</span> (!tinyMCE.isMSIE) {
+					<span class="reserved">for</span> (var n in tinyMCE.instances) {
+						<span class="reserved">if</span> (!tinyMCE.isInstance(tinyMCE.instances[n]))
+							continue;
+
+						try {
+							tinyMCE.instances[n].getDoc().designMode = <span class="literal">"on"</span>;
+						} catch (e) {
+							<span class="comment">// Ignore any errors</span>
+						}
+					}
+				}
+
+				<span class="reserved">return</span>;
+		}
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.selectedInstance) {
+			<span class="reserved">this</span>.selectedInstance.execCommand(command, user_interface, value);
+		} <span class="reserved">else</span> <span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'focus_alert'</span>])
+			alert(tinyMCELang[<span class="literal">'lang_focus_alert'</span>]);
+	},
+
+	<span class="comment">/**
+	 * Creates a iframe editor container for the specified element.
+	 *
+	 * <span class="attrib">@param</span> {HTMLElement} replace_element Element to replace with iframe element.
+	 * <span class="attrib">@param</span> {DOMDocument} doc Optional document to use with iframe replacement.
+	 * <span class="attrib">@param</span> {DOMWindow} win Optional window to use with iframe replacement.
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_createIFrame : <span class="reserved">function</span>(replace_element, doc, win) {
+		var iframe, id = replace_element.getAttribute(<span class="literal">"id"</span>);
+		var aw, ah;
+
+		<span class="reserved">if</span> (typeof(doc) == <span class="literal">"undefined"</span>)
+			doc = document;
+
+		<span class="reserved">if</span> (typeof(win) == <span class="literal">"undefined"</span>)
+			win = window;
+
+		iframe = doc.createElement(<span class="literal">"iframe"</span>);
+
+		aw = <span class="literal">""</span> + tinyMCE.settings[<span class="literal">'area_width'</span>];
+		ah = <span class="literal">""</span> + tinyMCE.settings[<span class="literal">'area_height'</span>];
+
+		<span class="reserved">if</span> (aw.indexOf(<span class="literal">'%'</span>) == -1) {
+			aw = parseInt(aw);
+			aw = aw &lt; 0 ? 300 : aw;
+			aw = aw + <span class="literal">"px"</span>;
+		}
+
+		<span class="reserved">if</span> (ah.indexOf(<span class="literal">'%'</span>) == -1) {
+			ah = parseInt(ah);
+			ah = ah &lt; 0 ? 240 : ah;
+			ah = ah + <span class="literal">"px"</span>;
+		}
+
+		iframe.setAttribute(<span class="literal">"id"</span>, id);
+		iframe.setAttribute(<span class="literal">"className"</span>, <span class="literal">"mceEditorIframe"</span>);
+		iframe.setAttribute(<span class="literal">"border"</span>, <span class="literal">"0"</span>);
+		iframe.setAttribute(<span class="literal">"frameBorder"</span>, <span class="literal">"0"</span>);
+		iframe.setAttribute(<span class="literal">"marginWidth"</span>, <span class="literal">"0"</span>);
+		iframe.setAttribute(<span class="literal">"marginHeight"</span>, <span class="literal">"0"</span>);
+		iframe.setAttribute(<span class="literal">"leftMargin"</span>, <span class="literal">"0"</span>);
+		iframe.setAttribute(<span class="literal">"topMargin"</span>, <span class="literal">"0"</span>);
+		iframe.setAttribute(<span class="literal">"width"</span>, aw);
+		iframe.setAttribute(<span class="literal">"height"</span>, ah);
+		iframe.setAttribute(<span class="literal">"allowtransparency"</span>, <span class="literal">"true"</span>);
+
+		<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">"auto_resize"</span>])
+			iframe.setAttribute(<span class="literal">"scrolling"</span>, <span class="literal">"no"</span>);
+
+		<span class="comment">// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs</span>
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
+			iframe.setAttribute(<span class="literal">"src"</span>, <span class="reserved">this</span>.settings[<span class="literal">'default_document'</span>]);
+
+		iframe.style.width = aw;
+		iframe.style.height = ah;
+
+		<span class="comment">// MSIE 5.0 issue</span>
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
+			replace_element.outerHTML = iframe.outerHTML;
+		<span class="reserved">else</span>
+			replace_element.parentNode.replaceChild(iframe, replace_element);
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
+			<span class="reserved">return</span> win.frames[id];
+		<span class="reserved">else</span>
+			<span class="reserved">return</span> iframe;
+	},
+
+	<span class="comment">/**
+	 * Setups the contents of TinyMCE editor instance and fills it with contents.
+	 *
+	 * <span class="attrib">@param</span> {string} editor_id TinyMCE editor instance control id to fill.
+	 */</span>
+	setupContent : <span class="reserved">function</span>(editor_id) {
+		var inst = tinyMCE.instances[editor_id];
+		var doc = inst.getDoc();
+		var head = doc.getElementsByTagName(<span class="literal">'head'</span>).item(0);
+		var content = inst.startContent;
+
+		inst.switchSettings();
+
+		<span class="comment">// Not loaded correctly hit it again, Mozilla bug #997860</span>
+		<span class="reserved">if</span> (!tinyMCE.isMSIE &amp;&amp; tinyMCE.getParam(<span class="literal">"setupcontent_reload"</span>, false) &amp;&amp; doc.title != <span class="literal">"blank_page"</span>) {
+			<span class="comment">// This part will remove the designMode status</span>
+			<span class="comment">// Failes first time in Firefox 1.5b2 on Mac</span>
+			try {doc.location.href = tinyMCE.baseURL + <span class="literal">"/blank.htm"</span>;} catch (ex) {}
+			window.setTimeout(<span class="literal">"tinyMCE.setupContent('"</span> + editor_id + <span class="literal">"');"</span>, 1000);
+			<span class="reserved">return</span>;
+		}
+
+		<span class="reserved">if</span> (!head) {
+			window.setTimeout(<span class="literal">"tinyMCE.setupContent('"</span> + editor_id + <span class="literal">"');"</span>, 10);
+			<span class="reserved">return</span>;
+		}
+
+		<span class="comment">// Import theme specific content CSS the user specific</span>
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + <span class="literal">"/themes/"</span> + inst.settings[<span class="literal">'theme'</span>] + <span class="literal">"/css/editor_content.css"</span>);
+		tinyMCE.importCSS(inst.getDoc(), inst.settings[<span class="literal">'content_css'</span>]);
+		tinyMCE.dispatchCallback(inst, <span class="literal">'init_instance_callback'</span>, <span class="literal">'initInstance'</span>, inst);
+
+		<span class="comment">// Setup keyboard shortcuts</span>
+		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">'custom_undo_redo_keyboard_shortcuts'</span>)) {
+			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'z'</span>, <span class="literal">'lang_undo_desc'</span>, <span class="literal">'Undo'</span>);
+			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'y'</span>, <span class="literal">'lang_redo_desc'</span>, <span class="literal">'Redo'</span>);
+		}
+
+		<span class="comment">// Add default shortcuts for gecko</span>
+		<span class="reserved">if</span> (tinyMCE.isGecko) {
+			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'b'</span>, <span class="literal">'lang_bold_desc'</span>, <span class="literal">'Bold'</span>);
+			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'i'</span>, <span class="literal">'lang_italic_desc'</span>, <span class="literal">'Italic'</span>);
+			inst.addShortcut(<span class="literal">'ctrl'</span>, <span class="literal">'u'</span>, <span class="literal">'lang_underline_desc'</span>, <span class="literal">'Underline'</span>);
+		}
+
+		<span class="comment">// Setup span styles</span>
+		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
+			inst.getDoc().body.setAttribute(<span class="literal">'id'</span>, <span class="literal">'mceSpanFonts'</span>);
+
+		<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'nowrap'</span>])
+			doc.body.style.whiteSpace = <span class="literal">"nowrap"</span>;
+
+		doc.body.dir = <span class="reserved">this</span>.settings[<span class="literal">'directionality'</span>];
+		doc.editorId = editor_id;
+
+		<span class="comment">// Add on document element in Mozilla</span>
+		<span class="reserved">if</span> (!tinyMCE.isMSIE)
+			doc.documentElement.editorId = editor_id;
+
+		inst.setBaseHREF(tinyMCE.settings[<span class="literal">'base_href'</span>]);
+
+		<span class="comment">// Replace new line characters to BRs</span>
+		<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'convert_newlines_to_brs'</span>]) {
+			content = tinyMCE.regexpReplace(content, <span class="literal">"\r\n"</span>, <span class="literal">"&lt;br /&gt;"</span>, <span class="literal">"gi"</span>);
+			content = tinyMCE.regexpReplace(content, <span class="literal">"\r"</span>, <span class="literal">"&lt;br /&gt;"</span>, <span class="literal">"gi"</span>);
+			content = tinyMCE.regexpReplace(content, <span class="literal">"\n"</span>, <span class="literal">"&lt;br /&gt;"</span>, <span class="literal">"gi"</span>);
+		}
+
+		<span class="comment">// Open closed anchors</span>
+	<span class="comment">//	content = content.replace(new RegExp('&lt;a(.*?)/&gt;', 'gi'), '&lt;a$1&gt;&lt;/a&gt;');</span>
+
+		<span class="comment">// Call custom cleanup code</span>
+		content = tinyMCE.storeAwayURLs(content);
+		content = tinyMCE._customCleanup(inst, <span class="literal">"insert_to_editor"</span>, content);
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE) {
+			<span class="comment">// Ugly!!!</span>
+			window.setInterval(<span class="literal">'try{tinyMCE.getCSSClasses(tinyMCE.instances["'</span> + editor_id + <span class="literal">'"].getDoc(), "'</span> + editor_id + <span class="literal">'");}catch(e){}'</span>, 500);
+
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">"force_br_newlines"</span>])
+				doc.styleSheets[0].addRule(<span class="literal">"p"</span>, <span class="literal">"margin: 0;"</span>);
+
+			var body = inst.getBody();
+			body.editorId = editor_id;
+		}
+
+		content = tinyMCE.cleanupHTMLCode(content);
+
+		<span class="comment">// Fix for bug #958637</span>
+		<span class="reserved">if</span> (!tinyMCE.isMSIE) {
+			var contentElement = inst.getDoc().createElement(<span class="literal">"body"</span>);
+			var doc = inst.getDoc();
+
+			contentElement.innerHTML = content;
+
+			<span class="comment">// Remove weridness!</span>
+			<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; tinyMCE.settings[<span class="literal">'remove_lt_gt'</span>])
+				content = content.replace(new RegExp(<span class="literal">'&amp;lt;&amp;gt;'</span>, <span class="literal">'g'</span>), <span class="literal">""</span>);
+
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'cleanup_on_startup'</span>])
+				tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, <span class="reserved">this</span>.settings, contentElement));
+			<span class="reserved">else</span> {
+				<span class="comment">// Convert all strong/em to b/i</span>
+				content = tinyMCE.regexpReplace(content, <span class="literal">"&lt;strong"</span>, <span class="literal">"&lt;b"</span>, <span class="literal">"gi"</span>);
+				content = tinyMCE.regexpReplace(content, <span class="literal">"&lt;em(/?)&gt;"</span>, <span class="literal">"&lt;i$1&gt;"</span>, <span class="literal">"gi"</span>);
+				content = tinyMCE.regexpReplace(content, <span class="literal">"&lt;em "</span>, <span class="literal">"&lt;i "</span>, <span class="literal">"gi"</span>);
+				content = tinyMCE.regexpReplace(content, <span class="literal">"&lt;/strong&gt;"</span>, <span class="literal">"&lt;/b&gt;"</span>, <span class="literal">"gi"</span>);
+				content = tinyMCE.regexpReplace(content, <span class="literal">"&lt;/em&gt;"</span>, <span class="literal">"&lt;/i&gt;"</span>, <span class="literal">"gi"</span>);
+				tinyMCE.setInnerHTML(inst.getBody(), content);
+			}
+
+			tinyMCE.convertAllRelativeURLs(inst.getBody());
+		} <span class="reserved">else</span> {
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'cleanup_on_startup'</span>]) {
+				tinyMCE._setHTML(inst.getDoc(), content);
+
+				<span class="comment">// Produces permission denied error in MSIE 5.5</span>
+				eval(<span class="literal">'try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}'</span>);
+			} <span class="reserved">else</span>
+				tinyMCE._setHTML(inst.getDoc(), content);
+		}
+
+		<span class="comment">// Fix for bug #957681</span>
+		<span class="comment">//inst.getDoc().designMode = inst.getDoc().designMode;</span>
+
+		<span class="comment">// Setup element references</span>
+		var parentElm = inst.targetDoc.getElementById(inst.editorId + <span class="literal">'_parent'</span>);
+		inst.formElement = tinyMCE.isGecko ? parentElm.previousSibling : parentElm.nextSibling;
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings[<span class="literal">'visual'</span>], inst);
+		tinyMCE.dispatchCallback(inst, <span class="literal">'setupcontent_callback'</span>, <span class="literal">'setupContent'</span>, editor_id, inst.getBody(), inst.getDoc());
+
+		<span class="comment">// Re-add design mode on mozilla</span>
+		<span class="reserved">if</span> (!tinyMCE.isMSIE)
+			tinyMCE.addEventHandlers(inst);
+
+		<span class="comment">// Add blur handler</span>
+		<span class="reserved">if</span> (tinyMCE.isMSIE) {
+			tinyMCE.addEvent(inst.getBody(), <span class="literal">"blur"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
+			tinyMCE.addEvent(inst.getBody(), <span class="literal">"beforedeactivate"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch); <span class="comment">// Bug #1439953</span>
+
+			<span class="comment">// Workaround for drag drop/copy paste base href bug</span>
+			<span class="reserved">if</span> (!tinyMCE.isOpera) {
+				tinyMCE.addEvent(doc.body, <span class="literal">"mousemove"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.onMouseMove);
+				tinyMCE.addEvent(doc.body, <span class="literal">"beforepaste"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
+				tinyMCE.addEvent(doc.body, <span class="literal">"drop"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
+			}
+		}
+
+		<span class="comment">// Trigger node change, this call locks buttons for tables and so forth</span>
+		tinyMCE.selectedInstance = inst;
+		tinyMCE.selectedElement = inst.contentWindow.document.body;
+
+		<span class="comment">// Call custom DOM cleanup</span>
+		tinyMCE._customCleanup(inst, <span class="literal">"insert_to_editor_dom"</span>, inst.getBody());
+		tinyMCE._customCleanup(inst, <span class="literal">"setup_content_dom"</span>, inst.getBody());
+		tinyMCE._setEventsEnabled(inst.getBody(), false);
+		tinyMCE.cleanupAnchors(inst.getDoc());
+
+		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
+			tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+		inst.undoRedo.add({ content : inst.startContent });
+
+		<span class="comment">// Cleanup any mess left from storyAwayURLs</span>
+		<span class="reserved">if</span> (tinyMCE.isGecko) {
+			<span class="comment">// Remove mce_src from textnodes and comments</span>
+			tinyMCE.selectNodes(inst.getBody(), <span class="reserved">function</span>(n) {
+				<span class="reserved">if</span> (n.nodeType == 3 || n.nodeType == 8) {
+					n.nodeValue = n.nodeValue.replace(new RegExp(<span class="literal">'\\smce_src=\"[^\"]*\"'</span>, <span class="literal">'gi'</span>), <span class="literal">""</span>);
+					n.nodeValue = n.nodeValue.replace(new RegExp(<span class="literal">'\\smce_href=\"[^\"]*\"'</span>, <span class="literal">'gi'</span>), <span class="literal">""</span>);
+				}
+
+				<span class="reserved">return</span> false;
+			});
+		}
+
+		<span class="comment">// Cleanup any mess left from storyAwayURLs</span>
+		tinyMCE._removeInternal(inst.getBody());
+
+		tinyMCE.selectedInstance = inst;
+		tinyMCE.triggerNodeChange(false, true);
+	},
+
+	<span class="comment">/**
+	 * Stores away the src and href attribute values in separate mce_src and mce_href attributes.
+	 * This is needed since both MSIE and Gecko messes with these attributes. The old
+	 * src and href will be intact, this simply adds them to a separate attribute.
+	 *
+	 * <span class="attrib">@param</span> {string} s HTML string to replace src and href attributes in.
+	 * <span class="attrib">@return</span> HTML string with replaced src and href attributes.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	storeAwayURLs : <span class="reserved">function</span>(s) {
+		<span class="comment">// Remove all mce_src, mce_href and replace them with new ones</span>
+	<span class="comment">//	s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ &gt;\"]*\"', 'gi'), '');</span>
+	<span class="comment">//	s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ &gt;\"]*\"', 'gi'), '');</span>
+
+		<span class="reserved">if</span> (!s.match(/(mce_src|mce_href)/gi, s)) {
+			s = s.replace(new RegExp(<span class="literal">'src\\s*=\\s*\"([^ &gt;\"]*)\"'</span>, <span class="literal">'gi'</span>), <span class="literal">'src="$1" mce_src="$1"'</span>);
+			s = s.replace(new RegExp(<span class="literal">'href\\s*=\\s*\"([^ &gt;\"]*)\"'</span>, <span class="literal">'gi'</span>), <span class="literal">'href="$1" mce_href="$1"'</span>);
+		}
+
+		<span class="reserved">return</span> s;
+	},
+
+	<span class="comment">/**
+	 * Removes any internal content inserted by regexps.
+	 *
+	 * <span class="attrib">@param</span> {DOMNode} n Node to remove internal content from.
+	 */</span>
+	_removeInternal : <span class="reserved">function</span>(n) {
+		<span class="reserved">if</span> (tinyMCE.isGecko) {
+			<span class="comment">// Remove mce_src from textnodes and comments</span>
+			tinyMCE.selectNodes(n, <span class="reserved">function</span>(n) {
+				<span class="reserved">if</span> (n.nodeType == 3 || n.nodeType == 8) {
+					n.nodeValue = n.nodeValue.replace(new RegExp(<span class="literal">'\\smce_src=\"[^\"]*\"'</span>, <span class="literal">'gi'</span>), <span class="literal">""</span>);
+					n.nodeValue = n.nodeValue.replace(new RegExp(<span class="literal">'\\smce_href=\"[^\"]*\"'</span>, <span class="literal">'gi'</span>), <span class="literal">""</span>);
+				}
+
+				<span class="reserved">return</span> false;
+			});
+		}
+	},
+
+	<span class="comment">/**
+	 * Removes/disables TinyMCE built in form elements such as select boxes for font sizes etc.
+	 * These are disabled when the user submits a form so they don't get picked up by the backend script
+	 * that intercepts the contents.
+	 *
+	 * <span class="attrib">@param</span> {HTMLElement} form_obj Form object to loop through for TinyMCE specific form elements.
+	 */</span>
+	removeTinyMCEFormElements : <span class="reserved">function</span>(form_obj) {
+		<span class="comment">// Check if form is valid</span>
+		<span class="reserved">if</span> (typeof(form_obj) == <span class="literal">"undefined"</span> || form_obj == null)
+			<span class="reserved">return</span>;
+
+		<span class="comment">// If not a form, find the form</span>
+		<span class="reserved">if</span> (form_obj.nodeName != <span class="literal">"FORM"</span>) {
+			<span class="reserved">if</span> (form_obj.form)
+				form_obj = form_obj.form;
+			<span class="reserved">else</span>
+				form_obj = tinyMCE.getParentElement(form_obj, <span class="literal">"form"</span>);
+		}
+
+		<span class="comment">// Still nothing</span>
+		<span class="reserved">if</span> (form_obj == null)
+			<span class="reserved">return</span>;
+
+		<span class="comment">// Disable all UI form elements that TinyMCE created</span>
+		<span class="reserved">for</span> (var i=0; i&lt;form_obj.elements.length; i++) {
+			var elementId = form_obj.elements[i].name ? form_obj.elements[i].name : form_obj.elements[i].id;
+
+			<span class="reserved">if</span> (elementId.indexOf(<span class="literal">'mce_editor_'</span>) == 0)
+				form_obj.elements[i].disabled = true;
+		}
+	},
+
+	<span class="comment">/**
+	 * Event handler function that gets executed each time a event occurs in a TinyMCE editor control instance.
+	 * Todo: Fix the return statements so they return true or false.
+	 *
+	 * <span class="attrib">@param</span> {DOMEvent} e DOM event object reference.
+	 * <span class="attrib">@return</span> true - if the event is to be chained, false - if the event chain is to be canceled.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	handleEvent : <span class="reserved">function</span>(e) {
+		var inst = tinyMCE.selectedInstance;
+
+		<span class="comment">// Remove odd, error</span>
+		<span class="reserved">if</span> (typeof(tinyMCE) == <span class="literal">"undefined"</span>)
+			<span class="reserved">return</span> true;
+
+		<span class="comment">//tinyMCE.debug(e.type + " " + e.target.nodeName + " " + (e.relatedTarget ? e.relatedTarget.nodeName : ""));</span>
+
+		<span class="reserved">if</span> (tinyMCE.executeCallback(tinyMCE.selectedInstance, <span class="literal">'handle_event_callback'</span>, <span class="literal">'handleEvent'</span>, e))
+			<span class="reserved">return</span> false;
+
+		switch (e.type) {
+			case <span class="literal">"beforedeactivate"</span>: <span class="comment">// Was added due to bug #1439953</span>
+			case <span class="literal">"blur"</span>:
+				<span class="reserved">if</span> (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.execCommand(<span class="literal">'mceEndTyping'</span>);
+
+				tinyMCE.hideMenus();
+
+				<span class="reserved">return</span>;
+
+			<span class="comment">// Workaround for drag drop/copy paste base href bug</span>
+			case <span class="literal">"drop"</span>:
+			case <span class="literal">"beforepaste"</span>:
+				<span class="reserved">if</span> (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.setBaseHREF(null);
+
+				window.setTimeout(<span class="literal">"tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);"</span>, 1);
+				<span class="reserved">return</span>;
+
+			case <span class="literal">"submit"</span>:
+				tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE ? window.event.srcElement : e.target);
+				tinyMCE.triggerSave();
+				tinyMCE.isNotDirty = true;
+				<span class="reserved">return</span>;
+
+			case <span class="literal">"reset"</span>:
+				var formObj = tinyMCE.isMSIE ? window.event.srcElement : e.target;
+
+				<span class="reserved">for</span> (var i=0; i&lt;document.forms.length; i++) {
+					<span class="reserved">if</span> (document.forms[i] == formObj)
+						window.setTimeout(<span class="literal">'tinyMCE.resetForm('</span> + i + <span class="literal">');'</span>, 10);
+				}
+
+				<span class="reserved">return</span>;
+
+			case <span class="literal">"keypress"</span>:
+				<span class="reserved">if</span> (inst &amp;&amp; inst.handleShortcut(e))
+					<span class="reserved">return</span> false;
+
+				<span class="reserved">if</span> (e.target.editorId) {
+					tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+				} <span class="reserved">else</span> {
+					<span class="reserved">if</span> (e.target.ownerDocument.editorId)
+						tinyMCE.selectedInstance = tinyMCE.instances[e.target.ownerDocument.editorId];
+				}
+
+				<span class="reserved">if</span> (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				<span class="comment">// Insert P element</span>
+				<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; tinyMCE.settings[<span class="literal">'force_p_newlines'</span>] &amp;&amp; e.keyCode == 13 &amp;&amp; !e.shiftKey) {
+					<span class="comment">// Insert P element instead of BR</span>
+					<span class="reserved">if</span> (TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance, e)) {
+						<span class="comment">// Cancel event</span>
+						tinyMCE.execCommand(<span class="literal">"mceAddUndoLevel"</span>);
+						tinyMCE.cancelEvent(e);
+						<span class="reserved">return</span> false;
+					}
+				}
+
+				<span class="comment">// Handle backspace</span>
+				<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; tinyMCE.settings[<span class="literal">'force_p_newlines'</span>] &amp;&amp; (e.keyCode == 8 || e.keyCode == 46) &amp;&amp; !e.shiftKey) {
+					<span class="comment">// Insert P element instead of BR</span>
+					<span class="reserved">if</span> (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						<span class="comment">// Cancel event</span>
+						tinyMCE.execCommand(<span class="literal">"mceAddUndoLevel"</span>);
+						tinyMCE.cancelEvent(e);
+						<span class="reserved">return</span> false;
+					}
+				}
+
+				<span class="comment">// Return key pressed</span>
+				<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; tinyMCE.settings[<span class="literal">'force_br_newlines'</span>] &amp;&amp; e.keyCode == 13) {
+					<span class="reserved">if</span> (e.target.editorId)
+						tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+
+					<span class="reserved">if</span> (tinyMCE.selectedInstance) {
+						var sel = tinyMCE.selectedInstance.getDoc().selection;
+						var rng = sel.createRange();
+
+						<span class="reserved">if</span> (tinyMCE.getParentElement(rng.parentElement(), <span class="literal">"li"</span>) != null)
+							<span class="reserved">return</span> false;
+
+						<span class="comment">// Cancel event</span>
+						e.returnValue = false;
+						e.cancelBubble = true;
+
+						<span class="comment">// Insert BR element</span>
+						rng.pasteHTML(<span class="literal">"&lt;br /&gt;"</span>);
+						rng.collapse(false);
+						rng.select();
+
+						tinyMCE.execCommand(<span class="literal">"mceAddUndoLevel"</span>);
+						tinyMCE.triggerNodeChange(false);
+						<span class="reserved">return</span> false;
+					}
+				}
+
+				<span class="comment">// Backspace or delete</span>
+				<span class="reserved">if</span> (e.keyCode == 8 || e.keyCode == 46) {
+					tinyMCE.selectedElement = e.target;
+					tinyMCE.linkElement = tinyMCE.getParentElement(e.target, <span class="literal">"a"</span>);
+					tinyMCE.imgElement = tinyMCE.getParentElement(e.target, <span class="literal">"img"</span>);
+					tinyMCE.triggerNodeChange(false);
+				}
+
+				<span class="reserved">return</span> false;
+			break;
+
+			case <span class="literal">"keyup"</span>:
+			case <span class="literal">"keydown"</span>:
+				tinyMCE.hideMenus();
+				tinyMCE.hasMouseMoved = false;
+
+				<span class="reserved">if</span> (inst &amp;&amp; inst.handleShortcut(e))
+					<span class="reserved">return</span> false;
+
+				<span class="reserved">if</span> (e.target.editorId)
+					tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+				<span class="reserved">else</span>
+					<span class="reserved">return</span>;
+
+				<span class="reserved">if</span> (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				var inst = tinyMCE.selectedInstance;
+
+				<span class="comment">// Handle backspace</span>
+				<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; tinyMCE.settings[<span class="literal">'force_p_newlines'</span>] &amp;&amp; (e.keyCode == 8 || e.keyCode == 46) &amp;&amp; !e.shiftKey) {
+					<span class="comment">// Insert P element instead of BR</span>
+					<span class="reserved">if</span> (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						<span class="comment">// Cancel event</span>
+						tinyMCE.execCommand(<span class="literal">"mceAddUndoLevel"</span>);
+						e.preventDefault();
+						<span class="reserved">return</span> false;
+					}
+				}
+
+				tinyMCE.selectedElement = null;
+				tinyMCE.selectedNode = null;
+				var elm = tinyMCE.selectedInstance.getFocusElement();
+				tinyMCE.linkElement = tinyMCE.getParentElement(elm, <span class="literal">"a"</span>);
+				tinyMCE.imgElement = tinyMCE.getParentElement(elm, <span class="literal">"img"</span>);
+				tinyMCE.selectedElement = elm;
+
+				<span class="comment">// Update visualaids on tabs</span>
+				<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; e.type == <span class="literal">"keyup"</span> &amp;&amp; e.keyCode == 9)
+					tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings[<span class="literal">'visual'</span>], tinyMCE.selectedInstance);
+
+				<span class="comment">// Fix empty elements on return/enter, check where enter occured</span>
+				<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; e.type == <span class="literal">"keydown"</span> &amp;&amp; e.keyCode == 13)
+					tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement();
+
+				<span class="comment">// Fix empty elements on return/enter</span>
+				<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; e.type == <span class="literal">"keyup"</span> &amp;&amp; e.keyCode == 13) {
+					var elm = tinyMCE.enterKeyElement;
+					<span class="reserved">if</span> (elm) {
+						var re = new RegExp(<span class="literal">'^HR|IMG|BR$'</span>,<span class="literal">'g'</span>); <span class="comment">// Skip these</span>
+						var dre = new RegExp(<span class="literal">'^H[1-6]$'</span>,<span class="literal">'g'</span>); <span class="comment">// Add double on these</span>
+
+						<span class="reserved">if</span> (!elm.hasChildNodes() &amp;&amp; !re.test(elm.nodeName)) {
+							<span class="reserved">if</span> (dre.test(elm.nodeName))
+								elm.innerHTML = <span class="literal">"&amp;nbsp;&amp;nbsp;"</span>;
+							<span class="reserved">else</span>
+								elm.innerHTML = <span class="literal">"&amp;nbsp;"</span>;
+						}
+					}
+				}
+
+				<span class="comment">// Check if it's a position key</span>
+				var keys = tinyMCE.posKeyCodes;
+				var posKey = false;
+				<span class="reserved">for</span> (var i=0; i&lt;keys.length; i++) {
+					<span class="reserved">if</span> (keys[i] == e.keyCode) {
+						posKey = true;
+						break;
+					}
+				}
+
+				<span class="comment">// MSIE custom key handling</span>
+				<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; tinyMCE.settings[<span class="literal">'custom_undo_redo'</span>]) {
+					var keys = new Array(8,46); <span class="comment">// Backspace,Delete</span>
+					<span class="reserved">for</span> (var i=0; i&lt;keys.length; i++) {
+						<span class="reserved">if</span> (keys[i] == e.keyCode) {
+							<span class="reserved">if</span> (e.type == <span class="literal">"keyup"</span>)
+								tinyMCE.triggerNodeChange(false);
+						}
+					}
+				}
+
+				<span class="comment">// If Ctrl key</span>
+				<span class="reserved">if</span> (e.keyCode == 17)
+					<span class="reserved">return</span> true;
+
+				<span class="comment">// Handle Undo/Redo when typing content</span>
+
+				<span class="comment">// Start typing (non position key)</span>
+				<span class="reserved">if</span> (!posKey &amp;&amp; e.type == <span class="literal">"keyup"</span>)
+					tinyMCE.execCommand(<span class="literal">"mceStartTyping"</span>);
+
+				<span class="comment">// Store undo bookmark</span>
+				<span class="reserved">if</span> (e.type == <span class="literal">"keydown"</span> &amp;&amp; (posKey || e.ctrlKey) &amp;&amp; inst)
+					inst.undoBookmark = inst.selection.getBookmark();
+
+				<span class="comment">// End typing (position key) or some Ctrl event</span>
+				<span class="reserved">if</span> (e.type == <span class="literal">"keyup"</span> &amp;&amp; (posKey || e.ctrlKey))
+					tinyMCE.execCommand(<span class="literal">"mceEndTyping"</span>);
+
+				<span class="reserved">if</span> (posKey &amp;&amp; e.type == <span class="literal">"keyup"</span>)
+					tinyMCE.triggerNodeChange(false);
+
+				<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; e.ctrlKey)
+					window.setTimeout(<span class="literal">'tinyMCE.triggerNodeChange(false);'</span>, 1);
+			break;
+
+			case <span class="literal">"mousedown"</span>:
+			case <span class="literal">"mouseup"</span>:
+			case <span class="literal">"click"</span>:
+			case <span class="literal">"focus"</span>:
+				tinyMCE.hideMenus();
+
+				<span class="reserved">if</span> (tinyMCE.selectedInstance) {
+					tinyMCE.selectedInstance.switchSettings();
+					tinyMCE.selectedInstance.isFocused = true;
+				}
+
+				<span class="comment">// Check instance event trigged on</span>
+				var targetBody = tinyMCE.getParentElement(e.target, <span class="literal">"body"</span>);
+				<span class="reserved">for</span> (var instanceName in tinyMCE.instances) {
+					<span class="reserved">if</span> (!tinyMCE.isInstance(tinyMCE.instances[instanceName]))
+						continue;
+
+					var inst = tinyMCE.instances[instanceName];
+
+					<span class="comment">// Reset design mode if lost (on everything just in case)</span>
+					inst.autoResetDesignMode();
+
+					<span class="reserved">if</span> (inst.getBody() == targetBody) {
+						tinyMCE.selectedInstance = inst;
+						tinyMCE.selectedElement = e.target;
+						tinyMCE.linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, <span class="literal">"a"</span>);
+						tinyMCE.imgElement = tinyMCE.getParentElement(tinyMCE.selectedElement, <span class="literal">"img"</span>);
+						break;
+					}
+				}
+
+				<span class="comment">// Add first bookmark location</span>
+				<span class="reserved">if</span> (!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark)
+					tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark = tinyMCE.selectedInstance.selection.getBookmark();
+
+				<span class="reserved">if</span> (tinyMCE.isSafari) {
+					tinyMCE.selectedInstance.lastSafariSelection = tinyMCE.selectedInstance.selection.getBookmark();
+					tinyMCE.selectedInstance.lastSafariSelectedElement = tinyMCE.selectedElement;
+
+					var lnk = tinyMCE.getParentElement(tinyMCE.selectedElement, <span class="literal">"a"</span>);
+
+					<span class="comment">// Patch the darned link</span>
+					<span class="reserved">if</span> (lnk &amp;&amp; e.type == <span class="literal">"mousedown"</span>) {
+						lnk.setAttribute(<span class="literal">"mce_real_href"</span>, lnk.getAttribute(<span class="literal">"href"</span>));
+						lnk.setAttribute(<span class="literal">"href"</span>, <span class="literal">"javascript:void(0);"</span>);
+					}
+
+					<span class="comment">// Patch back</span>
+					<span class="reserved">if</span> (lnk &amp;&amp; e.type == <span class="literal">"click"</span>) {
+						window.setTimeout(<span class="reserved">function</span>() {
+							lnk.setAttribute(<span class="literal">"href"</span>, lnk.getAttribute(<span class="literal">"mce_real_href"</span>));
+							lnk.removeAttribute(<span class="literal">"mce_real_href"</span>);
+						}, 10);
+					}
+				}
+
+				<span class="comment">// Reset selected node</span>
+				<span class="reserved">if</span> (e.type != <span class="literal">"focus"</span>)
+					tinyMCE.selectedNode = null;
+
+				tinyMCE.triggerNodeChange(false);
+				tinyMCE.execCommand(<span class="literal">"mceEndTyping"</span>);
+
+				<span class="reserved">if</span> (e.type == <span class="literal">"mouseup"</span>)
+					tinyMCE.execCommand(<span class="literal">"mceAddUndoLevel"</span>);
+
+				<span class="comment">// Just in case</span>
+				<span class="reserved">if</span> (!tinyMCE.selectedInstance &amp;&amp; e.target.editorId)
+					tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+
+				<span class="reserved">return</span> false;
+			break;
+		}
+	},
+
+	<span class="comment">/**
+	 * Returns the HTML code for a normal button control.
+	 *
+	 * <span class="attrib">@param</span> {string} id Button control id, this will be the suffix for the element id, the prefix is the editor id.
+	 * <span class="attrib">@param</span> {string} lang Language variable key name to insert as the title/alt of the button image.
+	 * <span class="attrib">@param</span> {string} img Image URL to insert, {$themeurl} and {$pluginurl} will be replaced.
+	 * <span class="attrib">@param</span> {string} cmd Command to execute when the user clicks the button.
+	 * <span class="attrib">@param</span> {string} ui Optional user interface boolean for command.
+	 * <span class="attrib">@param</span> {string} val Optional value for command.
+	 * <span class="attrib">@return</span> HTML code for a normal button based in input information.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	getButtonHTML : <span class="reserved">function</span>(id, lang, img, cmd, ui, val) {
+		var h = <span class="literal">''</span>, m, x;
+
+		cmd = <span class="literal">'tinyMCE.execInstanceCommand(\'</span>{$editor_id}\<span class="literal">',\'</span><span class="literal">' + cmd + '</span>\<span class="literal">''</span>;
+
+		<span class="reserved">if</span> (typeof(ui) != <span class="literal">"undefined"</span> &amp;&amp; ui != null)
+			cmd += <span class="literal">','</span> + ui;
+
+		<span class="reserved">if</span> (typeof(val) != <span class="literal">"undefined"</span> &amp;&amp; val != null)
+			cmd += <span class="literal">",'"</span> + val + <span class="literal">"'"</span>;
+
+		cmd += <span class="literal">');'</span>;
+
+		<span class="comment">// Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled</span>
+		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">'button_tile_map'</span>) &amp;&amp; (!tinyMCE.isMSIE || tinyMCE.isOpera) &amp;&amp; (m = <span class="reserved">this</span>.buttonMap[id]) != null &amp;&amp; (tinyMCE.getParam(<span class="literal">"language"</span>) == <span class="literal">"en"</span> || img.indexOf(<span class="literal">'$lang'</span>) == -1)) {
+			<span class="comment">// Tiled button</span>
+			x = 0 - (m * 20) == 0 ? <span class="literal">'0'</span> : 0 - (m * 20);
+			h += <span class="literal">'&lt;a id="{$editor_id}_'</span> + id + <span class="literal">'" href="javascript:'</span> + cmd + <span class="literal">'" onclick="'</span> + cmd + <span class="literal">'return false;" onmousedown="return false;" class="mceTiledButton mceButtonNormal" target="_self"&gt;'</span>;
+			h += <span class="literal">'&lt;img src="{$themeurl}/images/spacer.gif" style="background-position: '</span> + x + <span class="literal">'px 0" title="{$'</span> + lang + <span class="literal">'}" /&gt;'</span>;
+			h += <span class="literal">'&lt;/a&gt;'</span>;
+		} <span class="reserved">else</span> {
+			<span class="comment">// Normal button</span>
+			h += <span class="literal">'&lt;a id="{$editor_id}_'</span> + id + <span class="literal">'" href="javascript:'</span> + cmd + <span class="literal">'" onclick="'</span> + cmd + <span class="literal">'return false;" onmousedown="return false;" class="mceButtonNormal" target="_self"&gt;'</span>;
+			h += <span class="literal">'&lt;img src="'</span> + img + <span class="literal">'" title="{$'</span> + lang + <span class="literal">'}" /&gt;'</span>;
+			h += <span class="literal">'&lt;/a&gt;'</span>;
+		}
+
+		<span class="reserved">return</span> h;
+	},
+
+	<span class="comment">/**
+	 * Adds a list of buttons available in the tiled button image used by the button_tile_map option.
+	 *
+	 * <span class="attrib">@param</span> {string} m Comma separated list of buttons that are available in tiled image.
+	 */</span>
+	addButtonMap : <span class="reserved">function</span>(m) {
+		var i, a = m.replace(/\s+/, <span class="literal">''</span>).split(<span class="literal">','</span>);
+
+		<span class="reserved">for</span> (i=0; i&lt;a.length; i++)
+			<span class="reserved">this</span>.buttonMap[a[i]] = i;
+	},
+
+	<span class="comment">/**
+	 * Piggyback onsubmit event handler function, this will remove/hide the TinyMCE specific form elements
+	 * call triggerSave to fill the textarea with the correct contents then call the old piggy backed event handler.
+	 */</span>
+	submitPatch : <span class="reserved">function</span>() {
+		tinyMCE.removeTinyMCEFormElements(<span class="reserved">this</span>);
+		tinyMCE.triggerSave();
+		<span class="reserved">this</span>.mceOldSubmit();
+		tinyMCE.isNotDirty = true;
+	},
+
+	<span class="comment">/**
+	 * Gets executed when the page loads or get intitialized. This function will then convert all textareas/divs that
+	 * is to be converted into TinyMCE editor controls.
+	 *
+	 * <span class="attrib">@return</span> true - if the event is to be chained, false - if the event chain is to be canceled.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	onLoad : <span class="reserved">function</span>() {
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera &amp;&amp; window.event.type == <span class="literal">"readystatechange"</span> &amp;&amp; document.readyState != <span class="literal">"complete"</span>)
+			<span class="reserved">return</span> true;
+
+		<span class="reserved">if</span> (tinyMCE.isLoaded)
+			<span class="reserved">return</span> true;
+
+		tinyMCE.isLoaded = true;
+
+		tinyMCE.dispatchCallback(null, <span class="literal">'onpageload'</span>, <span class="literal">'onPageLoad'</span>);
+
+		<span class="reserved">for</span> (var c=0; c&lt;tinyMCE.configs.length; c++) {
+			tinyMCE.settings = tinyMCE.configs[c];
+
+			var selector = tinyMCE.getParam(<span class="literal">"editor_selector"</span>);
+			var deselector = tinyMCE.getParam(<span class="literal">"editor_deselector"</span>);
+			var elementRefAr = new Array();
+
+			<span class="comment">// Add submit triggers</span>
+			<span class="reserved">if</span> (document.forms &amp;&amp; tinyMCE.settings[<span class="literal">'add_form_submit_trigger'</span>] &amp;&amp; !tinyMCE.submitTriggers) {
+				<span class="reserved">for</span> (var i=0; i&lt;document.forms.length; i++) {
+					var form = document.forms[i];
+
+					tinyMCE.addEvent(form, <span class="literal">"submit"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.handleEvent);
+					tinyMCE.addEvent(form, <span class="literal">"reset"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>.handleEvent);
+					tinyMCE.submitTriggers = true; <span class="comment">// Do it only once</span>
+
+					<span class="comment">// Patch the form.submit function</span>
+					<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'submit_patch'</span>]) {
+						try {
+							form.mceOldSubmit = form.submit;
+							form.submit = TinyMCE_Engine.<span class="reserved">prototype</span>.submitPatch;
+						} catch (e) {
+							<span class="comment">// Do nothing</span>
+						}
+					}
+				}
+			}
+
+			<span class="comment">// Add editor instances based on mode</span>
+			var mode = tinyMCE.settings[<span class="literal">'mode'</span>];
+			switch (mode) {
+				case <span class="literal">"exact"</span>:
+					var elements = tinyMCE.getParam(<span class="literal">'elements'</span>, <span class="literal">''</span>, true, <span class="literal">','</span>);
+
+					<span class="reserved">for</span> (var i=0; i&lt;elements.length; i++) {
+						var element = tinyMCE._getElementById(elements[i]);
+						var trigger = element ? element.getAttribute(tinyMCE.settings[<span class="literal">'textarea_trigger'</span>]) : <span class="literal">""</span>;
+
+						<span class="reserved">if</span> (tinyMCE.getAttrib(element, <span class="literal">"class"</span>).indexOf(deselector) != -1)
+							continue;
+
+						<span class="reserved">if</span> (trigger == <span class="literal">"false"</span>)
+							continue;
+
+						<span class="reserved">if</span> ((tinyMCE.settings[<span class="literal">'ask'</span>] || tinyMCE.settings[<span class="literal">'convert_on_click'</span>]) &amp;&amp; element) {
+							elementRefAr[elementRefAr.length] = element;
+							continue;
+						}
+
+						<span class="reserved">if</span> (element)
+							tinyMCE.addMCEControl(element, elements[i]);
+						<span class="reserved">else</span> <span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'debug'</span>])
+							alert(<span class="literal">"Error: Could not find element by id or name: "</span> + elements[i]);
+					}
+				break;
+
+				case <span class="literal">"specific_textareas"</span>:
+				case <span class="literal">"textareas"</span>:
+					var nodeList = document.getElementsByTagName(<span class="literal">"textarea"</span>);
+
+					<span class="reserved">for</span> (var i=0; i&lt;nodeList.length; i++) {
+						var elm = nodeList.item(i);
+						var trigger = elm.getAttribute(tinyMCE.settings[<span class="literal">'textarea_trigger'</span>]);
+
+						<span class="reserved">if</span> (selector != <span class="literal">''</span> &amp;&amp; tinyMCE.getAttrib(elm, <span class="literal">"class"</span>).indexOf(selector) == -1)
+							continue;
+
+						<span class="reserved">if</span> (selector != <span class="literal">''</span>)
+							trigger = selector != <span class="literal">""</span> ? <span class="literal">"true"</span> : <span class="literal">""</span>;
+
+						<span class="reserved">if</span> (tinyMCE.getAttrib(elm, <span class="literal">"class"</span>).indexOf(deselector) != -1)
+							continue;
+
+						<span class="reserved">if</span> ((mode == <span class="literal">"specific_textareas"</span> &amp;&amp; trigger == <span class="literal">"true"</span>) || (mode == <span class="literal">"textareas"</span> &amp;&amp; trigger != <span class="literal">"false"</span>))
+							elementRefAr[elementRefAr.length] = elm;
+					}
+				break;
+			}
+
+			<span class="reserved">for</span> (var i=0; i&lt;elementRefAr.length; i++) {
+				var element = elementRefAr[i];
+				var elementId = element.name ? element.name : element.id;
+
+				<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'ask'</span>] || tinyMCE.settings[<span class="literal">'convert_on_click'</span>]) {
+					<span class="comment">// Focus breaks in Mozilla</span>
+					<span class="reserved">if</span> (tinyMCE.isGecko) {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, <span class="literal">"focus"</span>, <span class="reserved">function</span> (e) {window.setTimeout(<span class="reserved">function</span>() {TinyMCE_Engine.<span class="reserved">prototype</span>.confirmAdd(e, settings);}, 10);});
+
+						<span class="reserved">if</span> (element.nodeName != <span class="literal">"TEXTAREA"</span> &amp;&amp; element.nodeName != <span class="literal">"INPUT"</span>)
+							tinyMCE.addEvent(element, <span class="literal">"click"</span>, <span class="reserved">function</span> (e) {window.setTimeout(<span class="reserved">function</span>() {TinyMCE_Engine.<span class="reserved">prototype</span>.confirmAdd(e, settings);}, 10);});
+						<span class="comment">// tinyMCE.addEvent(element, "mouseover", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});</span>
+					} <span class="reserved">else</span> {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, <span class="literal">"focus"</span>, <span class="reserved">function</span> () { TinyMCE_Engine.<span class="reserved">prototype</span>.confirmAdd(null, settings); });
+						tinyMCE.addEvent(element, <span class="literal">"click"</span>, <span class="reserved">function</span> () { TinyMCE_Engine.<span class="reserved">prototype</span>.confirmAdd(null, settings); });
+						<span class="comment">// tinyMCE.addEvent(element, "mouseenter", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });</span>
+					}
+				} <span class="reserved">else</span>
+					tinyMCE.addMCEControl(element, elementId);
+			}
+
+			<span class="comment">// Handle auto focus</span>
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'auto_focus'</span>]) {
+				window.setTimeout(<span class="reserved">function</span> () {
+					var inst = tinyMCE.getInstanceById(tinyMCE.settings[<span class="literal">'auto_focus'</span>]);
+					inst.selection.selectNode(inst.getBody(), true, true);
+					inst.contentWindow.focus();
+				}, 10);
+			}
+
+			tinyMCE.dispatchCallback(null, <span class="literal">'oninit'</span>, <span class="literal">'onInit'</span>);
+		}
+	},
+
+	<span class="comment">/**
+	 * Returns true/false if a specific object is a TinyMCE_Control instance or not.
+	 *
+	 * <span class="attrib">@param</span> {object} o Object to check.
+	 * <span class="attrib">@return</span> true/false if it's a control or not.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	isInstance : <span class="reserved">function</span>(o) {
+		<span class="reserved">return</span> o != null &amp;&amp; typeof(o) == <span class="literal">"object"</span> &amp;&amp; o.isTinyMCE_Control;
+	},
+
+	<span class="comment">/**
+	 * Returns a specific configuration setting or the default value if it wasn't found.
+	 *
+	 * <span class="attrib">@param</span> {string} name Configuration setting to get.
+	 * <span class="attrib">@param</span> {string} default_value Default value to return if it wasn't found.
+	 * <span class="attrib">@param</span> {boolean} strip_whitespace Optional remove all whitespace.
+	 * <span class="attrib">@param</span> {string} split_chr Split char/regex/string.
+	 * <span class="attrib">@return</span> Number, string or other object based in parameter and default_value.
+	 * <span class="attrib">@type</span> object
+	 */</span>
+	getParam : <span class="reserved">function</span>(name, default_value, strip_whitespace, split_chr) {
+		var value = (typeof(<span class="reserved">this</span>.settings[name]) == <span class="literal">"undefined"</span>) ? default_value : <span class="reserved">this</span>.settings[name];
+
+		<span class="comment">// Fix bool values</span>
+		<span class="reserved">if</span> (value == <span class="literal">"true"</span> || value == <span class="literal">"false"</span>)
+			<span class="reserved">return</span> (value == <span class="literal">"true"</span>);
+
+		<span class="reserved">if</span> (strip_whitespace)
+			value = tinyMCE.regexpReplace(value, <span class="literal">"[ \t\r\n]"</span>, <span class="literal">""</span>);
+
+		<span class="reserved">if</span> (typeof(split_chr) != <span class="literal">"undefined"</span> &amp;&amp; split_chr != null) {
+			value = value.split(split_chr);
+			var outArray = new Array();
+
+			<span class="reserved">for</span> (var i=0; i&lt;value.length; i++) {
+				<span class="reserved">if</span> (value[i] &amp;&amp; value[i] != <span class="literal">""</span>)
+					outArray[outArray.length] = value[i];
+			}
+
+			value = outArray;
+		}
+
+		<span class="reserved">return</span> value;
+	},
+
+	<span class="comment">/**
+	 * Returns a language variable value from the language packs.
+	 *
+	 * <span class="attrib">@param</span> {string} name Name of the key to retrive.
+	 * <span class="attrib">@param</span> {string} default_value Optional default value to return if it wasn't found.
+	 * <span class="attrib">@param</span> {boolean} parse_entities Is HTML entities to be resolved or not.
+	 * <span class="attrib">@param</span> {Array} va Optional name/value array of variables to replace in language string.	 
+	 * <span class="attrib">@return</span> Language string value could be a number if it's a relative dimenstion.
+	 * <span class="attrib">@type</span> object
+	 */</span>
+	getLang : <span class="reserved">function</span>(name, default_value, parse_entities, va) {
+		var v = (typeof(tinyMCELang[name]) == <span class="literal">"undefined"</span>) ? default_value : tinyMCELang[name], n;
+
+		<span class="reserved">if</span> (parse_entities)
+			v = tinyMCE.entityDecode(v);
+
+		<span class="reserved">if</span> (va) {
+			<span class="reserved">for</span> (n in va)
+				v = <span class="reserved">this</span>.replaceVar(v, n, va[n]);
+		}
+
+		<span class="reserved">return</span> v;
+	},
+
+	<span class="comment">/**
+	 * HTML entity decode a string, replaces &amp;lt; with &lt;.
+	 *
+	 * <span class="attrib">@param</span> {string} s Entity string to decode into normal string.
+	 * <span class="attrib">@return</span> Entity decoded string.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	entityDecode : <span class="reserved">function</span>(s) {
+		var e = document.createElement(<span class="literal">"div"</span>);
+		e.innerHTML = s;
+		<span class="reserved">return</span> e.innerHTML;
+	},
+
+	<span class="comment">/**
+	 * Adds language items to the global language array.
+	 *
+	 * <span class="attrib">@param</span> {string} prefix Prefix string to add infront of every array item before adding it.
+	 * <span class="attrib">@param</span> {Array} ar Language item array to add to global language array.
+	 */</span>
+	addToLang : <span class="reserved">function</span>(prefix, ar) {
+		<span class="reserved">for</span> (var key in ar) {
+			<span class="reserved">if</span> (typeof(ar[key]) == <span class="literal">'function'</span>)
+				continue;
+
+			tinyMCELang[(key.indexOf(<span class="literal">'lang_'</span>) == -1 ? <span class="literal">'lang_'</span> : <span class="literal">''</span>) + (prefix != <span class="literal">''</span> ? (prefix + <span class="literal">"_"</span>) : <span class="literal">''</span>) + key] = ar[key];
+		}
+
+	<span class="comment">//	for (var key in ar)</span>
+	<span class="comment">//		tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = "|" + ar[key] + "|";</span>
+	},
+
+	<span class="comment">/**
+	 * Triggers a nodeChange event to every theme and plugin. This will be executed when the cursor moves or
+	 * when a command that modifies the editor contents is executed.
+	 *
+	 * <span class="attrib">@param</span> {boolean} focus Optional state if the last selected editor instance is to be focused or not.
+	 * <span class="attrib">@param</span> {boolean} setup_content Optional state if it's called from setup content function or not.
+	 */</span>
+	triggerNodeChange : <span class="reserved">function</span>(focus, setup_content) {
+		<span class="reserved">if</span> (tinyMCE.selectedInstance) {
+			var inst = tinyMCE.selectedInstance;
+			var editorId = inst.editorId;
+			var elm = (typeof(setup_content) != <span class="literal">"undefined"</span> &amp;&amp; setup_content) ? tinyMCE.selectedElement : inst.getFocusElement();
+			var undoIndex = -1;
+			var undoLevels = -1;
+			var anySelection = false;
+			var selectedText = inst.selection.getSelectedText();
+
+			<span class="reserved">if</span> (setup_content &amp;&amp; tinyMCE.isGecko &amp;&amp; inst.isHidden())
+				elm = inst.getBody();
+
+			inst.switchSettings();
+
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">"auto_resize"</span>]) {
+				var doc = inst.getDoc();
+
+				inst.iframeElement.style.width = doc.body.offsetWidth + <span class="literal">"px"</span>;
+				inst.iframeElement.style.height = doc.body.offsetHeight + <span class="literal">"px"</span>;
+			}
+
+			<span class="reserved">if</span> (tinyMCE.selectedElement)
+				anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == <span class="literal">"img"</span>) || (selectedText &amp;&amp; selectedText.length &gt; 0);
+
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'custom_undo_redo'</span>]) {
+				undoIndex = inst.undoRedo.undoIndex;
+				undoLevels = inst.undoRedo.undoLevels.length;
+			}
+
+			tinyMCE.dispatchCallback(inst, <span class="literal">'handle_node_change_callback'</span>, <span class="literal">'handleNodeChange'</span>, editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content);
+		}
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.selectedInstance &amp;&amp; (typeof(focus) == <span class="literal">"undefined"</span> || focus))
+			<span class="reserved">this</span>.selectedInstance.contentWindow.focus();
+	},
+
+	<span class="comment">/**
+	 * Executes the custom cleanup functions on the specified content.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance.
+	 * <span class="attrib">@param</span> {string} type Event type to call.
+	 * <span class="attrib">@param</span> {object} content DOM element or string to pass to handlers depending on type.
+	 * <span class="attrib">@return</span> string or DOM element depending on type.
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_customCleanup : <span class="reserved">function</span>(inst, type, content) {
+		var pl, po, i;
+
+		<span class="comment">// Call custom cleanup</span>
+		var customCleanup = tinyMCE.settings[<span class="literal">'cleanup_callback'</span>];
+		<span class="reserved">if</span> (customCleanup != <span class="literal">""</span> &amp;&amp; eval(<span class="literal">"typeof("</span> + customCleanup + <span class="literal">")"</span>) != <span class="literal">"undefined"</span>)
+			content = eval(customCleanup + <span class="literal">"(type, content, inst);"</span>);
+
+		<span class="comment">// Trigger plugin cleanups</span>
+		pl = inst.plugins;
+		<span class="reserved">for</span> (i=0; i&lt;pl.length; i++) {
+			po = tinyMCE.plugins[pl[i]];
+
+			<span class="reserved">if</span> (po &amp;&amp; po.cleanup)
+				content = po.cleanup(type, content, inst);
+		}
+
+		<span class="reserved">return</span> content;
+	},
+
+	<span class="comment">/**
+	 * Sets the HTML contents of the selected editor instance.
+	 *
+	 * <span class="attrib">@param</span> {string} h HTML contents to set in the selected instance.
+	 * <span class="attrib">@deprecated</span>
+	 */</span>
+	setContent : <span class="reserved">function</span>(h) {
+		<span class="reserved">if</span> (tinyMCE.selectedInstance) {
+			tinyMCE.selectedInstance.execCommand(<span class="literal">'mceSetContent'</span>, false, h);
+			tinyMCE.selectedInstance.repaint();
+		}
+	},
+
+	<span class="comment">/**
+	 * Loads a theme specific language pack.
+	 *
+	 * <span class="attrib">@param</span> {string} name Optional name of the theme to load language pack from.
+	 */</span>
+	importThemeLanguagePack : <span class="reserved">function</span>(name) {
+		<span class="reserved">if</span> (typeof(name) == <span class="literal">"undefined"</span>)
+			name = tinyMCE.settings[<span class="literal">'theme'</span>];
+
+		tinyMCE.loadScript(tinyMCE.baseURL + <span class="literal">'/themes/'</span> + name + <span class="literal">'/langs/'</span> + tinyMCE.settings[<span class="literal">'language'</span>] + <span class="literal">'.js'</span>);
+	},
+
+	<span class="comment">/**
+	 * Loads a plugin specific language pack.
+	 *
+	 * <span class="attrib">@param</span> {string} name Plugin name/id to load language pack for.
+	 * <span class="attrib">@param</span> {string} valid_languages Comma separated list of valid languages for the plugin.
+	 */</span>
+	importPluginLanguagePack : <span class="reserved">function</span>(name, valid_languages) {
+		var lang = <span class="literal">"en"</span>, b = tinyMCE.baseURL + <span class="literal">'/plugins/'</span> + name;
+
+		valid_languages = valid_languages.split(<span class="literal">','</span>);
+		<span class="reserved">for</span> (var i=0; i&lt;valid_languages.length; i++) {
+			<span class="reserved">if</span> (tinyMCE.settings[<span class="literal">'language'</span>] == valid_languages[i])
+				lang = tinyMCE.settings[<span class="literal">'language'</span>];
+		}
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.plugins[name])
+			b = <span class="reserved">this</span>.plugins[name].baseURL;
+
+		tinyMCE.loadScript(b + <span class="literal">'/langs/'</span> + lang +  <span class="literal">'.js'</span>);
+	},
+
+	<span class="comment">/**
+	 * Replaces language, args and settings variables in a HTML string.
+	 *
+	 * <span class="attrib">@param</span> {string} h HTML string to replace language variables in.
+	 * <span class="attrib">@param</span> {Array} as Optional arguments array to take variables from.
+	 * <span class="attrib">@return</span> HTML string with replaced varliables.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	applyTemplate : <span class="reserved">function</span>(h, as) {
+		var i, s, ar = h.match(new RegExp(<span class="literal">'\\{\\$[a-z0-9_]+\\}'</span>, <span class="literal">'gi'</span>));
+
+		<span class="reserved">if</span> (ar &amp;&amp; ar.length &gt; 0) {
+			<span class="reserved">for</span> (i=ar.length-1; i&gt;=0; i--) {
+				s = ar[i].substring(2, ar[i].length-1);
+
+				<span class="reserved">if</span> (s.indexOf(<span class="literal">'lang_'</span>) == 0 &amp;&amp; tinyMCELang[s])
+					h = tinyMCE.replaceVar(h, s, tinyMCELang[s]);
+				<span class="reserved">else</span> <span class="reserved">if</span> (as &amp;&amp; as[s])
+					h = tinyMCE.replaceVar(h, s, as[s]);
+				<span class="reserved">else</span> <span class="reserved">if</span> (tinyMCE.settings[s])
+					h = tinyMCE.replaceVar(h, s, tinyMCE.settings[s]);
+			}
+		}
+
+		h = tinyMCE.replaceVar(h, <span class="literal">"themeurl"</span>, tinyMCE.themeURL);
+
+		<span class="reserved">return</span> h;
+	},
+
+	<span class="comment">/**
+	 * Replaces a specific variable in the string with a nother string.
+	 *
+	 * <span class="attrib">@param</span> {string} h String to search in for the variable.
+	 * <span class="attrib">@param</span> {string} r Variable name to search for.
+	 * <span class="attrib">@param</span> {string} v Value to insert where a variable is found.
+	 * <span class="attrib">@return</span> String with replaced variable.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	replaceVar : <span class="reserved">function</span>(h, r, v) {
+		<span class="reserved">return</span> h.replace(new RegExp(<span class="literal">'{\\\$'</span> + r + <span class="literal">'}'</span>, <span class="literal">'g'</span>), v);
+	},
+
+	<span class="comment">/**
+	 * Opens a popup window based in the specified input data. This function
+	 * is used for all popup windows in TinyMCE.
+	 *
+	 * These are the current template keys: file, width, height, close_previous.
+	 *
+	 * <span class="attrib">@param</span> {Array} template Popup template data such as with, height etc.
+	 * <span class="attrib">@param</span> {Array} args Popup arguments that is to be passed to the popup such as custom data.
+	 */</span>
+	openWindow : <span class="reserved">function</span>(template, args) {
+		var html, width, height, x, y, resizable, scrollbars, url;
+
+		args[<span class="literal">'mce_template_file'</span>] = template[<span class="literal">'file'</span>];
+		args[<span class="literal">'mce_width'</span>] = template[<span class="literal">'width'</span>];
+		args[<span class="literal">'mce_height'</span>] = template[<span class="literal">'height'</span>];
+		tinyMCE.windowArgs = args;
+
+		html = template[<span class="literal">'html'</span>];
+		<span class="reserved">if</span> (!(width = parseInt(template[<span class="literal">'width'</span>])))
+			width = 320;
+
+		<span class="reserved">if</span> (!(height = parseInt(template[<span class="literal">'height'</span>])))
+			height = 200;
+
+		<span class="comment">// Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!!</span>
+		<span class="reserved">if</span> (tinyMCE.isMSIE)
+			height += 40;
+		<span class="reserved">else</span>
+			height += 20;
+
+		x = parseInt(screen.width / 2.0) - (width / 2.0);
+		y = parseInt(screen.height / 2.0) - (height / 2.0);
+
+		resizable = (args &amp;&amp; args[<span class="literal">'resizable'</span>]) ? args[<span class="literal">'resizable'</span>] : <span class="literal">"no"</span>;
+		scrollbars = (args &amp;&amp; args[<span class="literal">'scrollbars'</span>]) ? args[<span class="literal">'scrollbars'</span>] : <span class="literal">"no"</span>;
+
+		<span class="reserved">if</span> (template[<span class="literal">'file'</span>].charAt(0) != <span class="literal">'/'</span> &amp;&amp; template[<span class="literal">'file'</span>].indexOf(<span class="literal">'://'</span>) == -1)
+			url = tinyMCE.baseURL + <span class="literal">"/themes/"</span> + tinyMCE.getParam(<span class="literal">"theme"</span>) + <span class="literal">"/"</span> + template[<span class="literal">'file'</span>];
+		<span class="reserved">else</span>
+			url = template[<span class="literal">'file'</span>];
+
+		<span class="comment">// Replace all args as variables in URL</span>
+		<span class="reserved">for</span> (var name in args) {
+			<span class="reserved">if</span> (typeof(args[name]) == <span class="literal">'function'</span>)
+				continue;
+
+			url = tinyMCE.replaceVar(url, name, escape(args[name]));
+		}
+
+		<span class="reserved">if</span> (html) {
+			html = tinyMCE.replaceVar(html, <span class="literal">"css"</span>, <span class="reserved">this</span>.settings[<span class="literal">'popups_css'</span>]);
+			html = tinyMCE.applyTemplate(html, args);
+
+			var win = window.open(<span class="literal">""</span>, <span class="literal">"mcePopup"</span> + new Date().getTime(), <span class="literal">"top="</span> + y + <span class="literal">",left="</span> + x + <span class="literal">",scrollbars="</span> + scrollbars + <span class="literal">",dialog=yes,minimizable="</span> + resizable + <span class="literal">",modal=yes,width="</span> + width + <span class="literal">",height="</span> + height + <span class="literal">",resizable="</span> + resizable);
+			<span class="reserved">if</span> (win == null) {
+				alert(tinyMCELang[<span class="literal">'lang_popup_blocked'</span>]);
+				<span class="reserved">return</span>;
+			}
+
+			win.document.write(html);
+			win.document.close();
+			win.resizeTo(width, height);
+			win.focus();
+		} <span class="reserved">else</span> {
+			<span class="reserved">if</span> ((tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera) &amp;&amp; resizable != <span class="literal">'yes'</span> &amp;&amp; tinyMCE.settings[<span class="literal">"dialog_type"</span>] == <span class="literal">"modal"</span>) {
+				height += 10;
+
+				var features = <span class="literal">"resizable:"</span> + resizable 
+					+ <span class="literal">";scroll:"</span>
+					+ scrollbars + <span class="literal">";status:yes;center:yes;help:no;dialogWidth:"</span>
+					+ width + <span class="literal">"px;dialogHeight:"</span> + height + <span class="literal">"px;"</span>;
+
+				window.showModalDialog(url, window, features);
+			} <span class="reserved">else</span> {
+				var modal = (resizable == <span class="literal">"yes"</span>) ? <span class="literal">"no"</span> : <span class="literal">"yes"</span>;
+
+				<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; tinyMCE.isMac)
+					modal = <span class="literal">"no"</span>;
+
+				<span class="reserved">if</span> (template[<span class="literal">'close_previous'</span>] != <span class="literal">"no"</span>)
+					try {tinyMCE.lastWindow.close();} catch (ex) {}
+
+				var win = window.open(url, <span class="literal">"mcePopup"</span> + new Date().getTime(), <span class="literal">"top="</span> + y + <span class="literal">",left="</span> + x + <span class="literal">",scrollbars="</span> + scrollbars + <span class="literal">",dialog="</span> + modal + <span class="literal">",minimizable="</span> + resizable + <span class="literal">",modal="</span> + modal + <span class="literal">",width="</span> + width + <span class="literal">",height="</span> + height + <span class="literal">",resizable="</span> + resizable);
+				<span class="reserved">if</span> (win == null) {
+					alert(tinyMCELang[<span class="literal">'lang_popup_blocked'</span>]);
+					<span class="reserved">return</span>;
+				}
+
+				<span class="reserved">if</span> (template[<span class="literal">'close_previous'</span>] != <span class="literal">"no"</span>)
+					tinyMCE.lastWindow = win;
+
+				eval(<span class="literal">'try { win.resizeTo(width, height); } catch(e) { }'</span>);
+
+				<span class="comment">// Make it bigger if statusbar is forced</span>
+				<span class="reserved">if</span> (tinyMCE.isGecko) {
+					<span class="reserved">if</span> (win.document.defaultView.statusbar.visible)
+						win.resizeBy(0, tinyMCE.isMac ? 10 : 24);
+				}
+
+				win.focus();
+			}
+		}
+	},
+
+	<span class="comment">/**
+	 * Closes the specified window. This function is deprecated and should be replaced with
+	 * tinyMCEPopup.close();.
+	 *
+	 * <span class="attrib">@param</span> {DOMWindow} win Window reference to close.
+	 * <span class="attrib">@deprecated</span>
+	 */</span>
+	closeWindow : <span class="reserved">function</span>(win) {
+		win.close();
+	},
+
+	<span class="comment">/**
+	 * Returns the visual aid class string, this will add/remove the visual aid class.
+	 *
+	 * <span class="attrib">@param</span> {string} class_name Class name value to add/remove visual aid classes from.
+	 * <span class="attrib">@param</span> {boolean} state true/false if the classes should be added or removed.
+	 * <span class="attrib">@return</span> New class value containing the visual aid classes or not.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	getVisualAidClass : <span class="reserved">function</span>(class_name, state) {
+		var aidClass = tinyMCE.settings[<span class="literal">'visual_table_class'</span>];
+
+		<span class="reserved">if</span> (typeof(state) == <span class="literal">"undefined"</span>)
+			state = tinyMCE.settings[<span class="literal">'visual'</span>];
+
+		<span class="comment">// Split</span>
+		var classNames = new Array();
+		var ar = class_name.split(<span class="literal">' '</span>);
+		<span class="reserved">for</span> (var i=0; i&lt;ar.length; i++) {
+			<span class="reserved">if</span> (ar[i] == aidClass)
+				ar[i] = <span class="literal">""</span>;
+
+			<span class="reserved">if</span> (ar[i] != <span class="literal">""</span>)
+				classNames[classNames.length] = ar[i];
+		}
+
+		<span class="reserved">if</span> (state)
+			classNames[classNames.length] = aidClass;
+
+		<span class="comment">// Glue</span>
+		var className = <span class="literal">""</span>;
+		<span class="reserved">for</span> (var i=0; i&lt;classNames.length; i++) {
+			<span class="reserved">if</span> (i &gt; 0)
+				className += <span class="literal">" "</span>;
+
+			className += classNames[i];
+		}
+
+		<span class="reserved">return</span> className;
+	},
+
+	<span class="comment">/**
+	 * Adds visual aid classes to all elements that need them recursive in the DOM tree.
+	 *
+	 * <span class="attrib">@param</span> {HTMLElement} el HTML element to add visual aid classes to.
+	 * <span class="attrib">@param</span> {boolean} deep Should they be added to all children aswell.
+	 * <span class="attrib">@param</span> {boolean} state Should they be added or removed.
+	 * <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance to add/remove them to/from.
+	 */</span>
+	handleVisualAid : <span class="reserved">function</span>(el, deep, state, inst, skip_dispatch) {
+		<span class="reserved">if</span> (!el)
+			<span class="reserved">return</span>;
+
+		<span class="reserved">if</span> (!skip_dispatch)
+			tinyMCE.dispatchCallback(inst, <span class="literal">'handle_visual_aid_callback'</span>, <span class="literal">'handleVisualAid'</span>, el, deep, state, inst);
+
+		var tableElement = null;
+
+		switch (el.nodeName) {
+			case <span class="literal">"TABLE"</span>:
+				var oldW = el.style.width;
+				var oldH = el.style.height;
+				var bo = tinyMCE.getAttrib(el, <span class="literal">"border"</span>);
+
+				bo = bo == <span class="literal">""</span> || bo == <span class="literal">"0"</span> ? true : false;
+
+				tinyMCE.setAttrib(el, <span class="literal">"class"</span>, tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, <span class="literal">"class"</span>), state &amp;&amp; bo));
+
+				el.style.width = oldW;
+				el.style.height = oldH;
+
+				<span class="reserved">for</span> (var y=0; y&lt;el.rows.length; y++) {
+					<span class="reserved">for</span> (var x=0; x&lt;el.rows[y].cells.length; x++) {
+						var cn = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x], <span class="literal">"class"</span>), state &amp;&amp; bo);
+						tinyMCE.setAttrib(el.rows[y].cells[x], <span class="literal">"class"</span>, cn);
+					}
+				}
+
+				break;
+
+			case <span class="literal">"A"</span>:
+				var anchorName = tinyMCE.getAttrib(el, <span class="literal">"name"</span>);
+
+				<span class="reserved">if</span> (anchorName != <span class="literal">''</span> &amp;&amp; state) {
+					el.title = anchorName;
+					el.className = <span class="literal">'mceItemAnchor'</span>;
+				} <span class="reserved">else</span> <span class="reserved">if</span> (anchorName != <span class="literal">''</span> &amp;&amp; !state)
+					el.className = <span class="literal">''</span>;
+
+				break;
+		}
+
+		<span class="reserved">if</span> (deep &amp;&amp; el.hasChildNodes()) {
+			<span class="reserved">for</span> (var i=0; i&lt;el.childNodes.length; i++)
+				tinyMCE.handleVisualAid(el.childNodes[i], deep, state, inst, true);
+		}
+	},
+
+	<span class="comment">/*
+	applyClassesToFonts : function(doc, size) {
+		var f = doc.getElementsByTagName("font");
+		for (var i=0; i&lt;f.length; i++) {
+			var s = tinyMCE.getAttrib(f[i], "size");
+
+			if (s != "")
+				tinyMCE.setAttrib(f[i], 'class', "mceItemFont" + s);
+		}
+
+		if (typeof(size) != "undefined") {
+			var css = "";
+
+			for (var x=0; x&lt;doc.styleSheets.length; x++) {
+				for (var i=0; i&lt;doc.styleSheets[x].rules.length; i++) {
+					if (doc.styleSheets[x].rules[i].selectorText == '#mceSpanFonts .mceItemFont' + size) {
+						css = doc.styleSheets[x].rules[i].style.cssText;
+						break;
+					}
+				}
+
+				if (css != "")
+					break;
+			}
+
+			if (doc.styleSheets[0].rules[0].selectorText == "FONT")
+				doc.styleSheets[0].removeRule(0);
+
+			doc.styleSheets[0].addRule("FONT", css, 0);
+		}
+	},
+	*/</span>
+
+	<span class="comment">/**
+	 * Fixes a Gecko specific bug where href, src attribute values gets converted incorrectly
+	 * when inserted into editor. This function will replace all src, href with mce_tsrc and mce_thref
+	 * to keep the values from chaging when they get inserted.
+	 *
+	 * <span class="attrib">@param</span> {boolean} m Mode state, true is to replace the src, href attributes to mce_tsrc and mce_thref.
+	 * <span class="attrib">@param</span> {HTMLElement} e HTML element to replace them in. (Will be used if m is 0)
+	 * <span class="attrib">@param</span> {string} h HTML code to replace them in. (Will be used if m is 1)
+	 * <span class="attrib">@return</span> Converted string or the specified HTML value depending on mode.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	fixGeckoBaseHREFBug : <span class="reserved">function</span>(m, e, h) {
+		var nl, i, a, n, xsrc, xhref, el;
+
+		<span class="reserved">if</span> (tinyMCE.isGecko) {
+			<span class="reserved">if</span> (m == 1) {
+				h = h.replace(/\ssrc=/gi, <span class="literal">" mce_tsrc="</span>);
+				h = h.replace(/\shref=/gi, <span class="literal">" mce_thref="</span>);
+
+				<span class="reserved">return</span> h;
+			} <span class="reserved">else</span> {
+				el = new Array(<span class="literal">'a'</span>,<span class="literal">'img'</span>,<span class="literal">'select'</span>,<span class="literal">'area'</span>,<span class="literal">'iframe'</span>,<span class="literal">'base'</span>,<span class="literal">'input'</span>,<span class="literal">'script'</span>,<span class="literal">'embed'</span>,<span class="literal">'object'</span>,<span class="literal">'link'</span>);
+
+				<span class="reserved">for</span> (a=0; a&lt;el.length; a++) {
+					n = e.getElementsByTagName(el[a]);
+
+					<span class="reserved">for</span> (i=0; i&lt;n.length; i++) {
+						xsrc = tinyMCE.getAttrib(n[i], <span class="literal">"mce_tsrc"</span>);
+						xhref = tinyMCE.getAttrib(n[i], <span class="literal">"mce_thref"</span>);
+
+						<span class="reserved">if</span> (xsrc != <span class="literal">""</span>) {
+							try {
+								n[i].src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], xsrc);
+							} catch (e) {
+								<span class="comment">// Ignore, Firefox cast exception if local file wasn't found</span>
+							}
+
+							n[i].removeAttribute(<span class="literal">"mce_tsrc"</span>);
+						}
+
+						<span class="reserved">if</span> (xhref != <span class="literal">""</span>) {
+							try {
+								n[i].href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], xhref);
+							} catch (e) {
+								<span class="comment">// Ignore, Firefox cast exception if local file wasn't found</span>
+							}
+
+							n[i].removeAttribute(<span class="literal">"mce_thref"</span>);
+						}
+					}
+				}
+
+				el = tinyMCE.selectNodes(e, <span class="reserved">function</span>(n) {
+					<span class="reserved">if</span> (n.nodeType == 3 || n.nodeType == 8) {
+						n.nodeValue = n.nodeValue.replace(/\smce_tsrc=/gi, <span class="literal">" src="</span>);
+						n.nodeValue = n.nodeValue.replace(/\smce_thref=/gi, <span class="literal">" href="</span>);
+					}
+
+					<span class="reserved">return</span> false;
+				});
+			}
+		}
+
+		<span class="reserved">return</span> h;
+	},
+
+	<span class="comment">/**
+	 * Sets the HTML code of a specific document.
+	 * Todo: Try to merge/remove this one.
+	 *
+	 * <span class="attrib">@param</span> {DOMDocument} doc DOM document to set the HTML code in.
+	 * <span class="attrib">@param</span> {string} html_content HTML contents to set in DOM document.
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_setHTML : <span class="reserved">function</span>(doc, html_content) {
+		<span class="comment">// Force closed anchors open</span>
+		<span class="comment">//html_content = html_content.replace(new RegExp('&lt;a(.*?)/&gt;', 'gi'), '&lt;a$1&gt;&lt;/a&gt;');</span>
+
+		html_content = tinyMCE.cleanupHTMLCode(html_content);
+
+		<span class="comment">// Try innerHTML if it fails use pasteHTML in MSIE</span>
+		try {
+			tinyMCE.setInnerHTML(doc.body, html_content);
+		} catch (e) {
+			<span class="reserved">if</span> (<span class="reserved">this</span>.isMSIE)
+				doc.body.createTextRange().pasteHTML(html_content);
+		}
+
+		<span class="comment">// Content duplication bug fix</span>
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; tinyMCE.settings[<span class="literal">'fix_content_duplication'</span>]) {
+			<span class="comment">// Remove P elements in P elements</span>
+			var paras = doc.getElementsByTagName(<span class="literal">"P"</span>);
+			<span class="reserved">for</span> (var i=0; i&lt;paras.length; i++) {
+				var node = paras[i];
+				<span class="reserved">while</span> ((node = node.parentNode) != null) {
+					<span class="reserved">if</span> (node.nodeName == <span class="literal">"P"</span>)
+						node.outerHTML = node.innerHTML;
+				}
+			}
+
+			<span class="comment">// Content duplication bug fix (Seems to be word crap)</span>
+			var html = doc.body.innerHTML;
+<span class="comment">/*
+			if (html.indexOf('="mso') != -1) {
+				for (var i=0; i&lt;doc.body.all.length; i++) {
+					var el = doc.body.all[i];
+					el.removeAttribute("className","",0);
+					el.removeAttribute("style","",0);
+				}
+
+				html = doc.body.innerHTML;
+				html = tinyMCE.regexpReplace(html, "&lt;o:p&gt;&lt;\/o:p&gt;", "&lt;br /&gt;");
+				html = tinyMCE.regexpReplace(html, "&lt;o:p&gt;&amp;nbsp;&lt;\/o:p&gt;", "");
+				html = tinyMCE.regexpReplace(html, "&lt;st1:.*?&gt;", "");
+				html = tinyMCE.regexpReplace(html, "&lt;p&gt;&lt;\/p&gt;", "");
+				html = tinyMCE.regexpReplace(html, "&lt;p&gt;&lt;\/p&gt;\r\n&lt;p&gt;&lt;\/p&gt;", "");
+				html = tinyMCE.regexpReplace(html, "&lt;p&gt;&amp;nbsp;&lt;\/p&gt;", "&lt;br /&gt;");
+				html = tinyMCE.regexpReplace(html, "&lt;p&gt;\s*(&lt;p&gt;\s*)?", "&lt;p&gt;");
+				html = tinyMCE.regexpReplace(html, "&lt;\/p&gt;\s*(&lt;\/p&gt;\s*)?", "&lt;/p&gt;");
+			}*/</span>
+
+			<span class="comment">// Always set the htmlText output</span>
+			tinyMCE.setInnerHTML(doc.body, html);
+		}
+
+		tinyMCE.cleanupAnchors(doc);
+
+		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
+			tinyMCE.convertSpansToFonts(doc);
+	},
+
+	<span class="comment">/**
+	 * Returns the editor instance id of a specific form element.
+	 *
+	 * <span class="attrib">@param</span> {string} form_element Form element name to get instance id for.
+	 * <span class="attrib">@return</span> TinyMCE editor instance id or null if it wasn't found.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	getEditorId : <span class="reserved">function</span>(form_element) {
+		var inst = <span class="reserved">this</span>.getInstanceById(form_element);
+		<span class="reserved">if</span> (!inst)
+			<span class="reserved">return</span> null;
+
+		<span class="reserved">return</span> inst.editorId;
+	},
+
+	<span class="comment">/**
+	 * Returns a TinyMCE editor instance by the specified editor id or null if it wasn't found.
+	 *
+	 * <span class="attrib">@param</span> {string} editor_id Editor id to get instance for.
+	 * <span class="attrib">@return</span> TinyMCE editor control instance or null if it wasn't found.
+	 * <span class="attrib">@type</span> TinyMCE_Control
+	 */</span>
+	getInstanceById : <span class="reserved">function</span>(editor_id) {
+		var inst = <span class="reserved">this</span>.instances[editor_id];
+		<span class="reserved">if</span> (!inst) {
+			<span class="reserved">for</span> (var n in tinyMCE.instances) {
+				var instance = tinyMCE.instances[n];
+				<span class="reserved">if</span> (!tinyMCE.isInstance(instance))
+					continue;
+
+				<span class="reserved">if</span> (instance.formTargetElementId == editor_id) {
+					inst = instance;
+					break;
+				}
+			}
+		}
+
+		<span class="reserved">return</span> inst;
+	},
+
+	<span class="comment">/**
+	 * Queries a command value for a specific command on a specific editor instance.
+	 *
+	 * <span class="attrib">@param</span> {string} editor_id Editor id to query command value on.
+	 * <span class="attrib">@param</span> {string} command Command to query for.
+	 * <span class="attrib">@return</span> Command value passed from browser.
+	 * <span class="attrib">@type</span> object
+	 */</span>
+	queryInstanceCommandValue : <span class="reserved">function</span>(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		<span class="reserved">if</span> (inst)
+			<span class="reserved">return</span> inst.queryCommandValue(command);
+
+		<span class="reserved">return</span> false;
+	},
+
+	<span class="comment">/**
+	 * Queries a command state for a specific command on a specific editor instance.
+	 *
+	 * <span class="attrib">@param</span> {string} editor_id Editor id to query command state on.
+	 * <span class="attrib">@param</span> {string} command Command to query for.
+	 * <span class="attrib">@return</span> Command state passed from browser.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	queryInstanceCommandState : <span class="reserved">function</span>(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		<span class="reserved">if</span> (inst)
+			<span class="reserved">return</span> inst.queryCommandState(command);
+
+		<span class="reserved">return</span> null;
+	},
+
+	<span class="comment">/**
+	 * Sets the window argument to be passed to TinyMCE popup.
+	 *
+	 * <span class="attrib">@param</span> {string} n Window argument name.
+	 * <span class="attrib">@param</span> {string} v Window argument value.
+	 */</span>
+	setWindowArg : <span class="reserved">function</span>(n, v) {
+		<span class="reserved">this</span>.windowArgs[n] = v;
+	},
+
+	<span class="comment">/**
+	 * Returns the window argument to be passed to TinyMCE popup.
+	 * Use: tinyMCEPopup.getWindowArg instead.
+	 *
+	 * <span class="attrib">@param</span> {string} n Window argument name.
+	 * <span class="attrib">@return</span> Argument value or default value if it wasn't found.
+	 * <span class="attrib">@deprecated</span>
+	 */</span>
+	getWindowArg : <span class="reserved">function</span>(n, d) {
+		<span class="reserved">return</span> (typeof(<span class="reserved">this</span>.windowArgs[n]) == <span class="literal">"undefined"</span>) ? d : <span class="reserved">this</span>.windowArgs[n];
+	},
+
+	<span class="comment">/**
+	 * Returns a array of CSS classes that is available in a document.
+	 * Todo: Fix this one, it's so ugly. :)
+	 *
+	 * <span class="attrib">@param</span> {string} editor_id Editor id to get CSS classes from.
+	 * <span class="attrib">@param</span> {DOMDocument} doc DOM document to get the CSS classes from.
+	 * <span class="attrib">@return</span> Array of CSS classes that is available in a document.
+	 * <span class="attrib">@type</span> Array
+	 */</span>
+	getCSSClasses : <span class="reserved">function</span>(editor_id, doc) {
+		var output = new Array();
+
+		<span class="comment">// Is cached, use that</span>
+		<span class="reserved">if</span> (typeof(tinyMCE.cssClasses) != <span class="literal">"undefined"</span>)
+			<span class="reserved">return</span> tinyMCE.cssClasses;
+
+		<span class="reserved">if</span> (typeof(editor_id) == <span class="literal">"undefined"</span> &amp;&amp; typeof(doc) == <span class="literal">"undefined"</span>) {
+			var instance;
+
+			<span class="reserved">for</span> (var instanceName in tinyMCE.instances) {
+				instance = tinyMCE.instances[instanceName];
+				<span class="reserved">if</span> (!tinyMCE.isInstance(instance))
+					continue;
+
+				break;
+			}
+
+			doc = instance.getDoc();
+		}
+
+		<span class="reserved">if</span> (typeof(doc) == <span class="literal">"undefined"</span>) {
+			var instance = tinyMCE.getInstanceById(editor_id);
+			doc = instance.getDoc();
+		}
+
+		<span class="reserved">if</span> (doc) {
+			var styles = doc.styleSheets;
+
+			<span class="reserved">if</span> (styles &amp;&amp; styles.length &gt; 0) {
+				<span class="reserved">for</span> (var x=0; x&lt;styles.length; x++) {
+					var csses = null;
+
+					<span class="comment">// Just ignore any errors</span>
+					eval(<span class="literal">"try {var csses = tinyMCE.isMSIE ? doc.styleSheets("</span> + x + <span class="literal">").rules : styles["</span> + x + <span class="literal">"].cssRules;} catch(e) {}"</span>);
+					<span class="reserved">if</span> (!csses)
+						<span class="reserved">return</span> new Array();
+
+					<span class="reserved">for</span> (var i=0; i&lt;csses.length; i++) {
+						var selectorText = csses[i].selectorText;
+
+						<span class="comment">// Can be multiple rules per selector</span>
+						<span class="reserved">if</span> (selectorText) {
+							var rules = selectorText.split(<span class="literal">','</span>);
+							<span class="reserved">for</span> (var c=0; c&lt;rules.length; c++) {
+								var rule = rules[c];
+
+								<span class="comment">// Strip spaces between selectors</span>
+								<span class="reserved">while</span> (rule.indexOf(<span class="literal">' '</span>) == 0)
+									rule = rule.substring(1);
+
+								<span class="comment">// Invalid rule</span>
+								<span class="reserved">if</span> (rule.indexOf(<span class="literal">' '</span>) != -1 || rule.indexOf(<span class="literal">':'</span>) != -1 || rule.indexOf(<span class="literal">'mceItem'</span>) != -1)
+									continue;
+
+								<span class="reserved">if</span> (rule.indexOf(tinyMCE.settings[<span class="literal">'visual_table_class'</span>]) != -1 || rule.indexOf(<span class="literal">'mceEditable'</span>) != -1 || rule.indexOf(<span class="literal">'mceNonEditable'</span>) != -1)
+									continue;
+
+								<span class="comment">// Is class rule</span>
+								<span class="reserved">if</span> (rule.indexOf(<span class="literal">'.'</span>) != -1) {
+									var cssClass = rule.substring(rule.indexOf(<span class="literal">'.'</span>) + 1);
+									var addClass = true;
+
+									<span class="reserved">for</span> (var p=0; p&lt;output.length &amp;&amp; addClass; p++) {
+										<span class="reserved">if</span> (output[p] == cssClass)
+											addClass = false;
+									}
+
+									<span class="reserved">if</span> (addClass)
+										output[output.length] = cssClass;
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+
+		<span class="comment">// Cache em</span>
+		<span class="reserved">if</span> (output.length &gt; 0)
+			tinyMCE.cssClasses = output;
+
+		<span class="reserved">return</span> output;
+	},
+
+	<span class="comment">/**
+	 * Regexp replaces the contents of a string. Use normal replace instead.
+	 *
+	 * <span class="attrib">@param</span> {string} in_str String to replace in.
+	 * <span class="attrib">@param</span> {string} reg_exp Regexp to replace.
+	 * <span class="attrib">@param</span> {string} replace_str String to replace with.
+	 * <span class="attrib">@param</span> {string} in_str Optional regexp options like "gi".
+	 * <span class="attrib">@return</span> Replaced string value.
+	 * <span class="attrib">@type</span> string
+	 * <span class="attrib">@deprecated</span>
+	 */</span>
+	regexpReplace : <span class="reserved">function</span>(in_str, reg_exp, replace_str, opts) {
+		<span class="reserved">if</span> (in_str == null)
+			<span class="reserved">return</span> in_str;
+
+		<span class="reserved">if</span> (typeof(opts) == <span class="literal">"undefined"</span>)
+			opts = <span class="literal">'g'</span>;
+
+		var re = new RegExp(reg_exp, opts);
+		<span class="reserved">return</span> in_str.replace(re, replace_str);
+	},
+
+	<span class="comment">/**
+	 * Removes all prefix, suffix whitespace of a string.
+	 *
+	 * <span class="attrib">@param</span> {string} s String to replace whitespace in.
+	 * <span class="attrib">@return</span> Replaced string value.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	trim : <span class="reserved">function</span>(s) {
+		<span class="reserved">return</span> s.replace(/^\s*|\s*$/g, <span class="literal">""</span>);
+	},
+
+	<span class="comment">/**
+	 * Removes MSIE 5.5 specific event wrapper function form a event string.
+	 * This will also remove the event blocker if it's added in front of the event.
+	 *
+	 * <span class="attrib">@param</span> {string} s String to replace event data in.
+	 * <span class="attrib">@return</span> Replaced string value.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	cleanupEventStr : <span class="reserved">function</span>(s) {
+		s = <span class="literal">""</span> + s;
+		s = s.replace(<span class="literal">'function anonymous()\n{\n'</span>, <span class="literal">''</span>);
+		s = s.replace(<span class="literal">'\n}'</span>, <span class="literal">''</span>);
+		s = s.replace(/^<span class="reserved">return</span> true;/gi, <span class="literal">''</span>); <span class="comment">// Remove event blocker</span>
+
+		<span class="reserved">return</span> s;
+	},
+
+	<span class="comment">/**
+	 * Returns the HTML for the specified control this will loop through
+	 * the theme and all plugins inorder to find the control. The callback for each
+	 * theme and plugin is called getControlHTML.
+	 *
+	 * <span class="attrib">@param</span> {string} c Control name/id to get HTML code for.
+	 * <span class="attrib">@return</span> HTML code for the specified control or empty string if it wasn't found.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	getControlHTML : <span class="reserved">function</span>(c) {
+		var i, l, n, o, v;
+
+		l = tinyMCE.plugins;
+		<span class="reserved">for</span> (n in l) {
+			o = l[n];
+
+			<span class="reserved">if</span> (o.getControlHTML &amp;&amp; (v = o.getControlHTML(c)) != <span class="literal">''</span>)
+				<span class="reserved">return</span> tinyMCE.replaceVar(v, <span class="literal">"pluginurl"</span>, o.baseURL);
+		}
+
+		o = tinyMCE.themes[tinyMCE.settings[<span class="literal">'theme'</span>]];
+		<span class="reserved">if</span> (o.getControlHTML &amp;&amp; (v = o.getControlHTML(c)) != <span class="literal">''</span>)
+			<span class="reserved">return</span> v;
+
+		<span class="reserved">return</span> <span class="literal">''</span>;
+	},
+
+	<span class="comment">/**
+	 * Evaluates the specified function and uses the array of arguments.
+	 *
+	 * <span class="attrib">@param</span> {string} f Function reference to execute.
+	 * <span class="attrib">@param</span> {int} idx Index in array to start grabbing arguments from.
+	 * <span class="attrib">@param</span> {Array} a Array of function arguments.
+	 * <span class="attrib">@return</span> Value returned from the evaluated function.
+	 * <span class="attrib">@type</span> object
+	 */</span>
+	evalFunc : <span class="reserved">function</span>(f, idx, a) {
+		var s = <span class="literal">'('</span>, i;
+
+		<span class="reserved">for</span> (i=idx; i&lt;a.length; i++) {
+			s += <span class="literal">'a['</span> + i + <span class="literal">']'</span>;
+
+			<span class="reserved">if</span> (i &lt; a.length-1)
+				s += <span class="literal">','</span>;
+		}
+
+		s += <span class="literal">');'</span>;
+
+		<span class="reserved">return</span> eval(<span class="literal">"f"</span> + s);
+	},
+
+	<span class="comment">/**
+	 * Dispatches the specified callback on all options, plugins and themes. This will not
+	 * chain them, so all functions callbacks will be executed regardless if the return true/false.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_Control} i TinyMCE editor control instance to execute callback on.
+	 * <span class="attrib">@param</span> {string} p TinyMCE callback parameter to execute.
+	 * <span class="attrib">@param</span> {string} n Function name to execute.
+	 * <span class="attrib">@return</span> true/false if they where dispatched.
+	 */</span>
+	dispatchCallback : <span class="reserved">function</span>(i, p, n) {
+		<span class="reserved">return</span> <span class="reserved">this</span>.callFunc(i, p, n, 0, <span class="reserved">this</span>.dispatchCallback.arguments);
+	},
+
+	<span class="comment">/**
+	 * Executes the specified callback on all options, plugins and themes. This will
+	 * chain them, so callback chain will be broken if one function returns false.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_Control} i TinyMCE editor control instance to execute callback on.
+	 * <span class="attrib">@param</span> {string} p TinyMCE callback parameter to execute.
+	 * <span class="attrib">@param</span> {string} n Function name to execute.
+	 * <span class="attrib">@return</span> true/false if a callback was executed.
+	 */</span>
+	executeCallback : <span class="reserved">function</span>(i, p, n) {
+		<span class="reserved">return</span> <span class="reserved">this</span>.callFunc(i, p, n, 1, <span class="reserved">this</span>.executeCallback.arguments);
+	},
+
+	<span class="comment">/**
+	 * Executes the specified execcommand callback on all options, plugins and themes. This will
+	 * chain them, so callback chain will be broken if one function returns true.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_Control} i TinyMCE editor control instance to execute callback on.
+	 * <span class="attrib">@param</span> {string} p TinyMCE callback parameter to execute.
+	 * <span class="attrib">@param</span> {string} n Function name to execute.
+	 * <span class="attrib">@return</span> true/false if a callback was executed.
+	 */</span>
+	execCommandCallback : <span class="reserved">function</span>(i, p, n) {
+		<span class="reserved">return</span> <span class="reserved">this</span>.callFunc(i, p, n, 2, <span class="reserved">this</span>.execCommandCallback.arguments);
+	},
+
+	<span class="comment">/**
+	 * Executes callback chain. Callback order: Option, Plugins, Themes.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_Control} ins TinyMCE editor control instance to execute callback on.
+	 * <span class="attrib">@param</span> {string} p TinyMCE callback parameter name.
+	 * <span class="attrib">@param</span> {string} n Function name to execute.
+	 * <span class="attrib">@param</span> {int} m Execution mode value, 0 = no chain, 1 = event chain, 2 = execcommand chain.
+	 * <span class="attrib">@param</span> {Array} a Array with function arguments.
+	 * <span class="attrib">@return</span> true - if the callback was executed, false if it wasn't.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	callFunc : <span class="reserved">function</span>(ins, p, n, m, a) {
+		var l, i, on, o, s, v;
+
+		s = m == 2;
+
+		l = tinyMCE.getParam(p, <span class="literal">''</span>);
+
+		<span class="reserved">if</span> (l != <span class="literal">''</span> &amp;&amp; (v = tinyMCE.evalFunc(typeof(l) == <span class="literal">"function"</span> ? l : eval(l), 3, a)) == s &amp;&amp; m &gt; 0)
+			<span class="reserved">return</span> true;
+
+		<span class="reserved">if</span> (ins != null) {
+			<span class="reserved">for</span> (i=0, l = ins.plugins; i&lt;l.length; i++) {
+				o = tinyMCE.plugins[l[i]];
+
+				<span class="reserved">if</span> (o[n] &amp;&amp; (v = tinyMCE.evalFunc(o[n], 3, a)) == s &amp;&amp; m &gt; 0)
+					<span class="reserved">return</span> true;
+			}
+		}
+
+		l = tinyMCE.themes;
+		<span class="reserved">for</span> (on in l) {
+			o = l[on];
+
+			<span class="reserved">if</span> (o[n] &amp;&amp; (v = tinyMCE.evalFunc(o[n], 3, a)) == s &amp;&amp; m &gt; 0)
+				<span class="reserved">return</span> true;
+		}
+
+		<span class="reserved">return</span> false;
+	},
+
+	<span class="comment">/**
+	 * Encodes the string to raw XML entities. This will only convert the most common ones.
+	 * For real entity encoding use the xmlEncode method of the Cleanup class.
+	 *
+	 * <span class="attrib">@param</span> {string} s String to encode.
+	 * <span class="attrib">@return</span> XML Encoded string.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	xmlEncode : <span class="reserved">function</span>(s) {
+		s = <span class="literal">""</span> + s;
+		s = s.replace(/&amp;/g, <span class="literal">'&amp;amp;'</span>);
+		s = s.replace(new RegExp(<span class="literal">'"'</span>, <span class="literal">'g'</span>), <span class="literal">'&amp;quot;'</span>);
+		s = s.replace(/\<span class="literal">'/g, '</span>&amp;#39;<span class="literal">'); // &amp;apos; is not working in MSIE
+		s = s.replace(/&lt;/g, '</span>&amp;lt;<span class="literal">');
+		s = s.replace(/&gt;/g, '</span>&amp;gt;');
+
+		<span class="reserved">return</span> s;
+	},
+
+	<span class="comment">/**
+	 * Extends the specified prototype with new methods.
+	 *
+	 * <span class="attrib">@param</span> {Object} p Prototype to extend with new methods.
+	 * <span class="attrib">@param</span> {Object} np New prototype to extend the other one with.
+	 * <span class="attrib">@return</span> Extended prototype array.
+	 * <span class="attrib">@type</span> Object
+	 */</span>
+	extend : <span class="reserved">function</span>(p, np) {
+		var o = {};
+
+		o.parent = p;
+
+		<span class="reserved">for</span> (n in p)
+			o[n] = p[n];
+
+		<span class="reserved">for</span> (n in np)
+			o[n] = np[n];
+
+		<span class="reserved">return</span> o;
+	},
+
+	<span class="comment">/**
+	 * Hides any visible menu layers.
+	 *
+	 * <span class="attrib">@private</span>
+	 */</span>
+	hideMenus : <span class="reserved">function</span>() {
+		var e = tinyMCE.lastSelectedMenuBtn;
+
+		<span class="reserved">if</span> (tinyMCE.lastMenu) {
+			tinyMCE.lastMenu.hide();
+			tinyMCE.lastMenu = null;
+		}
+
+		<span class="reserved">if</span> (e) {
+			tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass);
+			tinyMCE.lastSelectedMenuBtn = null;
+		}
+	},
+
+	<span class="comment">/**
+	 * Splits a string by the specified delimiter and skips any empty items.
+	 *
+	 * <span class="attrib">@param</span> {string} d Delimiter to split by.
+	 * <span class="attrib">@param</span> {string} s String to split.
+	 * <span class="attrib">@return</span> Array with chunks from string.
+	 * <span class="attrib">@type</span> Array
+	 */</span>
+	explode : <span class="reserved">function</span>(d, s) {
+		var ar = s.split(d), oar = new Array(), i;
+	
+		<span class="reserved">for</span> (i = 0; i&lt;ar.length; i++) {
+			<span class="reserved">if</span> (ar[i] != <span class="literal">""</span>)
+				oar[oar.length] = ar[i];
+		}
+	
+		<span class="reserved">return</span> oar;
+	}
+};
+
+<span class="comment">// Global instances</span>
+var TinyMCE = TinyMCE_Engine; <span class="comment">// Compatiblity with gzip compressors</span>
+var tinyMCE = new TinyMCE_Engine();
+var tinyMCELang = {};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Event.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Event.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Event.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Event.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,403 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Event.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Event.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Event.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Event.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:30 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ *
+ * The contents of this file will be wrapped in a class later on.
+ */</span>
+
+<span class="comment">/**
+ * Sets the enabled/disabled state of build in events on the specific node.
+ * This function is needed since some events gets executed in WYSIWYG mode.
+ *
+ * <span class="attrib">@param</span> {HTMLNode} node HTML node to enable/disable events on.
+ * <span class="attrib">@param</span> {boolean} state true/false state if the events should be disabled or enabled.
+ * <span class="attrib">@private</span>
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>._setEventsEnabled = <span class="reserved">function</span>(node, state) {
+	var events = new Array(<span class="literal">'onfocus'</span>,<span class="literal">'onblur'</span>,<span class="literal">'onclick'</span>,<span class="literal">'ondblclick'</span>,
+				<span class="literal">'onmousedown'</span>,<span class="literal">'onmouseup'</span>,<span class="literal">'onmouseover'</span>,<span class="literal">'onmousemove'</span>,
+				<span class="literal">'onmouseout'</span>,<span class="literal">'onkeypress'</span>,<span class="literal">'onkeydown'</span>,<span class="literal">'onkeydown'</span>,<span class="literal">'onkeyup'</span>);
+
+	var evs = tinyMCE.settings[<span class="literal">'event_elements'</span>].split(<span class="literal">','</span>);
+	<span class="reserved">for</span> (var y=0; y&lt;evs.length; y++){
+		var elms = node.getElementsByTagName(evs[y]);
+		<span class="reserved">for</span> (var i=0; i&lt;elms.length; i++) {
+			var event = <span class="literal">""</span>;
+
+			<span class="reserved">for</span> (var x=0; x&lt;events.length; x++) {
+				<span class="reserved">if</span> ((event = tinyMCE.getAttrib(elms[i], events[x])) != <span class="literal">''</span>) {
+					event = tinyMCE.cleanupEventStr(<span class="literal">""</span> + event);
+
+					<span class="reserved">if</span> (!state)
+						event = <span class="literal">"return true;"</span> + event;
+					<span class="reserved">else</span>
+						event = event.replace(/^<span class="reserved">return</span> true;/gi, <span class="literal">''</span>);
+
+					elms[i].removeAttribute(events[x]);
+					elms[i].setAttribute(events[x], event);
+				}
+			}
+		}
+	}
+};
+
+<span class="comment">/**
+ * Patch function for MSIE specific events, this one simply grabs the window.event object and
+ * passes it as a argument to the handleEvent function of the TinyMCE_Engine class.
+ *
+ * <span class="attrib">@param</span> {string} editor_id Editor id to patch.
+ * <span class="attrib">@private</span>
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch = <span class="reserved">function</span>(editor_id) {
+	var n, inst, win, e;
+
+	<span class="comment">// Remove odd, error</span>
+	<span class="reserved">if</span> (typeof(tinyMCE) == <span class="literal">"undefined"</span>)
+		<span class="reserved">return</span> true;
+
+	try {
+		<span class="comment">// Try selected instance first</span>
+		<span class="reserved">if</span> (tinyMCE.selectedInstance) {
+			win = tinyMCE.selectedInstance.getWin();
+
+			<span class="reserved">if</span> (win &amp;&amp; win.event) {
+				e = win.event;
+
+				<span class="reserved">if</span> (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.<span class="reserved">prototype</span>.handleEvent(e);
+				<span class="reserved">return</span>;
+			}
+		}
+
+		<span class="comment">// Search for it</span>
+		<span class="reserved">for</span> (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			<span class="reserved">if</span> (!tinyMCE.isInstance(inst))
+				continue;
+
+			tinyMCE.selectedInstance = inst;
+			win = inst.getWin();
+
+			<span class="reserved">if</span> (win &amp;&amp; win.event) {
+				e = win.event;
+
+				<span class="reserved">if</span> (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.<span class="reserved">prototype</span>.handleEvent(e);
+				<span class="reserved">return</span>;
+			}
+		}
+	} catch (ex) {
+		<span class="comment">// Ignore error if iframe is pointing to external URL</span>
+	}
+};
+
+<span class="comment">/**
+ * Unload document event handler function. This function will be executed when the
+ * page is unloaded, this will automaticly move the current editor contents to the textarea element this enables
+ * the editor to restore it's state when the user presses the back button in the browser.
+ * This will execute the triggerSave function.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.unloadHandler = <span class="reserved">function</span>() {
+	tinyMCE.triggerSave(true, true);
+};
+
+<span class="comment">/**
+ * Adds the handleEvent function to the specified editor instance.
+ *
+ * <span class="attrib">@param</span> {inst} inst Editor control instance to add event handler to.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.addEventHandlers = <span class="reserved">function</span>(inst) {
+	var doc = inst.getDoc();
+
+	inst.switchSettings();
+
+	<span class="reserved">if</span> (tinyMCE.isMSIE) {
+		tinyMCE.addEvent(doc, <span class="literal">"keypress"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
+		tinyMCE.addEvent(doc, <span class="literal">"keyup"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
+		tinyMCE.addEvent(doc, <span class="literal">"keydown"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
+		tinyMCE.addEvent(doc, <span class="literal">"mouseup"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
+		tinyMCE.addEvent(doc, <span class="literal">"click"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
+	} <span class="reserved">else</span> {
+		tinyMCE.addEvent(doc, <span class="literal">"keypress"</span>, tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, <span class="literal">"keydown"</span>, tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, <span class="literal">"keyup"</span>, tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, <span class="literal">"click"</span>, tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, <span class="literal">"mouseup"</span>, tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, <span class="literal">"mousedown"</span>, tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, <span class="literal">"focus"</span>, tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, <span class="literal">"blur"</span>, tinyMCE.handleEvent);
+
+		eval(<span class="literal">'try { doc.designMode = "On"; } catch(e) {}'</span>); <span class="comment">// Force designmode</span>
+	}
+};
+
+<span class="comment">/**
+ * Mouse move handler function, this will be executed each time
+ * the mouse is moved within a editor instance. This function stores away the current selection in MSIE
+ * this will then be used when a undo/redo level is added.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.onMouseMove = <span class="reserved">function</span>() {
+	var inst;
+
+	<span class="reserved">if</span> (!tinyMCE.hasMouseMoved) {
+		inst = tinyMCE.selectedInstance;
+
+		<span class="comment">// Workaround for bug #1437457 (Odd MSIE bug)</span>
+		<span class="reserved">if</span> (inst.isFocused) {
+			inst.undoBookmark = inst.selection.getBookmark();
+			tinyMCE.hasMouseMoved = true;
+		}
+	}
+
+<span class="comment">//	tinyMCE.cancelEvent(inst.getWin().event);</span>
+<span class="comment">//	return false;</span>
+};
+
+<span class="comment">/**
+ * Cancels the specified event, this will disable the event from be passed to other listeners in event chain.
+ *
+ * <span class="attrib">@param</span> {DOMEvent} e Event to cancel.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.cancelEvent = <span class="reserved">function</span>(e) {
+	<span class="reserved">if</span> (tinyMCE.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} <span class="reserved">else</span>
+		e.preventDefault();
+};
+
+<span class="comment">/**
+ * Adds a event handler function to the specified object.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} o Object to add event handler to.
+ * <span class="attrib">@param</span> {string} n Event name to listen to for example "click".
+ * <span class="attrib">@param</span> {function} h Function handler to execute when event occurs.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.addEvent = <span class="reserved">function</span>(o, n, h) {
+	<span class="reserved">if</span> (o.attachEvent)
+		o.attachEvent(<span class="literal">"on"</span> + n, h);
+	<span class="reserved">else</span>
+		o.addEventListener(n, h, false);
+};
+
+<span class="comment">/**
+ * Adds accessibility keydown handler to the specified select element.
+ *
+ * <span class="attrib">@param</span> {DOMEvent} e Event that gets passed when the element is focused.
+ * <span class="attrib">@param</span> {HTMLElement} s Select element that the keydown handler gets added to.
+ * <span class="attrib">@param</span> {DOMWindow} w DOM window reference to add.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.addSelectAccessibility = <span class="reserved">function</span>(e, s, w) {
+	<span class="comment">// Add event handlers </span>
+	<span class="reserved">if</span> (!s._isAccessible) {
+		s.onkeydown = tinyMCE.accessibleEventHandler;
+		s.onblur = tinyMCE.accessibleEventHandler;
+		s._isAccessible = true;
+		s._win = w;
+	}
+
+	<span class="reserved">return</span> false;
+};
+
+<span class="comment">/**
+ * Accessibility handler that gets executed when the user hits a key in a select element.
+ * This handler trams the enter/return or space key and then executes the onchange event handler.
+ *
+ * <span class="attrib">@param</span> {DOMEvent} e DOM event object instance.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.accessibleEventHandler = <span class="reserved">function</span>(e) {
+	var win = <span class="reserved">this</span>._win;
+	e = tinyMCE.isMSIE ? win.event : e;
+	var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+
+	<span class="comment">// Unpiggyback onchange on blur</span>
+	<span class="reserved">if</span> (e.type == <span class="literal">"blur"</span>) {
+		<span class="reserved">if</span> (elm.oldonchange) {
+			elm.onchange = elm.oldonchange;
+			elm.oldonchange = null;
+		}
+
+		<span class="reserved">return</span> true;
+	}
+
+	<span class="comment">// Piggyback onchange</span>
+	<span class="reserved">if</span> (elm.nodeName == <span class="literal">"SELECT"</span> &amp;&amp; !elm.oldonchange) {
+		elm.oldonchange = elm.onchange;
+		elm.onchange = null;
+	}
+
+	<span class="comment">// Execute onchange and remove piggyback</span>
+	<span class="reserved">if</span> (e.keyCode == 13 || e.keyCode == 32) {
+		elm.onchange = elm.oldonchange;
+		elm.onchange();
+		elm.oldonchange = null;
+
+		tinyMCE.cancelEvent(e);
+		<span class="reserved">return</span> false;
+	}
+
+	<span class="reserved">return</span> true;
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_ForceParagraphs.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_ForceParagraphs.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_ForceParagraphs.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_ForceParagraphs.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,460 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_ForceParagraphs.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_ForceParagraphs.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_ForceParagraphs.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_ForceParagraphs.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:30 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */</span>
+
+<span class="comment">/**
+ * Forces P tags on return/enter in Gecko browsers.
+ */</span>
+var TinyMCE_ForceParagraphs = {
+	<span class="comment">/**
+	 * Inserts a paragraph at the current cursor location.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance.
+	 * <span class="attrib">@param</span> {DOMEvent} e DOM event object.
+	 * <span class="attrib">@return</span> true on success or false if it fails.
+	 * <span class="attrib">@type</span> boolean
+	 * <span class="attrib">@private</span>
+	 */</span>
+	_insertPara : <span class="reserved">function</span>(inst, e) {
+		<span class="reserved">function</span> isEmpty(para) {
+			<span class="reserved">function</span> isEmptyHTML(html) {
+				<span class="reserved">return</span> html.replace(new RegExp(<span class="literal">'[ \t\r\n]+'</span>, <span class="literal">'g'</span>), <span class="literal">''</span>).toLowerCase() == <span class="literal">""</span>;
+			}
+
+			<span class="comment">// Check for images</span>
+			<span class="reserved">if</span> (para.getElementsByTagName(<span class="literal">"img"</span>).length &gt; 0)
+				<span class="reserved">return</span> false;
+
+			<span class="comment">// Check for tables</span>
+			<span class="reserved">if</span> (para.getElementsByTagName(<span class="literal">"table"</span>).length &gt; 0)
+				<span class="reserved">return</span> false;
+
+			<span class="comment">// Check for HRs</span>
+			<span class="reserved">if</span> (para.getElementsByTagName(<span class="literal">"hr"</span>).length &gt; 0)
+				<span class="reserved">return</span> false;
+
+			<span class="comment">// Check all textnodes</span>
+			var nodes = tinyMCE.getNodeTree(para, new Array(), 3);
+			<span class="reserved">for</span> (var i=0; i&lt;nodes.length; i++) {
+				<span class="reserved">if</span> (!isEmptyHTML(nodes[i].nodeValue))
+					<span class="reserved">return</span> false;
+			}
+
+			<span class="comment">// No images, no tables, no hrs, no text content then it's empty</span>
+			<span class="reserved">return</span> true;
+		}
+
+		var doc = inst.getDoc();
+		var sel = inst.getSel();
+		var win = inst.contentWindow;
+		var rng = sel.getRangeAt(0);
+		var body = doc.body;
+		var rootElm = doc.documentElement;
+		var blockName = <span class="literal">"P"</span>;
+
+	<span class="comment">//	tinyMCE.debug(body.innerHTML);</span>
+
+	<span class="comment">//	debug(e.target, sel.anchorNode.nodeName, sel.focusNode.nodeName, rng.startContainer, rng.endContainer, rng.commonAncestorContainer, sel.anchorOffset, sel.focusOffset, rng.toString());</span>
+
+		<span class="comment">// Setup before range</span>
+		var rngBefore = doc.createRange();
+		rngBefore.setStart(sel.anchorNode, sel.anchorOffset);
+		rngBefore.collapse(true);
+
+		<span class="comment">// Setup after range</span>
+		var rngAfter = doc.createRange();
+		rngAfter.setStart(sel.focusNode, sel.focusOffset);
+		rngAfter.collapse(true);
+
+		<span class="comment">// Setup start/end points</span>
+		var direct = rngBefore.compareBoundaryPoints(rngBefore.START_TO_END, rngAfter) &lt; 0;
+		var startNode = direct ? sel.anchorNode : sel.focusNode;
+		var startOffset = direct ? sel.anchorOffset : sel.focusOffset;
+		var endNode = direct ? sel.focusNode : sel.anchorNode;
+		var endOffset = direct ? sel.focusOffset : sel.anchorOffset;
+
+		startNode = startNode.nodeName == <span class="literal">"BODY"</span> ? startNode.firstChild : startNode;
+		endNode = endNode.nodeName == <span class="literal">"BODY"</span> ? endNode.firstChild : endNode;
+
+		<span class="comment">// tinyMCE.debug(startNode, endNode);</span>
+
+		<span class="comment">// Get block elements</span>
+		var startBlock = tinyMCE.getParentBlockElement(startNode);
+		var endBlock = tinyMCE.getParentBlockElement(endNode);
+
+		<span class="comment">// If absolute force paragraph generation within</span>
+		<span class="reserved">if</span> (startBlock &amp;&amp; new RegExp(<span class="literal">'absolute|relative|static'</span>, <span class="literal">'gi'</span>).test(startBlock.style.position))
+			startBlock = null;
+
+		<span class="reserved">if</span> (endBlock &amp;&amp; new RegExp(<span class="literal">'absolute|relative|static'</span>, <span class="literal">'gi'</span>).test(endBlock.style.position))
+			endBlock = null;
+
+		<span class="comment">// Use current block name</span>
+		<span class="reserved">if</span> (startBlock != null) {
+			blockName = startBlock.nodeName;
+
+			<span class="comment">// Use P instead</span>
+			<span class="reserved">if</span> (blockName == <span class="literal">"TD"</span> || blockName == <span class="literal">"TABLE"</span> || (blockName == <span class="literal">"DIV"</span> &amp;&amp; new RegExp(<span class="literal">'left|right'</span>, <span class="literal">'gi'</span>).test(startBlock.style.cssFloat)))
+				blockName = <span class="literal">"P"</span>;
+		}
+
+		<span class="comment">// Within a list use normal behaviour</span>
+		<span class="reserved">if</span> (tinyMCE.getParentElement(startBlock, <span class="literal">"OL,UL"</span>) != null)
+			<span class="reserved">return</span> false;
+
+		<span class="comment">// Within a table create new paragraphs</span>
+		<span class="reserved">if</span> ((startBlock != null &amp;&amp; startBlock.nodeName == <span class="literal">"TABLE"</span>) || (endBlock != null &amp;&amp; endBlock.nodeName == <span class="literal">"TABLE"</span>))
+			startBlock = endBlock = null;
+
+		<span class="comment">// Setup new paragraphs</span>
+		var paraBefore = (startBlock != null &amp;&amp; startBlock.nodeName == blockName) ? startBlock.cloneNode(false) : doc.createElement(blockName);
+		var paraAfter = (endBlock != null &amp;&amp; endBlock.nodeName == blockName) ? endBlock.cloneNode(false) : doc.createElement(blockName);
+
+		<span class="comment">// Is header, then force paragraph under</span>
+		<span class="reserved">if</span> (/^(H[1-6])$/.test(blockName))
+			paraAfter = doc.createElement(<span class="literal">"p"</span>);
+
+		<span class="comment">// Setup chop nodes</span>
+		var startChop = startNode;
+		var endChop = endNode;
+
+		<span class="comment">// Get startChop node</span>
+		node = startChop;
+		do {
+			<span class="reserved">if</span> (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			startChop = node;
+		} <span class="reserved">while</span> ((node = node.previousSibling ? node.previousSibling : node.parentNode));
+
+		<span class="comment">// Get endChop node</span>
+		node = endChop;
+		do {
+			<span class="reserved">if</span> (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			endChop = node;
+		} <span class="reserved">while</span> ((node = node.nextSibling ? node.nextSibling : node.parentNode));
+
+		<span class="comment">// Fix when only a image is within the TD</span>
+		<span class="reserved">if</span> (startChop.nodeName == <span class="literal">"TD"</span>)
+			startChop = startChop.firstChild;
+
+		<span class="reserved">if</span> (endChop.nodeName == <span class="literal">"TD"</span>)
+			endChop = endChop.lastChild;
+
+		<span class="comment">// If not in a block element</span>
+		<span class="reserved">if</span> (startBlock == null) {
+			<span class="comment">// Delete selection</span>
+			rng.deleteContents();
+			sel.removeAllRanges();
+
+			<span class="reserved">if</span> (startChop != rootElm &amp;&amp; endChop != rootElm) {
+				<span class="comment">// Insert paragraph before</span>
+				rngBefore = rng.cloneRange();
+
+				<span class="reserved">if</span> (startChop == body)
+					rngBefore.setStart(startChop, 0);
+				<span class="reserved">else</span>
+					rngBefore.setStartBefore(startChop);
+
+				paraBefore.appendChild(rngBefore.cloneContents());
+
+				<span class="comment">// Insert paragraph after</span>
+				<span class="reserved">if</span> (endChop.parentNode.nodeName == blockName)
+					endChop = endChop.parentNode;
+
+				<span class="comment">// If not after image</span>
+				<span class="comment">//if (rng.startContainer.nodeName != "BODY" &amp;&amp; rng.endContainer.nodeName != "BODY")</span>
+					rng.setEndAfter(endChop);
+
+				<span class="reserved">if</span> (endChop.nodeName != <span class="literal">"#text"</span> &amp;&amp; endChop.nodeName != <span class="literal">"BODY"</span>)
+					rngBefore.setEndAfter(endChop);
+
+				var contents = rng.cloneContents();
+				<span class="reserved">if</span> (contents.firstChild &amp;&amp; (contents.firstChild.nodeName == blockName || contents.firstChild.nodeName == <span class="literal">"BODY"</span>))
+					paraAfter.innerHTML = contents.firstChild.innerHTML;
+				<span class="reserved">else</span>
+					paraAfter.appendChild(contents);
+
+				<span class="comment">// Check if it's a empty paragraph</span>
+				<span class="reserved">if</span> (isEmpty(paraBefore))
+					paraBefore.innerHTML = <span class="literal">"&amp;nbsp;"</span>;
+
+				<span class="comment">// Check if it's a empty paragraph</span>
+				<span class="reserved">if</span> (isEmpty(paraAfter))
+					paraAfter.innerHTML = <span class="literal">"&amp;nbsp;"</span>;
+
+				<span class="comment">// Delete old contents</span>
+				rng.deleteContents();
+				rngAfter.deleteContents();
+				rngBefore.deleteContents();
+
+				<span class="comment">// Insert new paragraphs</span>
+				paraAfter.normalize();
+				rngBefore.insertNode(paraAfter);
+				paraBefore.normalize();
+				rngBefore.insertNode(paraBefore);
+
+				<span class="comment">// tinyMCE.debug("1: ", paraBefore.innerHTML, paraAfter.innerHTML);</span>
+			} <span class="reserved">else</span> {
+				body.innerHTML = <span class="literal">"&lt;"</span> + blockName + <span class="literal">"&gt;&amp;nbsp;&lt;/"</span> + blockName + <span class="literal">"&gt;&lt;"</span> + blockName + <span class="literal">"&gt;&amp;nbsp;&lt;/"</span> + blockName + <span class="literal">"&gt;"</span>;
+				paraAfter = body.childNodes[1];
+			}
+
+			inst.selection.selectNode(paraAfter, true, true);
+
+			<span class="reserved">return</span> true;
+		}
+
+		<span class="comment">// Place first part within new paragraph</span>
+		<span class="reserved">if</span> (startChop.nodeName == blockName)
+			rngBefore.setStart(startChop, 0);
+		<span class="reserved">else</span>
+			rngBefore.setStartBefore(startChop);
+
+		rngBefore.setEnd(startNode, startOffset);
+		paraBefore.appendChild(rngBefore.cloneContents());
+
+		<span class="comment">// Place secound part within new paragraph</span>
+		rngAfter.setEndAfter(endChop);
+		rngAfter.setStart(endNode, endOffset);
+		var contents = rngAfter.cloneContents();
+
+		<span class="reserved">if</span> (contents.firstChild &amp;&amp; contents.firstChild.nodeName == blockName) {
+	<span class="comment">/*		var nodes = contents.firstChild.childNodes;
+			for (var i=0; i&lt;nodes.length; i++) {
+				//tinyMCE.debug(nodes[i].nodeName);
+				if (nodes[i].nodeName != "BODY")
+					paraAfter.appendChild(nodes[i]);
+			}
+	*/</span>
+			paraAfter.innerHTML = contents.firstChild.innerHTML;
+		} <span class="reserved">else</span>
+			paraAfter.appendChild(contents);
+
+		<span class="comment">// Check if it's a empty paragraph</span>
+		<span class="reserved">if</span> (isEmpty(paraBefore))
+			paraBefore.innerHTML = <span class="literal">"&amp;nbsp;"</span>;
+
+		<span class="comment">// Check if it's a empty paragraph</span>
+		<span class="reserved">if</span> (isEmpty(paraAfter))
+			paraAfter.innerHTML = <span class="literal">"&amp;nbsp;"</span>;
+
+		<span class="comment">// Create a range around everything</span>
+		var rng = doc.createRange();
+
+		<span class="reserved">if</span> (!startChop.previousSibling &amp;&amp; startChop.parentNode.nodeName.toUpperCase() == blockName) {
+			rng.setStartBefore(startChop.parentNode);
+		} <span class="reserved">else</span> {
+			<span class="reserved">if</span> (rngBefore.startContainer.nodeName.toUpperCase() == blockName &amp;&amp; rngBefore.startOffset == 0)
+				rng.setStartBefore(rngBefore.startContainer);
+			<span class="reserved">else</span>
+				rng.setStart(rngBefore.startContainer, rngBefore.startOffset);
+		}
+
+		<span class="reserved">if</span> (!endChop.nextSibling &amp;&amp; endChop.parentNode.nodeName.toUpperCase() == blockName)
+			rng.setEndAfter(endChop.parentNode);
+		<span class="reserved">else</span>
+			rng.setEnd(rngAfter.endContainer, rngAfter.endOffset);
+
+		<span class="comment">// Delete all contents and insert new paragraphs</span>
+		rng.deleteContents();
+		rng.insertNode(paraAfter);
+		rng.insertNode(paraBefore);
+		<span class="comment">//tinyMCE.debug("2", paraBefore.innerHTML, paraAfter.innerHTML);</span>
+
+		<span class="comment">// Normalize</span>
+		paraAfter.normalize();
+		paraBefore.normalize();
+
+		inst.selection.selectNode(paraAfter, true, true);
+
+		<span class="reserved">return</span> true;
+	},
+
+	<span class="comment">/**
+	 * Handles the backspace action in Gecko. This will remove the weird BR element
+	 * that gets generated when a user hits backspace in the beginning of a paragraph.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance.
+	 * <span class="attrib">@return</span> true/false if the event should be canceled or not.
+	 * <span class="attrib">@type</span>
+	 */</span>
+	_handleBackSpace : <span class="reserved">function</span>(inst) {
+		var r = inst.getRng(), sn = r.startContainer, nv, s = false;
+
+		<span class="reserved">if</span> (sn &amp;&amp; sn.nextSibling &amp;&amp; sn.nextSibling.nodeName == <span class="literal">"BR"</span>) {
+			nv = sn.nodeValue;
+
+			<span class="comment">// Handle if a backspace is pressed after a space character #bug 1466054</span>
+			<span class="reserved">if</span> (nv != null &amp;&amp; nv.length &gt;= r.startOffset &amp;&amp; nv.charAt(r.startOffset - 1) == <span class="literal">' '</span>)
+				s = true;
+
+			<span class="comment">// Only remove BRs if we are at the end of line #bug 1464152</span>
+			<span class="reserved">if</span> (nv != null &amp;&amp; r.startOffset == nv.length)
+				sn.nextSibling.parentNode.removeChild(sn.nextSibling);
+		}
+
+		<span class="reserved">return</span> s;
+	}
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Layer.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Layer.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Layer.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Layer.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,455 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Layer.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Layer.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Layer.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TinyMCE_Layer.html">TinyMCE_Layer</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Layer.class.js.html,v $
+ * $Revision: 1.19 $
+ * $Date: 2006/04/14 20:00:30 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */</span>
+
+<span class="comment">/**
+ * Constructor for the TinyMCE Layer. This class enables you to construct
+ * floating layers that is visible on top of select input fields, flashes and iframes.
+ *
+ * <span class="attrib">@param</span> {string} id Unique ID name for the layer.
+ * <span class="attrib">@param</span> {boolean} bm Block mode, defaults to true.
+ */</span>
+<span class="reserved">function</span> TinyMCE_Layer(id, bm) {
+	<span class="reserved">this</span>.id = id;
+	<span class="reserved">this</span>.blockerElement = null;
+	<span class="reserved">this</span>.events = false;
+	<span class="reserved">this</span>.element = null;
+	<span class="reserved">this</span>.blockMode = typeof(bm) != <span class="literal">'undefined'</span> ? bm : true;
+	<span class="reserved">this</span>.doc = document;
+};
+
+TinyMCE_Layer.<span class="reserved">prototype</span> = {
+	<span class="comment">/**
+	 * Moves the layer relative to the specified HTML element.
+	 *
+	 * <span class="attrib">@param</span> {HTMLElement} re Element to move the layer relative to.
+	 * <span class="attrib">@param</span> {string} p Position of the layer tl = top left, tr = top right, bl = bottom left, br = bottom right.
+	 */</span>
+	moveRelativeTo : <span class="reserved">function</span>(re, p) {
+		var rep = <span class="reserved">this</span>.getAbsPosition(re);
+		var w = parseInt(re.offsetWidth);
+		var h = parseInt(re.offsetHeight);
+		var e = <span class="reserved">this</span>.getElement();
+		var ew = parseInt(e.offsetWidth);
+		var eh = parseInt(e.offsetHeight);
+		var x, y;
+
+		switch (p) {
+			case <span class="literal">"tl"</span>:
+				x = rep.absLeft;
+				y = rep.absTop;
+				break;
+
+			case <span class="literal">"tr"</span>:
+				x = rep.absLeft + w;
+				y = rep.absTop;
+				break;
+
+			case <span class="literal">"bl"</span>:
+				x = rep.absLeft;
+				y = rep.absTop + h;
+				break;
+
+			case <span class="literal">"br"</span>:
+				x = rep.absLeft + w;
+				y = rep.absTop + h;
+				break;
+
+			case <span class="literal">"cc"</span>:
+				x = rep.absLeft + (w / 2) - (ew / 2);
+				y = rep.absTop + (h / 2) - (eh / 2);
+				break;
+		}
+
+		<span class="reserved">this</span>.moveTo(x, y);
+	},
+
+	<span class="comment">/**
+	 * Moves the layer relative in pixels.
+	 *
+	 * <span class="attrib">@param</span> {int} x Horizontal relative position in pixels.
+	 * <span class="attrib">@param</span> {int} y Vertical relative position in pixels.
+	 */</span>
+	moveBy : <span class="reserved">function</span>(x, y) {
+		var e = <span class="reserved">this</span>.getElement();
+		<span class="reserved">this</span>.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y);
+	},
+
+	<span class="comment">/**
+	 * Moves the layer absolute in pixels.
+	 *
+	 * <span class="attrib">@param</span> {int} x Horizontal absolute position in pixels.
+	 * <span class="attrib">@param</span> {int} y Vertical absolute position in pixels.
+	 */</span>
+	moveTo : <span class="reserved">function</span>(x, y) {
+		var e = <span class="reserved">this</span>.getElement();
+
+		e.style.left = x + <span class="literal">"px"</span>;
+		e.style.top = y + <span class="literal">"px"</span>;
+
+		<span class="reserved">this</span>.updateBlocker();
+	},
+
+	<span class="comment">/**
+	 * Resizes the layer by the specified relative width and height.
+	 *
+	 * <span class="attrib">@param</span> {int} w Relative width value.
+	 * <span class="attrib">@param</span> {int} h Relative height value.
+	 */</span>
+	resizeBy : <span class="reserved">function</span>(w, h) {
+		var e = <span class="reserved">this</span>.getElement();
+		<span class="reserved">this</span>.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h);
+	},
+
+	<span class="comment">/**
+	 * Resizes the layer to the specified width and height.
+	 *
+	 * <span class="attrib">@param</span> {int} w Width value.
+	 * <span class="attrib">@param</span> {int} h Height value.
+	 */</span>
+	resizeTo : <span class="reserved">function</span>(w, h) {
+		var e = <span class="reserved">this</span>.getElement();
+
+		<span class="reserved">if</span> (w != null)
+			e.style.width = w + <span class="literal">"px"</span>;
+
+		<span class="reserved">if</span> (h != null)
+			e.style.height = h + <span class="literal">"px"</span>;
+
+		<span class="reserved">this</span>.updateBlocker();
+	},
+
+	<span class="comment">/**
+	 * Shows the layer.
+	 */</span>
+	show : <span class="reserved">function</span>() {
+		<span class="reserved">this</span>.getElement().style.display = <span class="literal">'block'</span>;
+		<span class="reserved">this</span>.updateBlocker();
+	},
+
+	<span class="comment">/**
+	 * Hides the layer.
+	 */</span>
+	hide : <span class="reserved">function</span>() {
+		<span class="reserved">this</span>.getElement().style.display = <span class="literal">'none'</span>;
+		<span class="reserved">this</span>.updateBlocker();
+	},
+
+	<span class="comment">/**
+	 * Returns true/false if the layer is visible or not.
+	 *
+	 * <span class="attrib">@return</span> true/false if it's visible or not.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	isVisible : <span class="reserved">function</span>() {
+		<span class="reserved">return</span> <span class="reserved">this</span>.getElement().style.display == <span class="literal">'block'</span>;
+	},
+
+	<span class="comment">/**
+	 * Returns the DOM element that the layer is binded to.
+	 *
+	 * <span class="attrib">@return</span> DOM HTML element.
+	 * <span class="attrib">@type</span> HTMLElement
+	 */</span>
+	getElement : <span class="reserved">function</span>() {
+		<span class="reserved">if</span> (!<span class="reserved">this</span>.element)
+			<span class="reserved">this</span>.element = <span class="reserved">this</span>.doc.getElementById(<span class="reserved">this</span>.id);
+
+		<span class="reserved">return</span> <span class="reserved">this</span>.element;
+	},
+
+	<span class="comment">/**
+	 * Sets the block mode. If you set this property to true a control box blocker iframe
+	 * will be added to the document since MSIE has a issue where select boxes are visible
+	 * through layers.
+	 *
+	 * <span class="attrib">@param</span> {boolean} s Block mode state, true is the default value.
+	 */</span>
+	setBlockMode : <span class="reserved">function</span>(s) {
+		<span class="reserved">this</span>.blockMode = s;
+	},
+
+	<span class="comment">/**
+	 * Updates the select/iframe/flash blocker this will also block the caret in Firefox.
+	 */</span>
+	updateBlocker : <span class="reserved">function</span>() {
+		var e, b, x, y, w, h;
+
+		b = <span class="reserved">this</span>.getBlocker();
+		<span class="reserved">if</span> (b) {
+			<span class="reserved">if</span> (<span class="reserved">this</span>.blockMode) {
+				e = <span class="reserved">this</span>.getElement();
+				x = <span class="reserved">this</span>.parseInt(e.style.left);
+				y = <span class="reserved">this</span>.parseInt(e.style.top);
+				w = <span class="reserved">this</span>.parseInt(e.offsetWidth);
+				h = <span class="reserved">this</span>.parseInt(e.offsetHeight);
+
+				b.style.left = x + <span class="literal">'px'</span>;
+				b.style.top = y + <span class="literal">'px'</span>;
+				b.style.width = w + <span class="literal">'px'</span>;
+				b.style.height = h + <span class="literal">'px'</span>;
+				b.style.display = e.style.display;
+			} <span class="reserved">else</span>
+				b.style.display = <span class="literal">'none'</span>;
+		}
+	},
+
+	<span class="comment">/**
+	 * Returns the blocker DOM element, this is a invisible iframe.
+	 *
+	 * <span class="attrib">@return</span> DOM HTML element.
+	 * <span class="attrib">@type</span> HTMLElement
+	 */</span>
+	getBlocker : <span class="reserved">function</span>() {
+		var d, b;
+
+		<span class="reserved">if</span> (!<span class="reserved">this</span>.blockerElement &amp;&amp; <span class="reserved">this</span>.blockMode) {
+			d = <span class="reserved">this</span>.doc;
+			b = d.createElement(<span class="literal">"iframe"</span>);
+
+			b.style.cssText = <span class="literal">'display: none; position: absolute; left: 0; top: 0'</span>;
+			b.src = <span class="literal">'javascript:false;'</span>;
+			b.frameBorder = <span class="literal">'0'</span>;
+			b.scrolling = <span class="literal">'no'</span>;
+
+			d.body.appendChild(b);
+			<span class="reserved">this</span>.blockerElement = b;
+		}
+
+		<span class="reserved">return</span> <span class="reserved">this</span>.blockerElement;
+	},
+
+	<span class="comment">/**
+	 * Returns the absolute x, y cordinate of the specified node.
+	 *
+	 * <span class="attrib">@param</span> {DOMElement} n DOM node to retrive x, y of.
+	 * <span class="attrib">@return</span> Object containing absLeft and absTop properties.
+	 * <span class="attrib">@type</span> Object
+	 */</span>
+	getAbsPosition : <span class="reserved">function</span>(n) {
+		var p = {absLeft : 0, absTop : 0};
+
+		<span class="reserved">while</span> (n) {
+			p.absLeft += n.offsetLeft;
+			p.absTop += n.offsetTop;
+			n = n.offsetParent;
+		}
+
+		<span class="reserved">return</span> p;
+	},
+
+	<span class="comment">/**
+	 * Creates a element for the layer based on the id and specified name.
+	 *
+	 * <span class="attrib">@param</span> {string} n Element tag name, like div.
+	 * <span class="attrib">@param</span> {string} c Optional class name to set as class attribute value.
+	 * <span class="attrib">@param</span> {HTMLElement} p Optional parent element reference, defaults to body.
+	 * <span class="attrib">@return</span> HTML DOM element that got created.
+	 * <span class="attrib">@type</span> HTMLElement
+	 */</span>
+	create : <span class="reserved">function</span>(n, c, p) {
+		var d = <span class="reserved">this</span>.doc, e = d.createElement(n);
+
+		e.setAttribute(<span class="literal">'id'</span>, <span class="reserved">this</span>.id);
+
+		<span class="reserved">if</span> (c)
+			e.className = c;
+
+		<span class="reserved">if</span> (!p)
+			p = d.body;
+
+		p.appendChild(e);
+
+		<span class="reserved">return</span> <span class="reserved">this</span>.element = e;
+	},
+
+	<span class="comment">/**
+	 * Parses a int value this method will return 0 if the string is empty.
+	 *
+	 * <span class="attrib">@param</span> {string} s String to parse value of.
+	 * <span class="attrib">@return</span> Parsed number.
+	 * <span class="attrib">@type</span> int
+	 */</span>
+	parseInt : <span class="reserved">function</span>(s) {
+		<span class="reserved">if</span> (s == null || s == <span class="literal">''</span>)
+			<span class="reserved">return</span> 0;
+
+		<span class="reserved">return</span> parseInt(s);
+	}
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Menu.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Menu.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Menu.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Menu.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,361 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Menu.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Menu.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Menu.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+	<a name="method_summary"><!-- --></a>
+	<table border="1" cellpadding="3" cellspacing="0" width="100%">
+		<tr bgcolor="#CCCCFF" class="TableHeadingColor">
+			<td colspan=2>
+				<font size="+2">
+					<b>Method Summary</b>
+				</font>
+			</td>
+		</tr>
+	
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;void</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#TinyMCE_Menu">TinyMCE_Menu</a></b>()
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Constructor for the menu layer class.
+		      </td>
+		   </tr>
+		
+	
+	</table>
+    <p>
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Menu.class.js.html,v $
+ * $Revision: 1.15 $
+ * $Date: 2006/04/14 20:00:30 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */</span>
+
+<span class="comment">/**
+ * Constructor for the menu layer class.
+ */</span>
+<span class="reserved">function</span> TinyMCE_Menu() {
+	var id;
+
+	<span class="reserved">if</span> (typeof(tinyMCE.menuCounter) == <span class="literal">"undefined"</span>)
+		tinyMCE.menuCounter = 0;
+
+	id = <span class="literal">"mc_menu_"</span> + tinyMCE.menuCounter++;
+
+	TinyMCE_Layer.call(<span class="reserved">this</span>, id, true);
+
+	<span class="reserved">this</span>.id = id;
+	<span class="reserved">this</span>.items = new Array();
+	<span class="reserved">this</span>.needsUpdate = true;
+};
+
+<span class="comment">// Extends the TinyMCE_Layer class</span>
+TinyMCE_Menu.<span class="reserved">prototype</span> = tinyMCE.extend(TinyMCE_Layer.<span class="reserved">prototype</span>, {
+	<span class="comment">/**
+	 * Initializes the Menu with settings. This will also create the menu
+	 * as a DIV element if it doesn't exists in the DOM.
+	 *
+	 * <span class="attrib">@param</span> {Array} s Name/Value array with settings.
+	 */</span>
+	init : <span class="reserved">function</span>(s) {
+		var n;
+
+		<span class="comment">// Default params</span>
+		<span class="reserved">this</span>.settings = {
+			separator_class : <span class="literal">'mceMenuSeparator'</span>,
+			title_class : <span class="literal">'mceMenuTitle'</span>,
+			disabled_class : <span class="literal">'mceMenuDisabled'</span>,
+			menu_class : <span class="literal">'mceMenu'</span>,
+			drop_menu : true
+		};
+
+		<span class="reserved">for</span> (n in s)
+			<span class="reserved">this</span>.settings[n] = s[n];
+
+		<span class="reserved">this</span>.create(<span class="literal">'div'</span>, <span class="reserved">this</span>.settings.menu_class);
+	},
+
+	<span class="comment">/**
+	 * Clears the menu.
+	 */</span>
+	clear : <span class="reserved">function</span>() {
+		<span class="reserved">this</span>.items = new Array();
+	},
+
+	<span class="comment">/**
+	 * Adds a menu title, this is a static item that can't be clicked.
+	 *
+	 * <span class="attrib">@param</span> {string} t Text to add to title.
+	 */</span>
+	addTitle : <span class="reserved">function</span>(t) {
+		<span class="reserved">this</span>.add({type : <span class="literal">'title'</span>, text : t});
+	},
+
+	<span class="comment">/**
+	 * Adds a disabled menu item, this is a static item that can't be clicked.
+	 *
+	 * <span class="attrib">@param</span> {string} t Text to add to title.
+	 */</span>
+	addDisabled : <span class="reserved">function</span>(t) {
+		<span class="reserved">this</span>.add({type : <span class="literal">'disabled'</span>, text : t});
+	},
+
+	<span class="comment">/**
+	 * Adds a menu separator line.
+	 */</span>
+	addSeparator : <span class="reserved">function</span>() {
+		<span class="reserved">this</span>.add({type : <span class="literal">'separator'</span>});
+	},
+
+	<span class="comment">/**
+	 * Adds a menu item.
+	 *
+	 * <span class="attrib">@param</span> {string} t Menu item text.
+	 * <span class="attrib">@param</span> {string} js JS string to evaluate on click.
+	 */</span>
+	addItem : <span class="reserved">function</span>(t, js) {
+		<span class="reserved">this</span>.add({text : t, js : js});
+	},
+
+	<span class="comment">/**
+	 * Adds a menu item object.
+	 *
+	 * <span class="attrib">@param</span> {Object} mi Menu item object to add.
+	 */</span>
+	add : <span class="reserved">function</span>(mi) {
+		<span class="reserved">this</span>.items[<span class="reserved">this</span>.items.length] = mi;
+		<span class="reserved">this</span>.needsUpdate = true;
+	},
+
+	<span class="comment">/**
+	 * Update the menu with new HTML contents.
+	 */</span>
+	update : <span class="reserved">function</span>() {
+		var e = <span class="reserved">this</span>.getElement(), h = <span class="literal">''</span>, i, t, m = <span class="reserved">this</span>.items, s = <span class="reserved">this</span>.settings;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.settings.drop_menu)
+			h += <span class="literal">'&lt;span class="mceMenuLine"&gt;&lt;/span&gt;'</span>;
+
+		h += <span class="literal">'&lt;table border="0" cellpadding="0" cellspacing="0"&gt;'</span>;
+
+		<span class="reserved">for</span> (i=0; i&lt;m.length; i++) {
+			t = tinyMCE.xmlEncode(m[i].text);
+			c = m[i].class_name ? <span class="literal">' class="'</span> + m[i].class_name + <span class="literal">'"'</span> : <span class="literal">''</span>;
+
+			switch (m[i].type) {
+				case <span class="literal">'separator'</span>:
+					h += <span class="literal">'&lt;tr class="'</span> + s.separator_class + <span class="literal">'"&gt;&lt;td&gt;'</span>;
+					break;
+
+				case <span class="literal">'title'</span>:
+					h += <span class="literal">'&lt;tr class="'</span> + s.title_class + <span class="literal">'"&gt;&lt;td&gt;&lt;span'</span> + c +<span class="literal">'&gt;'</span> + t + <span class="literal">'&lt;/span&gt;'</span>;
+					break;
+
+				case <span class="literal">'disabled'</span>:
+					h += <span class="literal">'&lt;tr class="'</span> + s.disabled_class + <span class="literal">'"&gt;&lt;td&gt;&lt;span'</span> + c +<span class="literal">'&gt;'</span> + t + <span class="literal">'&lt;/span&gt;'</span>;
+					break;
+
+				default:
+					h += <span class="literal">'&lt;tr&gt;&lt;td&gt;&lt;a href="javascript:void(0);" onmousedown="'</span> + tinyMCE.xmlEncode(m[i].js) + <span class="literal">';return false;"&gt;&lt;span'</span> + c +<span class="literal">'&gt;'</span> + t + <span class="literal">'&lt;/span&gt;&lt;/a&gt;'</span>;
+			}
+
+			h += <span class="literal">'&lt;/td&gt;&lt;/tr&gt;'</span>;
+		}
+
+		h += <span class="literal">'&lt;/table&gt;'</span>;
+
+		e.innerHTML = h;
+
+		<span class="reserved">this</span>.needsUpdate = false;
+		<span class="reserved">this</span>.updateBlocker();
+	},
+
+	<span class="comment">/**
+	 * Displays the menu. This function will automaticly hide any previously visible menus.
+	 */</span>
+	show : <span class="reserved">function</span>() {
+		var nl, i;
+
+		<span class="reserved">if</span> (tinyMCE.lastMenu == <span class="reserved">this</span>)
+			<span class="reserved">return</span>;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.needsUpdate)
+			<span class="reserved">this</span>.update();
+
+		<span class="reserved">if</span> (tinyMCE.lastMenu &amp;&amp; tinyMCE.lastMenu != <span class="reserved">this</span>)
+			tinyMCE.lastMenu.hide();
+
+		TinyMCE_Layer.<span class="reserved">prototype</span>.show.call(<span class="reserved">this</span>);
+
+		<span class="reserved">if</span> (!tinyMCE.isOpera) {
+			<span class="comment">// Accessibility stuff</span>
+<span class="comment">/*			nl = this.getElement().getElementsByTagName("a");
+			if (nl.length &gt; 0)
+				nl[0].focus();*/</span>
+		}
+
+		tinyMCE.lastMenu = <span class="reserved">this</span>;
+	}
+});
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Popup.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Popup.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Popup.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Popup.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,511 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Popup.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Popup.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Popup.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TinyMCE_Popup.html">TinyMCE_Popup</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Popup.class.js.html,v $
+ * $Revision: 1.24 $
+ * $Date: 2006/04/14 20:00:30 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */</span>
+
+<span class="comment">// Some global instances, this will be filled later</span>
+var tinyMCE = null, tinyMCELang = null;
+
+<span class="comment">/**
+ * Constructor for the popup class. This class contains base logic for popup/dialogs and sets up
+ * object references to the TinyMCE core.
+ */</span>
+<span class="reserved">function</span> TinyMCE_Popup() {
+};
+
+<span class="comment">/**
+ * Initializes the TinyMCE Popup class. This will setup the TinyMCE core references and other popup/dialog related functions.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.init = <span class="reserved">function</span>() {
+	var win = window.opener ? window.opener : window.dialogArguments;
+	var inst;
+
+	<span class="reserved">if</span> (!win) {
+		<span class="comment">// Try parent</span>
+		win = parent.parent;
+
+		<span class="comment">// Try top</span>
+		<span class="reserved">if</span> (typeof(win.tinyMCE) == <span class="literal">"undefined"</span>)
+			win = top;
+	}
+
+	window.opener = win;
+	<span class="reserved">this</span>.windowOpener = win;
+	<span class="reserved">this</span>.onLoadEval = <span class="literal">""</span>;
+
+	<span class="comment">// Setup parent references</span>
+	tinyMCE = win.tinyMCE;
+	tinyMCELang = win.tinyMCELang;
+
+	<span class="reserved">if</span> (!tinyMCE) {
+		alert(<span class="literal">"tinyMCE object reference not found from popup."</span>);
+		<span class="reserved">return</span>;
+	}
+
+	inst = tinyMCE.selectedInstance;
+	<span class="reserved">this</span>.isWindow = tinyMCE.getWindowArg(<span class="literal">'mce_inside_iframe'</span>, false) == false;
+	<span class="reserved">this</span>.storeSelection = (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera) &amp;&amp; !<span class="reserved">this</span>.isWindow &amp;&amp; tinyMCE.getWindowArg(<span class="literal">'mce_store_selection'</span>, true);
+
+	<span class="reserved">if</span> (<span class="reserved">this</span>.isWindow)
+		window.focus();
+
+	<span class="comment">// Store selection</span>
+	<span class="reserved">if</span> (<span class="reserved">this</span>.storeSelection)
+		inst.selectionBookmark = inst.selection.getBookmark(true);
+
+	<span class="comment">// Setup dir</span>
+	<span class="reserved">if</span> (tinyMCELang[<span class="literal">'lang_dir'</span>])
+		document.dir = tinyMCELang[<span class="literal">'lang_dir'</span>];
+
+	<span class="comment">// Setup title</span>
+	var re = new RegExp(<span class="literal">'{|\\\$|}'</span>, <span class="literal">'g'</span>);
+	var title = document.title.replace(re, <span class="literal">""</span>);
+	<span class="reserved">if</span> (typeof tinyMCELang[title] != <span class="literal">"undefined"</span>) {
+		var divElm = document.createElement(<span class="literal">"div"</span>);
+		divElm.innerHTML = tinyMCELang[title];
+		document.title = divElm.innerHTML;
+
+		<span class="reserved">if</span> (tinyMCE.setWindowTitle != null)
+			tinyMCE.setWindowTitle(window, divElm.innerHTML);
+	}
+
+	<span class="comment">// Output Popup CSS class</span>
+	document.write(<span class="literal">'&lt;link href="'</span> + tinyMCE.getParam(<span class="literal">"popups_css"</span>) + <span class="literal">'" rel="stylesheet" type="text/css"&gt;'</span>);
+
+	tinyMCE.addEvent(window, <span class="literal">"load"</span>, <span class="reserved">this</span>.onLoad);
+};
+
+<span class="comment">/**
+ * Gets executed when the window has finished loading it's contents. This function will then
+ * replace language variables with their real values.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.onLoad = <span class="reserved">function</span>() {
+	var dir, i, elms, body = document.body;
+
+	<span class="reserved">if</span> (tinyMCE.getWindowArg(<span class="literal">'mce_replacevariables'</span>, true))
+		body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
+
+	dir = tinyMCE.selectedInstance.settings[<span class="literal">'directionality'</span>];
+	<span class="reserved">if</span> (dir == <span class="literal">"rtl"</span> &amp;&amp; document.forms &amp;&amp; document.forms.length &gt; 0) {
+		elms = document.forms[0].elements;
+		<span class="reserved">for</span> (i=0; i&lt;elms.length; i++) {
+			<span class="reserved">if</span> ((elms[i].type == <span class="literal">"text"</span> || elms[i].type == <span class="literal">"textarea"</span>) &amp;&amp; elms[i].getAttribute(<span class="literal">"dir"</span>) != <span class="literal">"ltr"</span>)
+				elms[i].dir = dir;
+		}
+	}
+
+	<span class="reserved">if</span> (body.style.display == <span class="literal">'none'</span>)
+		body.style.display = <span class="literal">'block'</span>;
+
+	<span class="comment">// Execute real onload (Opera fix)</span>
+	<span class="reserved">if</span> (tinyMCEPopup.onLoadEval != <span class="literal">""</span>)
+		eval(tinyMCEPopup.onLoadEval);
+};
+
+<span class="comment">/**
+ * Executes the specified string onload. This is a workaround for Opera since it
+ * doesn't execute the events in the same order than MSIE and Firefox.
+ *
+ * <span class="attrib">@param</span> {string} str String to evaluate on load.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.executeOnLoad = <span class="reserved">function</span>(str) {
+	<span class="reserved">if</span> (tinyMCE.isOpera)
+		<span class="reserved">this</span>.onLoadEval = str;
+	<span class="reserved">else</span>
+		eval(str);
+};
+
+<span class="comment">/**
+ * Resizes the current window to it's inner body size. This function
+ * was needed since MSIE makes the visible dialog area diffrent depending
+ * on what Theme/Skin you use.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.resizeToInnerSize = <span class="reserved">function</span>() {
+	<span class="comment">// Netscape 7.1 workaround</span>
+	<span class="reserved">if</span> (<span class="reserved">this</span>.isWindow &amp;&amp; tinyMCE.isNS71) {
+		window.resizeBy(0, 10);
+		<span class="reserved">return</span>;
+	}
+
+	<span class="reserved">if</span> (<span class="reserved">this</span>.isWindow) {
+		var doc = document;
+		var body = doc.body;
+		var oldMargin, wrapper, iframe, nodes, dx, dy;
+
+		<span class="reserved">if</span> (body.style.display == <span class="literal">'none'</span>)
+			body.style.display = <span class="literal">'block'</span>;
+
+		<span class="comment">// Remove margin</span>
+		oldMargin = body.style.margin;
+		body.style.margin = <span class="literal">'0'</span>;
+
+		<span class="comment">// Create wrapper</span>
+		wrapper = doc.createElement(<span class="literal">"div"</span>);
+		wrapper.id = <span class="literal">'mcBodyWrapper'</span>;
+		wrapper.style.display = <span class="literal">'none'</span>;
+		wrapper.style.margin = <span class="literal">'0'</span>;
+
+		<span class="comment">// Wrap body elements</span>
+		nodes = doc.body.childNodes;
+		<span class="reserved">for</span> (var i=nodes.length-1; i&gt;=0; i--) {
+			<span class="reserved">if</span> (wrapper.hasChildNodes())
+				wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
+			<span class="reserved">else</span>
+				wrapper.appendChild(nodes[i].cloneNode(true));
+
+			nodes[i].parentNode.removeChild(nodes[i]);
+		}
+
+		<span class="comment">// Add wrapper</span>
+		doc.body.appendChild(wrapper);
+
+		<span class="comment">// Create iframe</span>
+		iframe = document.createElement(<span class="literal">"iframe"</span>);
+		iframe.id = <span class="literal">"mcWinIframe"</span>;
+		iframe.src = document.location.href.toLowerCase().indexOf(<span class="literal">'https'</span>) == -1 ? <span class="literal">"about:blank"</span> : tinyMCE.settings[<span class="literal">'default_document'</span>];
+		iframe.width = <span class="literal">"100%"</span>;
+		iframe.height = <span class="literal">"100%"</span>;
+		iframe.style.margin = <span class="literal">'0'</span>;
+
+		<span class="comment">// Add iframe</span>
+		doc.body.appendChild(iframe);
+
+		<span class="comment">// Measure iframe</span>
+		iframe = document.getElementById(<span class="literal">'mcWinIframe'</span>);
+		dx = tinyMCE.getWindowArg(<span class="literal">'mce_width'</span>) - iframe.clientWidth;
+		dy = tinyMCE.getWindowArg(<span class="literal">'mce_height'</span>) - iframe.clientHeight;
+
+		<span class="comment">// Resize window</span>
+		<span class="comment">// tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);</span>
+		window.resizeBy(dx, dy);
+
+		<span class="comment">// Hide iframe and show wrapper</span>
+		body.style.margin = oldMargin;
+		iframe.style.display = <span class="literal">'none'</span>;
+		wrapper.style.display = <span class="literal">'block'</span>;
+	}
+};
+
+<span class="comment">/**
+ * Resizes the current window to the dimensions of the body.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.resizeToContent = <span class="reserved">function</span>() {
+	var isMSIE = (navigator.appName == <span class="literal">"Microsoft Internet Explorer"</span>);
+	var isOpera = (navigator.userAgent.indexOf(<span class="literal">"Opera"</span>) != -1);
+
+	<span class="reserved">if</span> (isOpera)
+		<span class="reserved">return</span>;
+
+	<span class="reserved">if</span> (isMSIE) {
+		try { window.resizeTo(10, 10); } catch (e) {}
+
+		var elm = document.body;
+		var width = elm.offsetWidth;
+		var height = elm.offsetHeight;
+		var dx = (elm.scrollWidth - width) + 4;
+		var dy = elm.scrollHeight - height;
+
+		try { window.resizeBy(dx, dy); } catch (e) {}
+	} <span class="reserved">else</span> {
+		window.scrollBy(1000, 1000);
+		<span class="reserved">if</span> (window.scrollX &gt; 0 || window.scrollY &gt; 0) {
+			window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
+			window.sizeToContent();
+			window.scrollTo(0, 0);
+			var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
+			var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
+			window.moveTo(x, y);
+		}
+	}
+};
+
+<span class="comment">/**
+ * Returns a window argument, window arguments can be passed from a plugin to a window
+ * by using the tinyMCE.openWindow function.
+ *
+ * <span class="attrib">@param</span> {string} name Argument name to retrive.
+ * <span class="attrib">@param</span> {string} default_value Optional default value to assign if the argument wasn't set.
+ * <span class="attrib">@return</span> Argument value object.
+ * <span class="attrib">@type</span> Object
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.getWindowArg = <span class="reserved">function</span>(name, default_value) {
+	<span class="reserved">return</span> tinyMCE.getWindowArg(name, default_value);
+};
+
+<span class="comment">/**
+ * Restores the selection back to the one stored after executing a command.
+ * This function was needed in MSIE when using inlinepopups, the selection
+ * would otherwice get lost if the user focused another field.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.restoreSelection = <span class="reserved">function</span>() {
+	<span class="reserved">if</span> (<span class="reserved">this</span>.storeSelection) {
+		var inst = tinyMCE.selectedInstance;
+
+		inst.getWin().focus();
+
+		<span class="reserved">if</span> (inst.selectionBookmark)
+			inst.selection.moveToBookmark(inst.selectionBookmark);
+	}
+};
+
+<span class="comment">/**
+ * Executes the specific command on the parent instance that opened the window. This method
+ * will also take care of the storage and restorage of the current selection in MSIE when
+ * using inlinepopups. So we suggest using this method instead of tinyMCE.execCommand when using
+ * popup windows.
+ *
+ * <span class="attrib">@param</span> {string} command Command name to execute, for example mceLink or Bold.
+ * <span class="attrib">@param</span> {boolean} user_interface True/false state if a UI (dialog) should be presented or not.
+ * <span class="attrib">@param</span> {mixed} value Optional command value, this can be anything.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.execCommand = <span class="reserved">function</span>(command, user_interface, value) {
+	var inst = tinyMCE.selectedInstance;
+
+	<span class="reserved">this</span>.restoreSelection();
+	inst.execCommand(command, user_interface, value);
+
+	<span class="comment">// Store selection</span>
+	<span class="reserved">if</span> (<span class="reserved">this</span>.storeSelection)
+		inst.selectionBookmark = inst.selection.getBookmark(true);
+};
+
+<span class="comment">/**
+ * Closes the current window. This should be used instead of window.close. Since this will
+ * also handle inlinepopups closing.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.close = <span class="reserved">function</span>() {
+	tinyMCE.closeWindow(window);
+};
+
+<span class="comment">/**
+ * Executes a color picker on the specified element id. When the user
+ * then selects a color it will be set as the value of the specified element.
+ *
+ * <span class="attrib">@param</span> {DOMEvent} e DOM event object.
+ * <span class="attrib">@param</span> {string} element_id Element id to be filled with the color value from the picker.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.pickColor = <span class="reserved">function</span>(e, element_id) {
+	tinyMCE.selectedInstance.execCommand(<span class="literal">'mceColorPicker'</span>, true, {
+		element_id : element_id,
+		document : document,
+		window : window,
+		store_selection : false
+	});
+};
+
+<span class="comment">/**
+ * Opens a filebrowser/imagebrowser this will set the output value from
+ * the browser as a value on the specified element.
+ *
+ * <span class="attrib">@param</span> {string} element_id Id of the element to set value in.
+ * <span class="attrib">@param</span> {string} type Type of browser to open image/file/flash.
+ * <span class="attrib">@param</span> {string} option Option name to get the file_broswer_callback function name from.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.openBrowser = <span class="reserved">function</span>(element_id, type, option) {
+	var cb = tinyMCE.getParam(option, tinyMCE.getParam(<span class="literal">"file_browser_callback"</span>));
+	var url = document.getElementById(element_id).value;
+
+	tinyMCE.setWindowArg(<span class="literal">"window"</span>, window);
+	tinyMCE.setWindowArg(<span class="literal">"document"</span>, document);
+
+	<span class="comment">// Call to external callback</span>
+	<span class="reserved">if</span> (eval(<span class="literal">'typeof(tinyMCEPopup.windowOpener.'</span> + cb + <span class="literal">')'</span>) == <span class="literal">"undefined"</span>)
+		alert(<span class="literal">"Callback function: "</span> + cb + <span class="literal">" could not be found."</span>);
+	<span class="reserved">else</span>
+		eval(<span class="literal">"tinyMCEPopup.windowOpener."</span> + cb + <span class="literal">"(element_id, url, type, window);"</span>);
+};
+
+<span class="comment">/**
+ * Imports the specified class into the current popup. This will setup a local class definition
+ * by importing from the parent window.
+ *
+ * <span class="attrib">@param</span> {string} c Class name to import to current page.
+ */</span>
+TinyMCE_Popup.<span class="reserved">prototype</span>.importClass = <span class="reserved">function</span>(c) {
+	window[c] = <span class="reserved">function</span>() {};
+
+	<span class="reserved">for</span> (var n in window.opener[c].<span class="reserved">prototype</span>)
+		window[c].<span class="reserved">prototype</span>[n] = window.opener[c].<span class="reserved">prototype</span>[n];
+
+	window[c].constructor = window.opener[c].constructor;
+};
+
+<span class="comment">// Setup global instance</span>
+var tinyMCEPopup = new TinyMCE_Popup();
+
+tinyMCEPopup.init();
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Selection.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Selection.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Selection.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_Selection.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,646 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_Selection.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_Selection.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_Selection.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TinyMCE_Selection.html">TinyMCE_Selection</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_Selection.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:31 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */</span>
+
+<span class="comment">/**
+ * Constructs a Selection instance and binds it to the specificed TinyMCE editor control.
+ *
+ * <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance.
+ * <span class="attrib">@constructor</span>
+ */</span>
+<span class="reserved">function</span> TinyMCE_Selection(inst) {
+	<span class="reserved">this</span>.instance = inst;
+};
+
+TinyMCE_Selection.<span class="reserved">prototype</span> = {
+	<span class="comment">/**
+	 * Returns the selected HTML code.
+	 *
+	 * <span class="attrib">@return</span> Selected HTML contents.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	getSelectedHTML : <span class="reserved">function</span>() {
+		var inst = <span class="reserved">this</span>.instance;
+		var e, r = <span class="reserved">this</span>.getRng(), h;
+
+		<span class="reserved">if</span> (tinyMCE.isSafari) {
+			<span class="comment">// Not realy perfect!!</span>
+			<span class="reserved">return</span> r.toString();
+		}
+
+		e = document.createElement(<span class="literal">"body"</span>);
+
+		<span class="reserved">if</span> (tinyMCE.isGecko)
+			e.appendChild(r.cloneContents());
+		<span class="reserved">else</span> 
+			e.innerHTML = r.item ? r.item(0).outerHTML : r.htmlText;
+
+		h = tinyMCE._cleanupHTML(inst, inst.contentDocument, inst.settings, e, e, false, true, false);
+
+		<span class="comment">// When editing always use fonts internaly</span>
+		<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
+			tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		<span class="reserved">return</span> h;
+	},
+
+	<span class="comment">/**
+	 * Returns the selected text.
+	 *
+	 * <span class="attrib">@return</span> Selected text contents.
+	 * <span class="attrib">@type</span> string
+	 */</span>
+	getSelectedText : <span class="reserved">function</span>() {
+		var inst = <span class="reserved">this</span>.instance;
+		var d, r, s, t;
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE) {
+			d = inst.getDoc();
+
+			<span class="reserved">if</span> (d.selection.type == <span class="literal">"Text"</span>) {
+				r = d.selection.createRange();
+				t = r.text;
+			} <span class="reserved">else</span>
+				t = <span class="literal">''</span>;
+		} <span class="reserved">else</span> {
+			s = <span class="reserved">this</span>.getSel();
+
+			<span class="reserved">if</span> (s &amp;&amp; s.toString)
+				t = s.toString();
+			<span class="reserved">else</span>
+				t = <span class="literal">''</span>;
+		}
+
+		<span class="reserved">return</span> t;
+	},
+
+	<span class="comment">/**
+	 * Returns a selection bookmark that can be restored later with moveToBookmark.
+	 * This acts much like the one MSIE has built in but this one is persistent if between DOM
+	 * tree rewritings. The simple mode enables a quicker and non persistent bookmark.
+	 *
+	 * <span class="attrib">@param</span> {boolean} simple If this is set to true, the selection bookmark will not me dom persistent.
+	 * <span class="attrib">@return</span> Selection bookmark that can be restored later with moveToBookmark.
+	 * <span class="attrib">@type</span> TinyMCE_Bookmark
+	 */</span>
+	getBookmark : <span class="reserved">function</span>(simple) {
+		var rng = <span class="reserved">this</span>.getRng();
+		var doc = <span class="reserved">this</span>.instance.getDoc();
+		var sp, le, s, e, nl, i, si, ei;
+		var trng, sx, sy, xx = -999999999;
+
+		<span class="comment">// Skip Opera for now</span>
+		<span class="reserved">if</span> (tinyMCE.isOpera)
+			<span class="reserved">return</span> null;
+
+		sx = doc.body.scrollLeft + doc.documentElement.scrollLeft;
+		sy = doc.body.scrollTop + doc.documentElement.scrollTop;
+
+		<span class="reserved">if</span> (tinyMCE.isSafari || tinyMCE.isGecko)
+			<span class="reserved">return</span> {rng : rng, scrollX : sx, scrollY : sy};
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE) {
+			<span class="reserved">if</span> (simple)
+				<span class="reserved">return</span> {rng : rng};
+
+			<span class="reserved">if</span> (rng.item) {
+				e = rng.item(0);
+
+				nl = doc.getElementsByTagName(e.nodeName);
+				<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
+					<span class="reserved">if</span> (e == nl[i]) {
+						sp = i;
+						break;
+					}
+				}
+
+				<span class="reserved">return</span> {
+					tag : e.nodeName,
+					index : sp,
+					scrollX : sx,
+					scrollY : sy
+				};
+			} <span class="reserved">else</span> {
+				trng = rng.duplicate();
+				trng.collapse(true);
+				sp = Math.abs(trng.move(<span class="literal">'character'</span>, xx));
+
+				trng = rng.duplicate();
+				trng.collapse(false);
+				le = Math.abs(trng.move(<span class="literal">'character'</span>, xx)) - sp;
+
+				<span class="reserved">return</span> {
+					start : sp,
+					length : le,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+		}
+
+		<span class="reserved">if</span> (tinyMCE.isGecko) {
+			s = tinyMCE.getParentElement(rng.startContainer);
+			<span class="reserved">for</span> (si=0; si&lt;s.childNodes.length &amp;&amp; s.childNodes[si] != rng.startContainer; si++) ;
+
+			nl = doc.getElementsByTagName(s.nodeName);
+			<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
+					<span class="reserved">if</span> (s == nl[i]) {
+						sp = i;
+						break;
+					}
+			}
+
+			e = tinyMCE.getParentElement(rng.endContainer);
+			<span class="reserved">for</span> (ei=0; ei&lt;e.childNodes.length &amp;&amp; e.childNodes[ei] != rng.endContainer; ei++) ;
+
+			nl = doc.getElementsByTagName(e.nodeName);
+			<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
+					<span class="reserved">if</span> (e == nl[i]) {
+						le = i;
+						break;
+					}
+			}
+
+			<span class="comment">//tinyMCE.debug(s.nodeName, sp, rng.startOffset, '-' , e.nodeName, le, rng.endOffset);</span>
+			<span class="comment">//tinyMCE.debug(sx, sy);</span>
+
+			<span class="reserved">return</span> {
+				startTag : s.nodeName,
+				start : sp,
+				startIndex : si,
+				endTag : e.nodeName,
+				end : le,
+				endIndex : ei,
+				startOffset : rng.startOffset,
+				endOffset : rng.endOffset,
+				scrollX : sx,
+				scrollY : sy
+			};
+		}
+
+		<span class="reserved">return</span> null;
+	},
+
+	<span class="comment">/**
+	 * Restores the selection to the specified bookmark.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_Bookmark} bookmark Bookmark to restore selection from.
+	 * <span class="attrib">@return</span> true/false if it was successful or not.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	moveToBookmark : <span class="reserved">function</span>(bookmark) {
+		var rng, nl, i;
+		var inst = <span class="reserved">this</span>.instance;
+		var doc = inst.getDoc();
+		var win = inst.getWin();
+		var sel = <span class="reserved">this</span>.getSel();
+
+		<span class="reserved">if</span> (!bookmark)
+			<span class="reserved">return</span> false;
+
+		<span class="reserved">if</span> (tinyMCE.isSafari) {
+			sel.setBaseAndExtent(bookmark.startContainer, bookmark.startOffset, bookmark.endContainer, bookmark.endOffset);
+			<span class="reserved">return</span> true;
+		}
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE) {
+			<span class="reserved">if</span> (bookmark.rng) {
+				bookmark.rng.select();
+				<span class="reserved">return</span> true;
+			}
+
+			win.focus();
+
+			<span class="reserved">if</span> (bookmark.tag) {
+				rng = inst.getBody().createControlRange();
+
+				nl = doc.getElementsByTagName(bookmark.tag);
+
+				<span class="reserved">if</span> (nl.length &gt; bookmark.index) {
+					try {
+						rng.addElement(nl[bookmark.index]);
+					} catch (ex) {
+						<span class="comment">// Might be thrown if the node no longer exists</span>
+					}
+				}
+			} <span class="reserved">else</span> {
+				rng = inst.getSel().createRange();
+				rng.moveToElementText(inst.getBody());
+				rng.collapse(true);
+				rng.moveStart(<span class="literal">'character'</span>, bookmark.start);
+				rng.moveEnd(<span class="literal">'character'</span>, bookmark.length);
+			}
+
+			rng.select();
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			<span class="reserved">return</span> true;
+		}
+
+		<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; bookmark.rng) {
+			sel.removeAllRanges();
+			sel.addRange(bookmark.rng);
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			<span class="reserved">return</span> true;
+		}
+
+		<span class="reserved">if</span> (tinyMCE.isGecko) {
+	<span class="comment">//		try {</span>
+				rng = doc.createRange();
+
+				nl = doc.getElementsByTagName(bookmark.startTag);
+				<span class="reserved">if</span> (nl.length &gt; bookmark.start)
+					rng.setStart(nl[bookmark.start].childNodes[bookmark.startIndex], bookmark.startOffset);
+
+				nl = doc.getElementsByTagName(bookmark.endTag);
+				<span class="reserved">if</span> (nl.length &gt; bookmark.end)
+					rng.setEnd(nl[bookmark.end].childNodes[bookmark.endIndex], bookmark.endOffset);
+
+				sel.removeAllRanges();
+				sel.addRange(rng);
+	<span class="comment">/*		} catch {
+				// Ignore
+			}*/</span>
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			<span class="reserved">return</span> true;
+		}
+
+		<span class="reserved">return</span> false;
+	},
+
+	<span class="comment">/**
+	 * Selects the specified node.
+	 *
+	 * <span class="attrib">@param</span> {HTMLNode} node Node object to move selection to.
+	 * <span class="attrib">@param</span> {boolean} collapse True/false if it will be collasped.
+	 * <span class="attrib">@param</span> {boolean} select_text_node True/false if the text contents should be selected or not.
+	 * <span class="attrib">@param</span> {boolean} to_start True/false if the collapse should be to start or end of range.
+	 */</span>
+	selectNode : <span class="reserved">function</span>(node, collapse, select_text_node, to_start) {
+		var inst = <span class="reserved">this</span>.instance, sel, rng, nodes;
+
+		<span class="reserved">if</span> (!node)
+			<span class="reserved">return</span>;
+
+		<span class="reserved">if</span> (typeof(collapse) == <span class="literal">"undefined"</span>)
+			collapse = true;
+
+		<span class="reserved">if</span> (typeof(select_text_node) == <span class="literal">"undefined"</span>)
+			select_text_node = false;
+
+		<span class="reserved">if</span> (typeof(to_start) == <span class="literal">"undefined"</span>)
+			to_start = true;
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE) {
+			rng = inst.getBody().createTextRange();
+
+			try {
+				rng.moveToElementText(node);
+
+				<span class="reserved">if</span> (collapse)
+					rng.collapse(to_start);
+
+				rng.select();
+			} catch (e) {
+				<span class="comment">// Throws illigal agrument in MSIE some times</span>
+			}
+		} <span class="reserved">else</span> {
+			sel = <span class="reserved">this</span>.getSel();
+
+			<span class="reserved">if</span> (!sel)
+				<span class="reserved">return</span>;
+
+			<span class="reserved">if</span> (tinyMCE.isSafari) {
+				sel.setBaseAndExtent(node, 0, node, node.innerText.length);
+
+				<span class="reserved">if</span> (collapse) {
+					<span class="reserved">if</span> (to_start)
+						sel.collapseToStart();
+					<span class="reserved">else</span>
+						sel.collapseToEnd();
+				}
+
+				<span class="reserved">this</span>.scrollToNode(node);
+
+				<span class="reserved">return</span>;
+			}
+
+			rng = inst.getDoc().createRange();
+
+			<span class="reserved">if</span> (select_text_node) {
+				<span class="comment">// Find first textnode in tree</span>
+				nodes = tinyMCE.getNodeTree(node, new Array(), 3);
+				<span class="reserved">if</span> (nodes.length &gt; 0)
+					rng.selectNodeContents(nodes[0]);
+				<span class="reserved">else</span>
+					rng.selectNodeContents(node);
+			} <span class="reserved">else</span>
+				rng.selectNode(node);
+
+			<span class="reserved">if</span> (collapse) {
+				<span class="comment">// Special treatment of textnode collapse</span>
+				<span class="reserved">if</span> (!to_start &amp;&amp; node.nodeType == 3) {
+					rng.setStart(node, node.nodeValue.length);
+					rng.setEnd(node, node.nodeValue.length);
+				} <span class="reserved">else</span>
+					rng.collapse(to_start);
+			}
+
+			sel.removeAllRanges();
+			sel.addRange(rng);
+		}
+
+		<span class="reserved">this</span>.scrollToNode(node);
+
+		<span class="comment">// Set selected element</span>
+		tinyMCE.selectedElement = null;
+		<span class="reserved">if</span> (node.nodeType == 1)
+			tinyMCE.selectedElement = node;
+	},
+
+	<span class="comment">/**
+	 * Scrolls to the specified node location.
+	 *
+	 * <span class="attrib">@param</span> {HTMLNode} node Node to scroll to.
+	 */</span>
+	scrollToNode : <span class="reserved">function</span>(node) {
+		var inst = <span class="reserved">this</span>.instance;
+		var pos, doc, scrollX, scrollY, height;
+
+		<span class="comment">// Scroll to node position</span>
+		pos = tinyMCE.getAbsPosition(node);
+		doc = inst.getDoc();
+		scrollX = doc.body.scrollLeft + doc.documentElement.scrollLeft;
+		scrollY = doc.body.scrollTop + doc.documentElement.scrollTop;
+		height = tinyMCE.isMSIE ? document.getElementById(inst.editorId).style.pixelHeight : inst.targetElement.clientHeight;
+
+		<span class="comment">// Only scroll if out of visible area</span>
+		<span class="reserved">if</span> (!tinyMCE.settings[<span class="literal">'auto_resize'</span>] &amp;&amp; !(pos.absTop &gt; scrollY &amp;&amp; pos.absTop &lt; (scrollY - 25 + height)))
+			inst.contentWindow.scrollTo(pos.absLeft, pos.absTop - height + 25); 
+	},
+
+	<span class="comment">/**
+	 * Returns the browsers selection instance.
+	 *
+	 * <span class="attrib">@return</span> Browser selection instance.
+	 * <span class="attrib">@type</span> DOMSelection
+	 */</span>
+	getSel : <span class="reserved">function</span>() {
+		var inst = <span class="reserved">this</span>.instance;
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
+			<span class="reserved">return</span> inst.getDoc().selection;
+
+		<span class="reserved">return</span> inst.contentWindow.getSelection();
+	},
+
+	<span class="comment">/**
+	 * Returns the browsers selections first range instance.
+	 *
+	 * <span class="attrib">@return</span> Browsers selections first range instance.
+	 * <span class="attrib">@type</span> DOMRange
+	 */</span>
+	getRng : <span class="reserved">function</span>() {
+		var inst = <span class="reserved">this</span>.instance;
+		var sel = <span class="reserved">this</span>.getSel();
+
+		<span class="reserved">if</span> (sel == null)
+			<span class="reserved">return</span> null;
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
+			<span class="reserved">return</span> sel.createRange();
+
+		<span class="reserved">if</span> (tinyMCE.isSafari &amp;&amp; !sel.getRangeAt)
+			<span class="reserved">return</span> <span class="literal">''</span> + window.getSelection();
+
+		<span class="reserved">return</span> sel.getRangeAt(0);
+	},
+
+	<span class="comment">/**
+	 * Returns the currently selected/focused element.
+	 *
+	 * <span class="attrib">@return</span> Currently selected element.
+	 * <span class="attrib">@type</span> HTMLElement
+	 */</span>
+	getFocusElement : <span class="reserved">function</span>() {
+		var inst = <span class="reserved">this</span>.instance;
+
+		<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera) {
+			var doc = inst.getDoc();
+			var rng = doc.selection.createRange();
+
+	<span class="comment">//		if (rng.collapse)</span>
+	<span class="comment">//			rng.collapse(true);</span>
+
+			var elm = rng.item ? rng.item(0) : rng.parentElement();
+		} <span class="reserved">else</span> {
+			<span class="reserved">if</span> (inst.isHidden())
+				<span class="reserved">return</span> inst.getBody();
+
+			var sel = <span class="reserved">this</span>.getSel();
+			var rng = <span class="reserved">this</span>.getRng();
+
+			<span class="reserved">if</span> (!sel || !rng)
+				<span class="reserved">return</span> null;
+
+			var elm = rng.commonAncestorContainer;
+			<span class="comment">//var elm = (sel &amp;&amp; sel.anchorNode) ? sel.anchorNode : null;</span>
+
+			<span class="comment">// Handle selection a image or other control like element such as anchors</span>
+			<span class="reserved">if</span> (!rng.collapsed) {
+				<span class="comment">// Is selection small</span>
+				<span class="reserved">if</span> (rng.startContainer == rng.endContainer) {
+					<span class="reserved">if</span> (rng.startOffset - rng.endOffset &lt; 2) {
+						<span class="reserved">if</span> (rng.startContainer.hasChildNodes())
+							elm = rng.startContainer.childNodes[rng.startOffset];
+					}
+				}
+			}
+
+			<span class="comment">// Get the element parent of the node</span>
+			elm = tinyMCE.getParentElement(elm);
+
+			<span class="comment">//if (tinyMCE.selectedElement != null &amp;&amp; tinyMCE.selectedElement.nodeName.toLowerCase() == "img")</span>
+			<span class="comment">//	elm = tinyMCE.selectedElement;</span>
+		}
+
+		<span class="reserved">return</span> elm;
+	}
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_UndoRedo.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_UndoRedo.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_UndoRedo.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_UndoRedo.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,296 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_UndoRedo.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_UndoRedo.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_UndoRedo.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_UndoRedo.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:31 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */</span>
+
+<span class="comment">/**
+ * Constructs a undo redo instance, this instance handles the custom undo/redo handeling in TinyMCE.
+ *
+ * <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance.
+ * <span class="attrib">@constructor</span>
+ */</span>
+<span class="reserved">function</span> TinyMCE_UndoRedo(inst) {
+	<span class="reserved">this</span>.instance = inst;
+	<span class="reserved">this</span>.undoLevels = new Array();
+	<span class="reserved">this</span>.undoIndex = 0;
+	<span class="reserved">this</span>.typingUndoIndex = -1;
+	<span class="reserved">this</span>.undoRedo = true;
+};
+
+TinyMCE_UndoRedo.<span class="reserved">prototype</span> = {
+	<span class="comment">/**
+	 * Adds a new undo level, this will take a snapshot of the current instance HTML or use the specified level.
+	 *
+	 * <span class="attrib">@param</span> {TinyMCE_UndoRedoLevel} l Optional undo/redo level to add.
+	 * <span class="attrib">@return</span> true/false on success or failure.
+	 * <span class="attrib">@type</span> boolean
+	 */</span>
+	add : <span class="reserved">function</span>(l) {
+		var b;
+
+		<span class="reserved">if</span> (l) {
+			<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoLevels.length] = l;
+			<span class="reserved">return</span> true;
+		}
+
+		var inst = <span class="reserved">this</span>.instance;
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.typingUndoIndex != -1) {
+			<span class="reserved">this</span>.undoIndex = <span class="reserved">this</span>.typingUndoIndex;
+			<span class="comment">// tinyMCE.debug("Override: " + this.undoIndex);</span>
+		}
+
+		var newHTML = tinyMCE.trim(inst.getBody().innerHTML);
+		<span class="reserved">if</span> (<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex] &amp;&amp; newHTML != <span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].content) {
+			<span class="comment">//tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex]);</span>
+
+			tinyMCE.dispatchCallback(inst, <span class="literal">'onchange_callback'</span>, <span class="literal">'onChange'</span>, inst);
+
+			<span class="comment">// Time to compress</span>
+			var customUndoLevels = tinyMCE.settings[<span class="literal">'custom_undo_redo_levels'</span>];
+			<span class="reserved">if</span> (customUndoLevels != -1 &amp;&amp; <span class="reserved">this</span>.undoLevels.length &gt; customUndoLevels) {
+				<span class="reserved">for</span> (var i=0; i&lt;<span class="reserved">this</span>.undoLevels.length-1; i++) {
+					<span class="comment">//tinyMCE.debug(this.undoLevels[i] + "=" + this.undoLevels[i+1]);</span>
+					<span class="reserved">this</span>.undoLevels[i] = <span class="reserved">this</span>.undoLevels[i+1];
+				}
+
+				<span class="reserved">this</span>.undoLevels.length--;
+				<span class="reserved">this</span>.undoIndex--;
+			}
+
+			b = inst.undoBookmark;
+			<span class="reserved">if</span> (!b)
+				b = inst.selection.getBookmark();
+
+			<span class="reserved">this</span>.undoIndex++;
+			<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex] = {
+				content : newHTML,
+				bookmark : b
+			};
+
+			<span class="reserved">this</span>.undoLevels.length = <span class="reserved">this</span>.undoIndex + 1;
+
+			<span class="comment">//tinyMCE.debug("level added" + this.undoIndex);</span>
+			<span class="reserved">return</span> true;
+
+			<span class="comment">// tinyMCE.debug(this.undoIndex + "," + (this.undoLevels.length-1));</span>
+		}
+
+		<span class="reserved">return</span> false;
+	},
+
+	<span class="comment">/**
+	 * Performes a undo action, this will restore the HTML contents of the editor to a former state.
+	 */</span>
+	undo : <span class="reserved">function</span>() {
+		var inst = <span class="reserved">this</span>.instance;
+
+		<span class="comment">// Do undo</span>
+		<span class="reserved">if</span> (<span class="reserved">this</span>.undoIndex &gt; 0) {
+			<span class="reserved">this</span>.undoIndex--;
+			tinyMCE.setInnerHTML(inst.getBody(), <span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].content);
+			inst.repaint();
+			<span class="reserved">if</span> (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].bookmark);
+		}
+
+		<span class="comment">// tinyMCE.debug("Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);</span>
+	},
+
+	<span class="comment">/**
+	 * Performes a undo action, this will restore the HTML contents of the editor to a former undoed state.
+	 */</span>
+	redo : <span class="reserved">function</span>() {
+		var inst = <span class="reserved">this</span>.instance;
+
+		tinyMCE.execCommand(<span class="literal">"mceEndTyping"</span>);
+
+		<span class="reserved">if</span> (<span class="reserved">this</span>.undoIndex &lt; (<span class="reserved">this</span>.undoLevels.length-1)) {
+			<span class="reserved">this</span>.undoIndex++;
+			tinyMCE.setInnerHTML(inst.getBody(), <span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].content);
+			inst.repaint();
+<span class="comment">//					if (this.undoIndex &gt; 0)</span>
+<span class="comment">//						inst.selection.moveToBookmark(this.undoLevels[this.undoIndex-1].bookmark);</span>
+			<span class="reserved">if</span> (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].bookmark);
+			<span class="comment">// tinyMCE.debug("Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);</span>
+		}
+
+		tinyMCE.triggerNodeChange();
+	}
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_URL.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_URL.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_URL.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-summary-TinyMCE_URL.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,530 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+ Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TinyMCE_URL.class.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TinyMCE_URL.class.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TinyMCE_URL.class.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * $RCSfile: overview-summary-TinyMCE_URL.class.js.html,v $
+ * $Revision: 1.42 $
+ * $Date: 2006/04/14 20:00:31 $
+ *
+ * <span class="attrib">@author</span> Moxiecode
+ * <span class="attrib">@copyright</span> Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ *
+ * The contents of this file will be wrapped in a class later on.
+ */</span>
+
+<span class="comment">/**
+ * Parses a URL in to its diffrent components.
+ *
+ * <span class="attrib">@param</span> {string} url_str URL string to parse into a URL object.
+ * <span class="attrib">@return</span> URL object based on input string.
+ * <span class="attrib">@type</span> TinyMCE_URL_Item
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.parseURL = <span class="reserved">function</span>(url_str) {
+	var urlParts = new Array();
+
+	<span class="reserved">if</span> (url_str) {
+		var pos, lastPos;
+
+		<span class="comment">// Parse protocol part</span>
+		pos = url_str.indexOf(<span class="literal">'://'</span>);
+		<span class="reserved">if</span> (pos != -1) {
+			urlParts[<span class="literal">'protocol'</span>] = url_str.substring(0, pos);
+			lastPos = pos + 3;
+		}
+
+		<span class="comment">// Find port or path start</span>
+		<span class="reserved">for</span> (var i=lastPos; i&lt;url_str.length; i++) {
+			var chr = url_str.charAt(i);
+
+			<span class="reserved">if</span> (chr == <span class="literal">':'</span>)
+				break;
+
+			<span class="reserved">if</span> (chr == <span class="literal">'/'</span>)
+				break;
+		}
+		pos = i;
+
+		<span class="comment">// Get host</span>
+		urlParts[<span class="literal">'host'</span>] = url_str.substring(lastPos, pos);
+
+		<span class="comment">// Get port</span>
+		urlParts[<span class="literal">'port'</span>] = <span class="literal">""</span>;
+		lastPos = pos;
+		<span class="reserved">if</span> (url_str.charAt(pos) == <span class="literal">':'</span>) {
+			pos = url_str.indexOf(<span class="literal">'/'</span>, lastPos);
+			urlParts[<span class="literal">'port'</span>] = url_str.substring(lastPos+1, pos);
+		}
+
+		<span class="comment">// Get path</span>
+		lastPos = pos;
+		pos = url_str.indexOf(<span class="literal">'?'</span>, lastPos);
+
+		<span class="reserved">if</span> (pos == -1)
+			pos = url_str.indexOf(<span class="literal">'#'</span>, lastPos);
+
+		<span class="reserved">if</span> (pos == -1)
+			pos = url_str.length;
+
+		urlParts[<span class="literal">'path'</span>] = url_str.substring(lastPos, pos);
+
+		<span class="comment">// Get query</span>
+		lastPos = pos;
+		<span class="reserved">if</span> (url_str.charAt(pos) == <span class="literal">'?'</span>) {
+			pos = url_str.indexOf(<span class="literal">'#'</span>);
+			pos = (pos == -1) ? url_str.length : pos;
+			urlParts[<span class="literal">'query'</span>] = url_str.substring(lastPos+1, pos);
+		}
+
+		<span class="comment">// Get anchor</span>
+		lastPos = pos;
+		<span class="reserved">if</span> (url_str.charAt(pos) == <span class="literal">'#'</span>) {
+			pos = url_str.length;
+			urlParts[<span class="literal">'anchor'</span>] = url_str.substring(lastPos+1, pos);
+		}
+	}
+
+	<span class="reserved">return</span> urlParts;
+};
+
+<span class="comment">/**
+ * Serializes the specified URL object into a string.
+ *
+ * <span class="attrib">@param</span> {TinyMCE_URL_Item} up URL object to serialize.
+ * <span class="attrib">@return</span> Serialized URL object.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.serializeURL = <span class="reserved">function</span>(up) {
+	var o = <span class="literal">""</span>;
+
+	<span class="reserved">if</span> (up[<span class="literal">'protocol'</span>])
+		o += up[<span class="literal">'protocol'</span>] + <span class="literal">"://"</span>;
+
+	<span class="reserved">if</span> (up[<span class="literal">'host'</span>])
+		o += up[<span class="literal">'host'</span>];
+
+	<span class="reserved">if</span> (up[<span class="literal">'port'</span>])
+		o += <span class="literal">":"</span> + up[<span class="literal">'port'</span>];
+
+	<span class="reserved">if</span> (up[<span class="literal">'path'</span>])
+		o += up[<span class="literal">'path'</span>];
+
+	<span class="reserved">if</span> (up[<span class="literal">'query'</span>])
+		o += <span class="literal">"?"</span> + up[<span class="literal">'query'</span>];
+
+	<span class="reserved">if</span> (up[<span class="literal">'anchor'</span>])
+		o += <span class="literal">"#"</span> + up[<span class="literal">'anchor'</span>];
+
+	<span class="reserved">return</span> o;
+};
+
+<span class="comment">/**
+ * Converts an absolute path to relative path.
+ *
+ * <span class="attrib">@param</span> {string} base_url URL to make as a base path, URLs will be converted relative from this point.
+ * <span class="attrib">@param</span> {string} url_to_relative URL to convert into a relative URL.
+ * <span class="attrib">@return</span> Relative URL based in input.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.convertAbsoluteURLToRelativeURL = <span class="reserved">function</span>(base_url, url_to_relative) {
+	var baseURL = <span class="reserved">this</span>.parseURL(base_url);
+	var targetURL = <span class="reserved">this</span>.parseURL(url_to_relative);
+	var strTok1;
+	var strTok2;
+	var breakPoint = 0;
+	var outPath = <span class="literal">""</span>;
+	var forceSlash = false;
+
+	<span class="reserved">if</span> (targetURL.path == <span class="literal">""</span>)
+		targetURL.path = <span class="literal">"/"</span>;
+	<span class="reserved">else</span>
+		forceSlash = true;
+
+	<span class="comment">// Crop away last path part</span>
+	base_url = baseURL.path.substring(0, baseURL.path.lastIndexOf(<span class="literal">'/'</span>));
+	strTok1 = base_url.split(<span class="literal">'/'</span>);
+	strTok2 = targetURL.path.split(<span class="literal">'/'</span>);
+
+	<span class="reserved">if</span> (strTok1.length &gt;= strTok2.length) {
+		<span class="reserved">for</span> (var i=0; i&lt;strTok1.length; i++) {
+			<span class="reserved">if</span> (i &gt;= strTok2.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	<span class="reserved">if</span> (strTok1.length &lt; strTok2.length) {
+		<span class="reserved">for</span> (var i=0; i&lt;strTok2.length; i++) {
+			<span class="reserved">if</span> (i &gt;= strTok1.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	<span class="reserved">if</span> (breakPoint == 1)
+		<span class="reserved">return</span> targetURL.path;
+
+	<span class="reserved">for</span> (var i=0; i&lt;(strTok1.length-(breakPoint-1)); i++)
+		outPath += <span class="literal">"../"</span>;
+
+	<span class="reserved">for</span> (var i=breakPoint-1; i&lt;strTok2.length; i++) {
+		<span class="reserved">if</span> (i != (breakPoint-1))
+			outPath += <span class="literal">"/"</span> + strTok2[i];
+		<span class="reserved">else</span>
+			outPath += strTok2[i];
+	}
+
+	targetURL.protocol = null;
+	targetURL.host = null;
+	targetURL.port = null;
+	targetURL.path = outPath == <span class="literal">""</span> &amp;&amp; forceSlash ? <span class="literal">"/"</span> : outPath;
+
+	<span class="comment">// Remove document prefix from local anchors</span>
+	var fileName = baseURL.path;
+	var pos;
+
+	<span class="reserved">if</span> ((pos = fileName.lastIndexOf(<span class="literal">'/'</span>)) != -1)
+		fileName = fileName.substring(pos + 1);
+
+	<span class="comment">// Is local anchor</span>
+	<span class="reserved">if</span> (fileName == targetURL.path &amp;&amp; targetURL.anchor != <span class="literal">""</span>)
+		targetURL.path = <span class="literal">""</span>;
+
+	<span class="comment">// If empty and not local anchor force filename or slash</span>
+	<span class="reserved">if</span> (targetURL.path == <span class="literal">""</span> &amp;&amp; !targetURL.anchor)
+		targetURL.path = fileName != <span class="literal">""</span> ? fileName : <span class="literal">"/"</span>;
+
+	<span class="reserved">return</span> <span class="reserved">this</span>.serializeURL(targetURL);
+};
+
+<span class="comment">/**
+ * Converts an relative path to absolute path.
+ *
+ * <span class="attrib">@param</span> {string} base_url URL to make as a base path, URLs will be converted absolute from this point.
+ * <span class="attrib">@param</span> {string} relative_url URL to convert into a absolute URL.
+ * <span class="attrib">@return</span> Absolute URL based in input.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.convertRelativeToAbsoluteURL = <span class="reserved">function</span>(base_url, relative_url) {
+	var baseURL = <span class="reserved">this</span>.parseURL(base_url);
+	var relURL = <span class="reserved">this</span>.parseURL(relative_url);
+
+	<span class="reserved">if</span> (relative_url == <span class="literal">""</span> || relative_url.charAt(0) == <span class="literal">'/'</span> || relative_url.indexOf(<span class="literal">'://'</span>) != -1 || relative_url.indexOf(<span class="literal">'mailto:'</span>) != -1 || relative_url.indexOf(<span class="literal">'javascript:'</span>) != -1)
+		<span class="reserved">return</span> relative_url;
+
+	<span class="comment">// Split parts</span>
+	baseURLParts = baseURL[<span class="literal">'path'</span>].split(<span class="literal">'/'</span>);
+	relURLParts = relURL[<span class="literal">'path'</span>].split(<span class="literal">'/'</span>);
+
+	<span class="comment">// Remove empty chunks</span>
+	var newBaseURLParts = new Array();
+	<span class="reserved">for</span> (var i=baseURLParts.length-1; i&gt;=0; i--) {
+		<span class="reserved">if</span> (baseURLParts[i].length == 0)
+			continue;
+
+		newBaseURLParts[newBaseURLParts.length] = baseURLParts[i];
+	}
+	baseURLParts = newBaseURLParts.reverse();
+
+	<span class="comment">// Merge relURLParts chunks</span>
+	var newRelURLParts = new Array();
+	var numBack = 0;
+	<span class="reserved">for</span> (var i=relURLParts.length-1; i&gt;=0; i--) {
+		<span class="reserved">if</span> (relURLParts[i].length == 0 || relURLParts[i] == <span class="literal">"."</span>)
+			continue;
+
+		<span class="reserved">if</span> (relURLParts[i] == <span class="literal">'..'</span>) {
+			numBack++;
+			continue;
+		}
+
+		<span class="reserved">if</span> (numBack &gt; 0) {
+			numBack--;
+			continue;
+		}
+
+		newRelURLParts[newRelURLParts.length] = relURLParts[i];
+	}
+
+	relURLParts = newRelURLParts.reverse();
+
+	<span class="comment">// Remove end from absolute path</span>
+	var len = baseURLParts.length-numBack;
+	var absPath = (len &lt;= 0 ? <span class="literal">""</span> : <span class="literal">"/"</span>) + baseURLParts.slice(0, len).join(<span class="literal">'/'</span>) + <span class="literal">"/"</span> + relURLParts.join(<span class="literal">'/'</span>);
+	var start = <span class="literal">""</span>, end = <span class="literal">""</span>;
+
+	<span class="comment">// Build output URL</span>
+	relURL.protocol = baseURL.protocol;
+	relURL.host = baseURL.host;
+	relURL.port = baseURL.port;
+
+	<span class="comment">// Re-add trailing slash if it's removed</span>
+	<span class="reserved">if</span> (relURL.path.charAt(relURL.path.length-1) == <span class="literal">"/"</span>)
+		absPath += <span class="literal">"/"</span>;
+
+	relURL.path = absPath;
+
+	<span class="reserved">return</span> <span class="reserved">this</span>.serializeURL(relURL);
+};
+
+<span class="comment">/**
+ * Converts the specified URL based in TinyMCE configuration settings.
+ *
+ * <span class="attrib">@param</span> {string} url URL to convert based on config.
+ * <span class="attrib">@param</span> {HTMLElement} node HTML element that holds the URL.
+ * <span class="attrib">@param</span> {boolean} on_save Is this convertion the final output URL.
+ * <span class="attrib">@return</span> Converted URL string.
+ * <span class="attrib">@type</span> string
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.convertURL = <span class="reserved">function</span>(url, node, on_save) {
+	var prot = document.location.protocol;
+	var host = document.location.hostname;
+	var port = document.location.port;
+
+	<span class="comment">// Pass through file protocol</span>
+	<span class="reserved">if</span> (prot == <span class="literal">"file:"</span>)
+		<span class="reserved">return</span> url;
+
+	<span class="comment">// Something is wrong, remove weirdness</span>
+	url = tinyMCE.regexpReplace(url, <span class="literal">'(http|https):///'</span>, <span class="literal">'/'</span>);
+
+	<span class="comment">// Mailto link or anchor (Pass through)</span>
+	<span class="reserved">if</span> (url.indexOf(<span class="literal">'mailto:'</span>) != -1 || url.indexOf(<span class="literal">'javascript:'</span>) != -1 || tinyMCE.regexpReplace(url,<span class="literal">'[ \t\r\n\+]|%20'</span>,<span class="literal">''</span>).charAt(0) == <span class="literal">"#"</span>)
+		<span class="reserved">return</span> url;
+
+	<span class="comment">// Fix relative/Mozilla</span>
+	<span class="reserved">if</span> (!tinyMCE.isMSIE &amp;&amp; !on_save &amp;&amp; url.indexOf(<span class="literal">"://"</span>) == -1 &amp;&amp; url.charAt(0) != <span class="literal">'/'</span>)
+		<span class="reserved">return</span> tinyMCE.settings[<span class="literal">'base_href'</span>] + url;
+
+	<span class="comment">// Handle relative URLs</span>
+	<span class="reserved">if</span> (on_save &amp;&amp; tinyMCE.getParam(<span class="literal">'relative_urls'</span>)) {
+		var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], url);
+		<span class="reserved">if</span> (curl.charAt(0) == <span class="literal">'/'</span>)
+			curl = tinyMCE.settings[<span class="literal">'document_base_prefix'</span>] + curl;
+
+		var urlParts = tinyMCE.parseURL(curl);
+		var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings[<span class="literal">'document_base_url'</span>]);
+
+		<span class="comment">// Force relative</span>
+		<span class="reserved">if</span> (urlParts[<span class="literal">'host'</span>] == tmpUrlParts[<span class="literal">'host'</span>] &amp;&amp; (urlParts[<span class="literal">'port'</span>] == tmpUrlParts[<span class="literal">'port'</span>]))
+			<span class="reserved">return</span> tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings[<span class="literal">'document_base_url'</span>], curl);
+	}
+
+	<span class="comment">// Handle absolute URLs</span>
+	<span class="reserved">if</span> (!tinyMCE.getParam(<span class="literal">'relative_urls'</span>)) {
+		var urlParts = tinyMCE.parseURL(url);
+		var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings[<span class="literal">'base_href'</span>]);
+
+		<span class="comment">// Force absolute URLs from relative URLs</span>
+		url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], url);
+
+		<span class="comment">// If anchor and path is the same page</span>
+		<span class="reserved">if</span> (urlParts[<span class="literal">'anchor'</span>] &amp;&amp; urlParts[<span class="literal">'path'</span>] == baseUrlParts[<span class="literal">'path'</span>])
+			<span class="reserved">return</span> <span class="literal">"#"</span> + urlParts[<span class="literal">'anchor'</span>];
+	}
+
+	<span class="comment">// Remove current domain</span>
+	<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">'remove_script_host'</span>)) {
+		var start = <span class="literal">""</span>, portPart = <span class="literal">""</span>;
+
+		<span class="reserved">if</span> (port != <span class="literal">""</span>)
+			portPart = <span class="literal">":"</span> + port;
+
+		start = prot + <span class="literal">"//"</span> + host + portPart + <span class="literal">"/"</span>;
+
+		<span class="reserved">if</span> (url.indexOf(start) == 0)
+			url = url.substring(start.length-1);
+	}
+
+	<span class="reserved">return</span> url;
+};
+
+<span class="comment">/**
+ * Converts all img and a element URLs to absolute URLs. This will use the mce_src or mce_href attribute values
+ * if they are provided. This function is used when the editor is initialized.
+ *
+ * <span class="attrib">@param</span> {HTMLElement} body HTML element to convert all URLs in.
+ */</span>
+TinyMCE_Engine.<span class="reserved">prototype</span>.convertAllRelativeURLs = <span class="reserved">function</span>(body) {
+	<span class="comment">// Convert all image URL:s to absolute URL</span>
+	var elms = body.getElementsByTagName(<span class="literal">"img"</span>);
+	<span class="reserved">for</span> (var i=0; i&lt;elms.length; i++) {
+		var src = tinyMCE.getAttrib(elms[i], <span class="literal">'src'</span>);
+
+		var msrc = tinyMCE.getAttrib(elms[i], <span class="literal">'mce_src'</span>);
+		<span class="reserved">if</span> (msrc != <span class="literal">""</span>)
+			src = msrc;
+
+		<span class="reserved">if</span> (src != <span class="literal">""</span>) {
+			src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], src);
+			elms[i].setAttribute(<span class="literal">"src"</span>, src);
+		}
+	}
+
+	<span class="comment">// Convert all link URL:s to absolute URL</span>
+	var elms = body.getElementsByTagName(<span class="literal">"a"</span>);
+	<span class="reserved">for</span> (var i=0; i&lt;elms.length; i++) {
+		var href = tinyMCE.getAttrib(elms[i], <span class="literal">'href'</span>);
+
+		var mhref = tinyMCE.getAttrib(elms[i], <span class="literal">'mce_href'</span>);
+		<span class="reserved">if</span> (mhref != <span class="literal">""</span>)
+			href = mhref;
+
+		<span class="reserved">if</span> (href &amp;&amp; href != <span class="literal">""</span>) {
+			href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], href);
+			elms[i].setAttribute(<span class="literal">"href"</span>, href);
+		}
+	}
+};
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b></b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Array.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Array.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Array.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Array.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Array.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Array.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Array.class.js.html" 
+                                        target="classFrame">TinyMCE_Array.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Cleanup.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Cleanup.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Cleanup.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Cleanup.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Cleanup.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Cleanup.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Cleanup.class.js.html" 
+                                        target="classFrame">TinyMCE_Cleanup.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Cleanup.html" TARGET="classFrame">TinyMCE_Cleanup</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Control.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Control.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Control.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Control.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Control.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Control.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Control.class.js.html" 
+                                        target="classFrame">TinyMCE_Control.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Control.html" TARGET="classFrame">TinyMCE_Control</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Debug.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Debug.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Debug.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Debug.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Debug.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Debug.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Debug.class.js.html" 
+                                        target="classFrame">TinyMCE_Debug.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_DOMUtils.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_DOMUtils.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_DOMUtils.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_DOMUtils.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_DOMUtils.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_DOMUtils.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_DOMUtils.class.js.html" 
+                                        target="classFrame">TinyMCE_DOMUtils.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Engine.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Engine.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Engine.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Engine.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Engine.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Engine.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Engine.class.js.html" 
+                                        target="classFrame">TinyMCE_Engine.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Engine.html" TARGET="classFrame">TinyMCE_Engine</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Event.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Event.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Event.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Event.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Event.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Event.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Event.class.js.html" 
+                                        target="classFrame">TinyMCE_Event.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_ForceParagraphs.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_ForceParagraphs.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_ForceParagraphs.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_ForceParagraphs.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_ForceParagraphs.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_ForceParagraphs.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_ForceParagraphs.class.js.html" 
+                                        target="classFrame">TinyMCE_ForceParagraphs.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Layer.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Layer.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Layer.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Layer.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Layer.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Layer.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Layer.class.js.html" 
+                                        target="classFrame">TinyMCE_Layer.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Layer.html" TARGET="classFrame">TinyMCE_Layer</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Menu.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Menu.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Menu.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Menu.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Menu.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Menu.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Menu.class.js.html" 
+                                        target="classFrame">TinyMCE_Menu.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Popup.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Popup.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Popup.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Popup.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Popup.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Popup.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Popup.class.js.html" 
+                                        target="classFrame">TinyMCE_Popup.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Popup.html" TARGET="classFrame">TinyMCE_Popup</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Selection.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Selection.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Selection.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_Selection.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_Selection.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_Selection.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_Selection.class.js.html" 
+                                        target="classFrame">TinyMCE_Selection.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Selection.html" TARGET="classFrame">TinyMCE_Selection</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_UndoRedo.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_UndoRedo.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_UndoRedo.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_UndoRedo.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_UndoRedo.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_UndoRedo.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_UndoRedo.class.js.html" 
+                                        target="classFrame">TinyMCE_UndoRedo.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_UndoRedo.html" TARGET="classFrame">TinyMCE_UndoRedo</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_URL.class.js.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_URL.class.js.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_URL.class.js.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-TinyMCE_URL.class.js.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TinyMCE_URL.class.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TinyMCE_URL.class.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TinyMCE_URL.class.js.html" 
+                                        target="classFrame">TinyMCE_URL.class.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+</TABLE>
+
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-tree.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-tree.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/overview-tree.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/overview-tree.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Class Hierarchy
+</TITLE>
+<LINK REL="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Class Hierarchy";
+}
+</SCRIPT>
+</HEAD>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"><A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><b>Overview</b></A></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev">  &nbsp;<FONT CLASS="NavBarFont1Rev"><b>Tree</b></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><b>Index</b></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><b>Help</b></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD BGCOLOR="#FFFFFF" ALIGN="right" VALIGN="top"><EM>
+<B></B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-summary.html" TARGET="_top"><B>NO FRAMES</B></A>
+&nbsp;&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<H2>Class Hierarchy</H2>
+
+<UL><LI TYPE="circle">Object</LI><UL>
+                <LI TYPE="circle">
+                    <A HREF="TinyMCE_Cleanup.html">
+                <B>TinyMCE_Cleanup</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="TinyMCE_Control.html">
+                <B>TinyMCE_Control</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="TinyMCE_Engine.html">
+                <B>TinyMCE_Engine</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="TinyMCE_Layer.html">
+                <B>TinyMCE_Layer</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="TinyMCE_Popup.html">
+                <B>TinyMCE_Popup</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="TinyMCE_Selection.html">
+                <B>TinyMCE_Selection</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="TinyMCE_UndoRedo.html">
+                <B>TinyMCE_UndoRedo</B></A></LI>
+            </UL></UL>
+
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"><A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><b>Overview</b></A></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev">  &nbsp;<FONT CLASS="NavBarFont1Rev"><b>Tree</b></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><b>Index</b></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><b>Help</b></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD BGCOLOR="#FFFFFF" ALIGN="right" VALIGN="top"><EM>
+<B></B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-summary.html" TARGET="_top"><B>NO FRAMES</B></A>
+&nbsp;&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" parent="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/stylesheet.css 4.5.4/mambots/editors/tinymce/docs/tinymce_api/stylesheet.css
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/stylesheet.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/stylesheet.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,39 @@
+/* JSDoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Table colors */
+.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
+.TableRowColor         { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont   { font-size: 10pt; font-family: Helvetica, Arial, san-serif }
+.FrameHeadingFont { font-size: 10pt; font-family: Helvetica, Arial, san-serif }
+.FrameItemFont    { font-size: 10pt; font-family: Helvetica, Arial, san-serif }
+
+/* Example of smaller, sans-serif font in frames */
+/* .FrameItemFont  { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
+
+/* Navigation bar fonts and colors */
+.NavBarCell1    { background-color:#EEEEFF;}/* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
+.jsdoc_ctime    { font-family: Arial, Helvetica, sans-serif; font-size: 9pt;
+                    text-align: right }
+
+/* Sourcecode view */
+.sourceview { background: #FFFFFF }
+.attrib { color: #DD7777 }
+.comment { color: #55AA55 }
+.reserved { color: #FF5555 }
+.literal { color: #5555FF }
+
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Cleanup.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Cleanup.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Cleanup.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Cleanup.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,675 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TinyMCE_Cleanup
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TinyMCE_Cleanup";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Cleanup.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GLOBALS.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Control.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Cleanup.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TinyMCE_Cleanup</H2>
+<PRE>Object
+   |
+   +--<b>TinyMCE_Cleanup</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TinyMCE_Cleanup</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TinyMCE_Cleanup.class.js.html'>TinyMCE_Cleanup.class.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TinyMCE_Cleanup.html#TinyMCE_Cleanup()">TinyMCE_Cleanup</A> 
+	 </B>
+	 ()
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      TinyMCE_Cleanup class.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addRuleStr">addRuleStr</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a cleanup rule string, for TinyMCE_Cleanup.prototype.example = a;[href|name|title=title|class=class1?class2?class3].
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#formatHTML">formatHTML</A></B>(&lt;string&gt; h)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Applies source formatting/indentation on the specified HTML string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(&lt;Array&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initializes the cleanup engine with the specified config.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Array</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#parseRuleStr">parseRuleStr</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Parses a cleanup rule string, for TinyMCE_Cleanup.prototype.example = a;[href|name|title=title|class=class1?class2?class3].
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#serializeNodeAsHTML">serializeNodeAsHTML</A></B>(&lt;HTMLNode&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Serializes the specified node as a XHTML string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#serializeNodeAsXML">serializeNodeAsXML</A></B>(&lt;HTMLNode&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Serializes the specified node as a HTML string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#split">split</A></B>(&lt;RegEx&gt; re, &lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Splits the specified string and removed empty chunks.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#xmlEncode">xmlEncode</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 XML Encodes the specified string based on configured entity encoding.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TinyMCE_Cleanup()"><!-- --></A><H3>
+TinyMCE_Cleanup</H3>
+<PRE><B>TinyMCE_Cleanup</B>()</PRE>
+
+
+<UL>
+   TinyMCE_Cleanup class.
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addRuleStr"><!-- --></A>
+   <H3>addRuleStr</H3>
+   <PRE>void <B>addRuleStr</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>Adds a cleanup rule string, for TinyMCE_Cleanup.prototype.example = a;[href|name|title=title|class=class1?class2?class3].
+ These rules are then used when serializing the DOM tree as a HTML string, it gives the possibility
+ to control the valid elements and attributes and force attribute values or default them.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  Rule string to parse and add to the cleanup rules array. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="formatHTML"><!-- --></A>
+   <H3>formatHTML</H3>
+   <PRE>string <B>formatHTML</B>(&lt;string&gt; h)</PRE>
+   
+      <UL>Applies source formatting/indentation on the specified HTML string.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>h</CODE> -  HTML string to apply formatting to.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Formatted HTML string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(&lt;Array&gt; s)</PRE>
+   
+      <UL>Initializes the cleanup engine with the specified config.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  Name/Value array with config settings. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="parseRuleStr"><!-- --></A>
+   <H3>parseRuleStr</H3>
+   <PRE>Array <B>parseRuleStr</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>Parses a cleanup rule string, for TinyMCE_Cleanup.prototype.example = a;[href|name|title=title|class=class1?class2?class3].
+ These rules are then used when serializing the DOM tree as a HTML string, it gives the possibility
+ to control the valid elements and attributes and force attribute values or default them.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  Rule string to parse as a name/value rule array.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Parsed name/value rule array.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="serializeNodeAsHTML"><!-- --></A>
+   <H3>serializeNodeAsHTML</H3>
+   <PRE>string <B>serializeNodeAsHTML</B>(&lt;HTMLNode&gt; n)</PRE>
+   
+      <UL>Serializes the specified node as a XHTML string. This uses the TinyMCE serializer logic since it gives more
+ control over the output than the build in browser XML serializer.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Node to serialize as a XHTML string.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Serialized XHTML string based on specified node.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="serializeNodeAsXML"><!-- --></A>
+   <H3>serializeNodeAsXML</H3>
+   <PRE>string <B>serializeNodeAsXML</B>(&lt;HTMLNode&gt; n)</PRE>
+   
+      <UL>Serializes the specified node as a HTML string. This uses the XML parser and serializer
+ to generate a XHTML string.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Node to serialize as a XHTML string.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Serialized XHTML string based on specified node.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="split"><!-- --></A>
+   <H3>split</H3>
+   <PRE>string <B>split</B>(&lt;RegEx&gt; re, &lt;string&gt; s)</PRE>
+   
+      <UL>Splits the specified string and removed empty chunks.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>re</CODE> -  RegEx to split string by.  
+      </UL> 
+   
+     <UL><CODE>s</CODE> -  String value to split.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Array with parts from specified string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="xmlEncode"><!-- --></A>
+   <H3>xmlEncode</H3>
+   <PRE>string <B>xmlEncode</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>XML Encodes the specified string based on configured entity encoding. The entity encoding modes
+ are raw, numeric and named. Where raw is the fastest and named is default.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  String to convert to XML.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Encoded XML string based on configured entity encoding.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Cleanup.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GLOBALS.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Control.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Cleanup.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Control.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Control.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Control.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Control.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,1387 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TinyMCE_Control
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TinyMCE_Control";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Control.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Cleanup.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Engine.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Control.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TinyMCE_Control</H2>
+<PRE>Object
+   |
+   +--<b>TinyMCE_Control</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TinyMCE_Control</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TinyMCE_Control.class.js.html'>TinyMCE_Control.class.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cleanup">cleanup</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#hasMouseMoved">hasMouseMoved</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isTinyMCE_Control">isTinyMCE_Control</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#plugins">plugins</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#selection">selection</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#settings">settings</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#shortcuts">shortcuts</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#undoRedo">undoRedo</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#undoRedoLevel">undoRedoLevel</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TinyMCE_Control.html#TinyMCE_Control()">TinyMCE_Control</A> 
+	 </B>
+	 (&lt;Array&gt; settings)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      This is the TinyMCE editor control instance class.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addPlugin">addPlugin</A></B>(&lt;string&gt; n, p)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a plugin to the editor instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addShortcut">addShortcut</A></B>(&lt;string&gt; m, &lt;Object&gt; k, &lt;string&gt; d, &lt;string&gt; cmd, &lt;boolean&gt; ui, &lt;Object&gt; va)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a keyboard shortcut to a specific command.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#autoResetDesignMode">autoResetDesignMode</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Auto resets the design mode of the document if it gets lost.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#execCommand">execCommand</A></B>(&lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;mixed&gt; value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes a command on the current instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getBody">getBody</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the body element of a editor instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;DOMDocument</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getDoc">getDoc</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the DOM document of a editor instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFocusElement">getFocusElement</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the currently selected element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;DOMRange</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getRng">getRng</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the browsers selections first range instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;DOMSelection</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getSel">getSel</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the browsers selection instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Window</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWin">getWin</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the window of a editor instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleShortcut">handleShortcut</A></B>(&lt;DOMEvent&gt; e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes shortcuts based on the event information.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#hasPlugin">hasPlugin</A></B>(&lt;string&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns true/false if the instance has the current plugin available.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#isDirty">isDirty</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns true/false if the editor instance is dirty or not.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#isHidden">isHidden</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns if the instance is hidden or not.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#queryCommandState">queryCommandState</A></B>(&lt;string&gt; c)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a command specific state, for example if bold is enabled or not.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;mixed</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#queryCommandValue">queryCommandValue</A></B>(&lt;string&gt; c)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a command specific value, for example the current font size.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#repaint">repaint</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Repaints the editarea in Gecko browsers.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setBaseHREF">setBaseHREF</A></B>(&lt;string&gt; u)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the base href url of the current document instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#switchSettings">switchSettings</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Switches the global TinyMCE settings to the current instance settings.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#triggerSave">triggerSave</A></B>(&lt;boolean&gt; skip_cleanup, &lt;boolean&gt; skip_callback)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Moves the contents from the TinyMCE editor control instance to the hidden textarea
+ that got replaced with TinyMCE.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cleanup"><!-- --></A>
+   <H3>cleanup</H3>
+   <PRE>Object&nbsp;<B>cleanup</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="hasMouseMoved"><!-- --></A>
+   <H3>hasMouseMoved</H3>
+   <PRE>Object&nbsp;<B>hasMouseMoved</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isTinyMCE_Control"><!-- --></A>
+   <H3>isTinyMCE_Control</H3>
+   <PRE>Object&nbsp;<B>isTinyMCE_Control</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="plugins"><!-- --></A>
+   <H3>plugins</H3>
+   <PRE>Object&nbsp;<B>plugins</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="selection"><!-- --></A>
+   <H3>selection</H3>
+   <PRE>Object&nbsp;<B>selection</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="settings"><!-- --></A>
+   <H3>settings</H3>
+   <PRE>Object&nbsp;<B>settings</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="shortcuts"><!-- --></A>
+   <H3>shortcuts</H3>
+   <PRE>Object&nbsp;<B>shortcuts</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="undoRedo"><!-- --></A>
+   <H3>undoRedo</H3>
+   <PRE>Object&nbsp;<B>undoRedo</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="undoRedoLevel"><!-- --></A>
+   <H3>undoRedoLevel</H3>
+   <PRE>Object&nbsp;<B>undoRedoLevel</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TinyMCE_Control()"><!-- --></A><H3>
+TinyMCE_Control</H3>
+<PRE><B>TinyMCE_Control</B>(&lt;Array&gt; settings)</PRE>
+
+
+<UL>
+   This is the TinyMCE editor control instance class. A instance of this class will is made for each
+ converted text area.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>settings</CODE> -  Name/Value array of instance specific configuration settings.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addPlugin"><!-- --></A>
+   <H3>addPlugin</H3>
+   <PRE>void <B>addPlugin</B>(&lt;string&gt; n, p)</PRE>
+   
+      <UL>Adds a plugin to the editor instance. This will also add it globaly.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Plugin name to check for.  
+      </UL> 
+   
+     <UL><CODE>n</CODE> -  TinyMCE plugin instance. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addShortcut"><!-- --></A>
+   <H3>addShortcut</H3>
+   <PRE>boolean <B>addShortcut</B>(&lt;string&gt; m, &lt;Object&gt; k, &lt;string&gt; d, &lt;string&gt; cmd, &lt;boolean&gt; ui, &lt;Object&gt; va)</PRE>
+   
+      <UL>Adds a keyboard shortcut to a specific command. These shortcuts can for example be added
+ at the initInstance callback of a plugin. The shortcut description can be a language variable name
+ or a string describing the function. If you don't specify a command, the shortcut will simply be a blocker
+ shortcut. This enables you to remove built in shortcuts or remove theme specific shortcuts from a plugin.<br />
+ Example shortcut inst.addShortcut('ctrl,alt', 'k', 'mceSomeCommand', false, 'somevalue');
+ Example blocker inst.addShortcut('ctrl,alt', 'k');</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>m</CODE> -  List of shortcut modifiers keys, for example "ctrl,alt".  
+      </UL> 
+   
+     <UL><CODE>k</CODE> -  Shortcut key char for example "s" or a keycode value "13".  
+      </UL> 
+   
+     <UL><CODE>d</CODE> -  Optional Shortcut description, this will be presented in the about dialog.  
+      </UL> 
+   
+     <UL><CODE>cmd</CODE> -  Optional Command name to execute, for example mceLink or Bold.  
+      </UL> 
+   
+     <UL><CODE>ui</CODE> -  Optional True/false state if a UI (dialog) should be presented or not.  
+      </UL> 
+   
+     <UL><CODE>va</CODE> -  Optional command value, this can be anything.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if the shortcut was added or not   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="autoResetDesignMode"><!-- --></A>
+   <H3>autoResetDesignMode</H3>
+   <PRE>void <B>autoResetDesignMode</B>()</PRE>
+   
+      <UL>Auto resets the design mode of the document if it gets lost.
+ This is a Gecko specific function since it's a workaround for a bug where Gecko browsers
+ loose the designMode state if the editor is hidden and shown in a tab or div.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="execCommand"><!-- --></A>
+   <H3>execCommand</H3>
+   <PRE>Object <B>execCommand</B>(&lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;mixed&gt; value)</PRE>
+   
+      <UL>Executes a command on the current instance. These commands can be TinyMCE internal commands prefixed with "mce" or
+ they can be build in browser commands such as "Bold". A compleate list of browser commands is available on MSDN or Mozilla.org.
+ This function will dispatch the execCommand function on each plugin, theme or the execcommand_callback option if none of these
+ return true it will handle the command as a internal browser command.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>command</CODE> -  Command name to execute, for example mceLink or Bold.  
+      </UL> 
+   
+     <UL><CODE>user_interface</CODE> -  True/false state if a UI (dialog) should be presented or not.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  Optional command value, this can be anything.
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getBody"><!-- --></A>
+   <H3>getBody</H3>
+   <PRE>HTMLElement <B>getBody</B>()</PRE>
+   
+      <UL>Returns the body element of a editor instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Body element of a editor instance.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getDoc"><!-- --></A>
+   <H3>getDoc</H3>
+   <PRE>DOMDocument <B>getDoc</B>()</PRE>
+   
+      <UL>Returns the DOM document of a editor instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        DOM document of a editor instance.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFocusElement"><!-- --></A>
+   <H3>getFocusElement</H3>
+   <PRE>HTMLElement <B>getFocusElement</B>()</PRE>
+   
+      <UL>Returns the currently selected element. This is was added for compatiblity and is deprecated.
+ Please use inst.selection.getFocusElement instead.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Currently selected element.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <UL>   
+   <B>Deprecated</B> <I></I><BR/><BR/>
+   </UL>
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getRng"><!-- --></A>
+   <H3>getRng</H3>
+   <PRE>DOMRange <B>getRng</B>()</PRE>
+   
+      <UL>Returns the browsers selections first range instance. This is was added for compatiblity and is deprecated.
+ Please use inst.selection.getRng instead.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Browsers selections first range instance.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <UL>   
+   <B>Deprecated</B> <I></I><BR/><BR/>
+   </UL>
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getSel"><!-- --></A>
+   <H3>getSel</H3>
+   <PRE>DOMSelection <B>getSel</B>()</PRE>
+   
+      <UL>Returns the browsers selection instance. This is was added for compatiblity and is deprecated.
+ Please use inst.selection.getSel instead.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Browser selection instance.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <UL>   
+   <B>Deprecated</B> <I></I><BR/><BR/>
+   </UL>
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWin"><!-- --></A>
+   <H3>getWin</H3>
+   <PRE>Window <B>getWin</B>()</PRE>
+   
+      <UL>Returns the window of a editor instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Window of a editor instance.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="handleShortcut"><!-- --></A>
+   <H3>handleShortcut</H3>
+   <PRE>boolean <B>handleShortcut</B>(&lt;DOMEvent&gt; e)</PRE>
+   
+      <UL>Executes shortcuts based on the event information.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  Keyboard event to handle.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if the shortcut was found and executed or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="hasPlugin"><!-- --></A>
+   <H3>hasPlugin</H3>
+   <PRE>boolean <B>hasPlugin</B>(&lt;string&gt; n)</PRE>
+   
+      <UL>Returns true/false if the instance has the current plugin available.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Plugin name to check for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if the instance has the current plugin available.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="isDirty"><!-- --></A>
+   <H3>isDirty</H3>
+   <PRE>boolean <B>isDirty</B>()</PRE>
+   
+      <UL>Returns true/false if the editor instance is dirty or not. In other words if it has been modified
+ or not.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Editor instance dirty state.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="isHidden"><!-- --></A>
+   <H3>isHidden</H3>
+   <PRE>boolean <B>isHidden</B>()</PRE>
+   
+      <UL>Returns if the instance is hidden or not. This is a Gecko specific function
+ other browsers will always return false. This function is used to workaround the lost
+ designMode bug in Gecko browsers.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Returns if the instance is hidden or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="queryCommandState"><!-- --></A>
+   <H3>queryCommandState</H3>
+   <PRE>boolean <B>queryCommandState</B>(&lt;string&gt; c)</PRE>
+   
+      <UL>Returns a command specific state, for example if bold is enabled or not.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>c</CODE> -  Command to query state from.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Command specific state, for example if bold is enabled or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="queryCommandValue"><!-- --></A>
+   <H3>queryCommandValue</H3>
+   <PRE>mixed <B>queryCommandValue</B>(&lt;string&gt; c)</PRE>
+   
+      <UL>Returns a command specific value, for example the current font size.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>c</CODE> -  Command to query value from.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Command specific value, for example the current font size.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="repaint"><!-- --></A>
+   <H3>repaint</H3>
+   <PRE>void <B>repaint</B>()</PRE>
+   
+      <UL>Repaints the editarea in Gecko browsers. This method removes ghost resize handlers
+ and other trailing graphics.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setBaseHREF"><!-- --></A>
+   <H3>setBaseHREF</H3>
+   <PRE>void <B>setBaseHREF</B>(&lt;string&gt; u)</PRE>
+   
+      <UL>Sets the base href url of the current document instance. This method is used
+ to temporarly remove the base url during copy/paste and drag/drop operations
+ of relative links from external sites into TinyMCE. MSIE has a bug and converts
+ relative links from external sites to absolute links incorrectly.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>u</CODE> -  URL to set as base URL or null to remove it. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="switchSettings"><!-- --></A>
+   <H3>switchSettings</H3>
+   <PRE>void <B>switchSettings</B>()</PRE>
+   
+      <UL>Switches the global TinyMCE settings to the current instance settings. This method is
+ used to handle multiple configurations.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="triggerSave"><!-- --></A>
+   <H3>triggerSave</H3>
+   <PRE>void <B>triggerSave</B>(&lt;boolean&gt; skip_cleanup, &lt;boolean&gt; skip_callback)</PRE>
+   
+      <UL>Moves the contents from the TinyMCE editor control instance to the hidden textarea
+ that got replaced with TinyMCE. This is executed automaticly on for example form submit unless you configure otherwice.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>skip_cleanup</CODE> -  Optional Skip cleanup, simply move the contents as fast as possible.  
+      </UL> 
+   
+     <UL><CODE>skip_callback</CODE> -  Optional Skip callback, don't call the save_callback function. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Control.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Cleanup.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Engine.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Control.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Engine.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Engine.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Engine.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Engine.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,6390 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TinyMCE_Engine
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TinyMCE_Engine";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Engine.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Control.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Layer.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Engine.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TinyMCE_Engine</H2>
+<PRE>Object
+   |
+   +--<b>TinyMCE_Engine</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TinyMCE_Engine</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TinyMCE_Engine.class.js.html'>TinyMCE_Engine.class.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#buttonMap">buttonMap</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#configs">configs</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#currentConfig">currentConfig</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#dialogCounter">dialogCounter</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#eventHandlers">eventHandlers</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#idCounter">idCounter</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#instances">instances</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isGecko">isGecko</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isLoaded">isLoaded</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isMac">isMac</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isMSIE">isMSIE</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isMSIE5">isMSIE5</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isMSIE5_0">isMSIE5_0</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isNS7">isNS7</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isNS71">isNS71</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isOpera">isOpera</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isSafari">isSafari</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#loadedFiles">loadedFiles</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#loadedPlugins">loadedPlugins</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#majorVersion">majorVersion</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#menus">menus</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#minorVersion">minorVersion</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#plugins">plugins</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#releaseDate">releaseDate</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#switchClassCache">switchClassCache</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#themes">themes</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#windowArgs">windowArgs</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TinyMCE_Engine.html#TinyMCE_Engine()">TinyMCE_Engine</A> 
+	 </B>
+	 ()
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Core engine class for TinyMCE, a instance of this class is available as a global called tinyMCE.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#_getElementById">_getElementById</A></B>(&lt;string&gt; i&lt;DOMDocument&gt; d, d)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a element by id, this will also search the form names to match the id.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#_removeInternal">_removeInternal</A></B>(&lt;DOMNode&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Removes any internal content inserted by regexps.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#accessibleEventHandler">accessibleEventHandler</A></B>(&lt;DOMEvent&gt; e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Accessibility handler that gets executed when the user hits a key in a select element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addButtonMap">addButtonMap</A></B>(&lt;string&gt; m)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a list of buttons available in the tiled button image used by the button_tile_map option.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addCSSClass">addCSSClass</A></B>(&lt;HTMLElement&gt; e, c, b)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a CSS class to the specified element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addEvent">addEvent</A></B>(&lt;HTMLElement&gt; o, &lt;string&gt; n, &lt;function&gt; h)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a event handler function to the specified object.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addEventHandlers">addEventHandlers</A></B>(&lt;inst&gt; inst)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds the handleEvent function to the specified editor instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addMCEControl">addMCEControl</A></B>(&lt;HTMLElement&gt; replace_element, &lt;string&gt; form_element_name, &lt;DOMDocument&gt; target_document)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a TinyMCE editor control instance to a specific form element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addMenu">addMenu</A></B>(&lt;string&gt; n, &lt;TinyMCE_Menu&gt; m)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a floating menu instance to TinyMCE.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addPlugin">addPlugin</A></B>(n, &lt;TinyMCE_Plugin&gt; p)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds the specified plugin to the list of loaded plugins, this will also setup the baseURL
+ property of the plugin.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addSelectAccessibility">addSelectAccessibility</A></B>(&lt;DOMEvent&gt; e, &lt;HTMLElement&gt; s, &lt;DOMWindow&gt; w)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds accessibility keydown handler to the specified select element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addTheme">addTheme</A></B>(&l&lt;TinyMCE_Theme&gt; t;string&gt; n, t)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds the specified theme in to the list of loaded themes.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addToLang">addToLang</A></B>(&lt;string&gt; prefix, &lt;Array&gt; ar)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds language items to the global language array.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#applyTemplate">applyTemplate</A></B>(&lt;string&gt; h, &lt;Array&gt; as)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Replaces language, args and settings variables in a HTML string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#callFunc">callFunc</A></B>(&lt;<&lt;Array&gt; a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; ins, &lt;string&gt; p, &lt;string&gt; n, &lt;int&gt; m, a)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes callback chain.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#cancelEvent">cancelEvent</A></B>(&lt;DOMEvent&gt; e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Cancels the specified event, this will disable the event from be passed to other listeners in event chain.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#cleanupAnchors">cleanupAnchors</A></B>(&lt;DOMDocument&gt; doc)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Moves the contents of a anchor outside and after the anchor.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#cleanupEventStr">cleanupEventStr</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Removes MSIE 5.5 specific event wrapper function form a event string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#cleanupHTMLCode">cleanupHTMLCode</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Makes some preprocessing cleanup routines on the specified HTML string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Array</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearArray">clearArray</A></B>(a)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a cleared array, since some external libraries tend to extend the Array core object
+ arrays needs to be cleaned from these extended functions.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#closeWindow">closeWindow</A></B>(&lt;DOMWindow&gt; win)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Closes the specified window.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#compressStyle">compressStyle</A></B>(&lt;Array&gt; ar, &lt;string&gt; pr, &lt;string&gt; sf, &lt;string&gt; res)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Compresses larger styles into a smaller.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#confirmAdd">confirmAdd</A></B>(&lt;DOMEvent&gt; e, &lt;Array&gt; settings)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Displays a confirm dialog when a user clicks/focus a textarea that is to be converted into
+ a TinyMCE instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertAbsoluteURLToRelativeURL">convertAbsoluteURLToRelativeURL</A></B>(&lt;string&gt; base_url, &lt;string&gt; url_to_relative)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Converts an absolute path to relative path.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertAllRelativeURLs">convertAllRelativeURLs</A></B>(&lt;HTMLElement&gt; body)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Converts all img and a element URLs to absolute URLs.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertFontsToSpans">convertFontsToSpans</A></B>(&lt;DOMDocument&gt; doc)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Convers fonts to spans in the specified document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertHexToRGB">convertHexToRGB</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a rgb(n,n,n) string from a hexadecimal value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertRelativeToAbsoluteURL">convertRelativeToAbsoluteURL</A></B>(&lt;string&gt; base_url, &lt;string&gt; relative_url)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Converts an relative path to absolute path.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertRGBToHex">convertRGBToHex</A></B>(&lt;string&gt; s, &lt;boolean&gt; k)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a hexadecimal version of the specified rgb(1,2,3) string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertSpansToFonts">convertSpansToFonts</A></B>(&lt;DOMDocument&gt; doc)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Converts span elements to font elements in the specified document instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertURL">convertURL</A></B>(&lt;string&gt; url, &lt;HTMLElement&gt; node, &lt;boolean&gt; on_save)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Converts the specified URL based in TinyMCE configuration settings.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#debug">debug</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Debugs the specified message to a screen.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#dispatchCallback">dispatchCallback</A></B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; i, &lt;string&gt; p, &lt;string&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Dispatches the specified callback on all options, plugins and themes.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#entityDecode">entityDecode</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 HTML entity decode a string, replaces &lt; with <.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#evalFunc">evalFunc</A></B>(&lt;string&gt; f, &lt;int&gt; idx, &lt;Array&gt; a)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Evaluates the specified function and uses the array of arguments.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#execCommand">execCommand</A></B>(&lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;object&gt; value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes a command on the selected or last selected TinyMCE editor control instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#execCommandCallback">execCommandCallback</A></B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; i, &lt;string&gt; p, &lt;string&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes the specified execcommand callback on all options, plugins and themes.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#execInstanceCommand">execInstanceCommand</A></B>(&lt;string&gt; editor_id, &lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;object&gt; value, &lt;boolean&gt; focus)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes a command on a specific editor instance by id.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#executeCallback">executeCallback</A></B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; i, &lt;string&gt; p, &lt;string&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes the specified callback on all options, plugins and themes.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Array</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#explode">explode</A></B>(&lt;string&gt; d, &lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Splits a string by the specified delimiter and skips any empty items.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#extend">extend</A></B>(&lt;Object&gt; p, &lt;Object&gt; np)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Extends the specified prototype with new methods.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#fixGeckoBaseHREFBug">fixGeckoBaseHREFBug</A></B>(&lt;boolean&gt; m, &lt;HTMLElement&gt; e, &lt;string&gt; h)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Fixes a Gecko specific bug where href, src attribute values gets converted incorrectly
+ when inserted into editor.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;TinyMCE_ElementPosition</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getAbsPosition">getAbsPosition</A></B>(&lt;HTMLNode&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the absolute x, y position of a node.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getAttrib">getAttrib</A></B>(&lt;HTMLElement&gt; elm, &lt;string&gt; name, &lt;string&gt; default_value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the attribute value of a element or the default value if it wasn't found.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getButtonHTML">getButtonHTML</A></B>(&lt;string&gt; id, &lt;string&gt; lang, &lt;string&gt; img, &lt;string&gt; cmd, &lt;string&gt; ui, &lt;string&gt; val)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the HTML code for a normal button control.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getContent">getContent</A></B>(&lt;string&gt; editor_id)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the HTML contents of the specified editor instance id.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getControlHTML">getControlHTML</A></B>(&lt;string&gt; c)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the HTML for the specified control this will loop through
+ the theme and all plugins inorder to find the control.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Array</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getCSSClasses">getCSSClasses</A></B>(&lt;string&gt; editor_id, &lt;DOMDocument&gt; doc)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a array of CSS classes that is available in a document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getEditorId">getEditorId</A></B>(&lt;string&gt; form_element)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the editor instance id of a specific form element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getElementByAttributeValue">getElementByAttributeValue</A></B>(&lt;HTMLElement&gt; n, &lt;string&gt; e, &lt;string&gt; a, &lt;string&gt; v)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a element by a specific attribute and it's value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Array</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getElementsByAttributeValue">getElementsByAttributeValue</A></B>(&lt;HTMLElement&gt; n, &lt;string&gt; e, &lt;string&gt; a, &lt;string&gt; v)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a element array by a specific attribute and it's value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;<a href="TinyMCE_Control.html">TinyMCE_Control</a></CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getInstanceById">getInstanceById</A></B>(&lt;string&gt; editor_id)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a TinyMCE editor instance by the specified editor id or null if it wasn't found.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getLang">getLang</A></B>(&lt;string&gt; name, &lt;string&gt; default_value, &lt;boolean&gt; parse_entities, &lt;Array&gt; va)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a language variable value from the language packs.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Array</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getNodeTree">getNodeTree</A></B>(&l&lt;int&gt; t;HTMLNode&gt; n, &lt;Array&gt; na, t, &lt;string&gt; nn)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a array of nodes selected retrived from the child nodes of the specified node.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getOuterHTML">getOuterHTML</A></B>(&lt;HTMLElement&gt; e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the outer HTML of a element, this uses the outerHTML
+ property in MSIE and Opera and a workaround for Gecko.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getParam">getParam</A></B>(&lt;string&gt; name, &lt;string&gt; default_value, &lt;boolean&gt; strip_whitespace, &lt;string&gt; split_chr)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a specific configuration setting or the default value if it wasn't found.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getParentBlockElement">getParentBlockElement</A></B>(&lt;HTMLNode&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the first block element parent of the specified node.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getParentElement">getParentElement</A></B>(&lt;HTMLNode&gt; node, &lt;string&gt; names, &lt;string&gt; attrib_name, &lt;string&gt; attrib_value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the parent element of the specified node based on the search criteria.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;DOMNode</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getParentNode">getParentNode</A></B>(&lt;DOMNode&gt; n, &lt;function&gt; f)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a node by the specified selector function.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getVisualAidClass">getVisualAidClass</A></B>(&lt;string&gt; class_name, &lt;boolean&gt; state)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the visual aid class string, this will add/remove the visual aid class.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWindowArg">getWindowArg</A></B>(&lt;string&gt; n, d)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the window argument to be passed to TinyMCE popup.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleEvent">handleEvent</A></B>(&lt;DOMEvent&gt; e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Event handler function that gets executed each time a event occurs in a TinyMCE editor control instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleVisualAid">handleVisualAid</A></B>(&lt;HTMLElement&gt; el, &lt;boolean&gt; deep, &lt;boolean&gt; state, &lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst, skip_dispatch)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds visual aid classes to all elements that need them recursive in the DOM tree.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#hasMenu">hasMenu</A></B>(&lt;string&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Checks if the specified menu by name is added to TinyMCE.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#hasPlugin">hasPlugin</A></B>(&lt;string&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns true/false if the specified plugin is loaded or not.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#hasTheme">hasTheme</A></B>(&lt;string&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns true/false if the specified theme is loaded or not.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#importCSS">importCSS</A></B>(&lt;DOMDocument&gt; doc, &lt;string&gt; css)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Imports a CSS file into a allready loaded document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#importPluginLanguagePack">importPluginLanguagePack</A></B>(&lt;string&gt; name, &lt;string&gt; valid_languages)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Loads a plugin specific language pack.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#importThemeLanguagePack">importThemeLanguagePack</A></B>(&lt;string&gt; name)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Loads a theme specific language pack.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(settings)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initializes TinyMCE with the specific configuration settings.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#insertAfter">insertAfter</A></B>(&lt;HTMLNode&gt; n, &lt;HTMLNode&gt; r)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Inserts a node after the specific node.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#isBlockElement">isBlockElement</A></B>(&lt;HTMLNode&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns true/false if the specified node is a block element or not.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#isInstance">isInstance</A></B>(&lt;object&gt; o)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns true/false if a specific object is a TinyMCE_Control instance or not.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadCSS">loadCSS</A></B>(&lt;string&gt; url)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Loads the specified CSS by writing the a link tag to the current page.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadPlugin">loadPlugin</A></B>(&lt;string&gt; n, &lt;string&gt; u)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Load plugin from external URL.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadScript">loadScript</A></B>(&lt;string&gt; url)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Loads the specified script by writing the a script tag to the current page.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#nextNode">nextNode</A></B>(&lt;HTMLNode&gt; e, &lt;string&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Finds any element after the current one by name.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#onLoad">onLoad</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Gets executed when the page loads or get intitialized.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#onMouseMove">onMouseMove</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Mouse move handler function, this will be executed each time
+ the mouse is moved within a editor instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#openWindow">openWindow</A></B>(&lt;Array&gt; template, &lt;Array&gt; args)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Opens a popup window based in the specified input data.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Array</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#parseStyle">parseStyle</A></B>(&lt;string&gt; str)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Parses the specified HTML style data.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;TinyMCE_URL_Item</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#parseURL">parseURL</A></B>(&lt;string&gt; url_str)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Parses a URL in to its diffrent components.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#prevNode">prevNode</A></B>(&lt;HTMLNode&gt; e, &lt;string&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Finds any previous element by name.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#queryInstanceCommandState">queryInstanceCommandState</A></B>(&lt;string&gt; editor_id, &lt;string&gt; command)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Queries a command state for a specific command on a specific editor instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#queryInstanceCommandValue">queryInstanceCommandValue</A></B>(&lt;string&gt; editor_id, &lt;string&gt; command)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Queries a command value for a specific command on a specific editor instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#regexpReplace">regexpReplace</A></B>(&lt;string&gt; in_str, &lt;string&gt; reg_exp, &lt;string&gt; replace_str, opts)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Regexp replaces the contents of a string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#removeCSSClass">removeCSSClass</A></B>(&lt;HTMLElement&gt; e, c)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Removes the specified CSS class from the element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#removeMCEControl">removeMCEControl</A></B>(&lt;string&gt; editor_id)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Removes a TinyMCE editor control instance by id.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#removeTinyMCEFormElements">removeTinyMCEFormElements</A></B>(&lt;HTMLElement&gt; form_obj)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Removes/disables TinyMCE built in form elements such as select boxes for font sizes etc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#renameElement">renameElement</A></B>(&lt;HTMLElement&gt; e, &lt;string&gt; n, &lt;DOMDocument&gt; d)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Renames the specified element to the specified name.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#replaceVar">replaceVar</A></B>(&lt;string&gt; h, &lt;string&gt; r, &lt;string&gt; v)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Replaces a specific variable in the string with a nother string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#resetForm">resetForm</A></B>(&lt;int&gt; form_index)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Resets a forms TinyMCE instances based on form index.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Array</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#selectNodes">selectNodes</A></B>(&lt;DOMNode&gt; n, &lt;function&gt; f, &lt;Array&gt; a)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a array of nodes when the specified function matches a node.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#serializeStyle">serializeStyle</A></B>(&lt;Array&gt; ar)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Serializes the specified style item name/value array into a HTML string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#serializeURL">serializeURL</A></B>(&lt;TinyMCE_URL_Item&gt; up)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Serializes the specified URL object into a string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setAttrib">setAttrib</A></B>(&lt;HTMLElement&gt; element, &lt;string&gt; name, &lt;string&gt; value, &lt;boolean&gt; fix_value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the attribute value for a specific attribute.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setContent">setContent</A></B>(&lt;string&gt; h)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the HTML contents of the selected editor instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setInnerHTML">setInnerHTML</A></B>(&lt;HTMLElement&gt; e, &lt;string&gt; h)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the innerHTML property of a element, this function also
+ fixes a MSIE bug where the first comment is removed.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setOuterHTML">setOuterHTML</A></B>(&lt;HTMLElement&gt; e, &lt;string&gt; h)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the outer HTML of a element, this uses the outerHTML
+ property in MSIE and Opera and a workaround for Gecko.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setPluginBaseURL">setPluginBaseURL</A></B>(&lt;string&gt; n, &lt;string&gt; u)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the baseURL of the specified plugin, this is useful if the plugin is loaded from
+ a external location.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setStyleAttrib">setStyleAttrib</A></B>(&lt;HTMLElement&gt; elm, &lt;string&gt; name, &lt;string&gt; value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets a style attribute item value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setupContent">setupContent</A></B>(&lt;string&gt; editor_id)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Setups the contents of TinyMCE editor instance and fills it with contents.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setWindowArg">setWindowArg</A></B>(&lt;string&gt; n, &lt;string&gt; v)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the window argument to be passed to TinyMCE popup.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#storeAwayURLs">storeAwayURLs</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Stores away the src and href attribute values in separate mce_src and mce_href attributes.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#submitPatch">submitPatch</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Piggyback onsubmit event handler function, this will remove/hide the TinyMCE specific form elements
+ call triggerSave to fill the textarea with the correct contents then call the old piggy backed event handler.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#switchClass">switchClass</A></B>(&lt;HTMLElement&gt; ei, &lt;string&gt; c)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Switches the CSS class of the specified element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#triggerNodeChange">triggerNodeChange</A></B>(&lt;boolean&gt; focus, &lt;boolean&gt; setup_content)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Triggers a nodeChange event to every theme and plugin.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#triggerSave">triggerSave</A></B>(&lt;boolean&gt; skip_cleanup, &lt;boolean&gt; skip_callback)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Moves the contents from a TinyMCE editor control instance to the hidden textarea
+ that got replaced with TinyMCE.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#trim">trim</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Removes all prefix, suffix whitespace of a string.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#unloadHandler">unloadHandler</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Unload document event handler function.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#updateContent">updateContent</A></B>(&lt;string&gt; form_element_name)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Moves the contents from the hidden textarea to the editor that gets inserted.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#xmlEncode">xmlEncode</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Encodes the string to raw XML entities.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="buttonMap"><!-- --></A>
+   <H3>buttonMap</H3>
+   <PRE>Object&nbsp;<B>buttonMap</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="configs"><!-- --></A>
+   <H3>configs</H3>
+   <PRE>Object&nbsp;<B>configs</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="currentConfig"><!-- --></A>
+   <H3>currentConfig</H3>
+   <PRE>Object&nbsp;<B>currentConfig</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="dialogCounter"><!-- --></A>
+   <H3>dialogCounter</H3>
+   <PRE>Object&nbsp;<B>dialogCounter</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="eventHandlers"><!-- --></A>
+   <H3>eventHandlers</H3>
+   <PRE>Object&nbsp;<B>eventHandlers</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="idCounter"><!-- --></A>
+   <H3>idCounter</H3>
+   <PRE>Object&nbsp;<B>idCounter</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="instances"><!-- --></A>
+   <H3>instances</H3>
+   <PRE>Object&nbsp;<B>instances</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isGecko"><!-- --></A>
+   <H3>isGecko</H3>
+   <PRE>Object&nbsp;<B>isGecko</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isLoaded"><!-- --></A>
+   <H3>isLoaded</H3>
+   <PRE>Object&nbsp;<B>isLoaded</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isMac"><!-- --></A>
+   <H3>isMac</H3>
+   <PRE>Object&nbsp;<B>isMac</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isMSIE"><!-- --></A>
+   <H3>isMSIE</H3>
+   <PRE>Object&nbsp;<B>isMSIE</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isMSIE5"><!-- --></A>
+   <H3>isMSIE5</H3>
+   <PRE>Object&nbsp;<B>isMSIE5</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isMSIE5_0"><!-- --></A>
+   <H3>isMSIE5_0</H3>
+   <PRE>Object&nbsp;<B>isMSIE5_0</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isNS7"><!-- --></A>
+   <H3>isNS7</H3>
+   <PRE>Object&nbsp;<B>isNS7</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isNS71"><!-- --></A>
+   <H3>isNS71</H3>
+   <PRE>Object&nbsp;<B>isNS71</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isOpera"><!-- --></A>
+   <H3>isOpera</H3>
+   <PRE>Object&nbsp;<B>isOpera</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isSafari"><!-- --></A>
+   <H3>isSafari</H3>
+   <PRE>Object&nbsp;<B>isSafari</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="loadedFiles"><!-- --></A>
+   <H3>loadedFiles</H3>
+   <PRE>Object&nbsp;<B>loadedFiles</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="loadedPlugins"><!-- --></A>
+   <H3>loadedPlugins</H3>
+   <PRE>Object&nbsp;<B>loadedPlugins</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="majorVersion"><!-- --></A>
+   <H3>majorVersion</H3>
+   <PRE>Object&nbsp;<B>majorVersion</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="menus"><!-- --></A>
+   <H3>menus</H3>
+   <PRE>Object&nbsp;<B>menus</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="minorVersion"><!-- --></A>
+   <H3>minorVersion</H3>
+   <PRE>Object&nbsp;<B>minorVersion</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="plugins"><!-- --></A>
+   <H3>plugins</H3>
+   <PRE>Object&nbsp;<B>plugins</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="releaseDate"><!-- --></A>
+   <H3>releaseDate</H3>
+   <PRE>Object&nbsp;<B>releaseDate</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="switchClassCache"><!-- --></A>
+   <H3>switchClassCache</H3>
+   <PRE>Object&nbsp;<B>switchClassCache</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="themes"><!-- --></A>
+   <H3>themes</H3>
+   <PRE>Object&nbsp;<B>themes</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="windowArgs"><!-- --></A>
+   <H3>windowArgs</H3>
+   <PRE>Object&nbsp;<B>windowArgs</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TinyMCE_Engine()"><!-- --></A><H3>
+TinyMCE_Engine</H3>
+<PRE><B>TinyMCE_Engine</B>()</PRE>
+
+
+<UL>
+   Core engine class for TinyMCE, a instance of this class is available as a global called tinyMCE.
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="_getElementById"><!-- --></A>
+   <H3>_getElementById</H3>
+   <PRE>HTMLElement <B>_getElementById</B>(&lt;string&gt; i&lt;DOMDocument&gt; d, d)</PRE>
+   
+      <UL>Returns a element by id, this will also search the form names to match the id.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>id</CODE> -  Id of element.  
+      </UL> 
+   
+     <UL><CODE>d</CODE> -  Optional document.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML element that matches the id.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="_removeInternal"><!-- --></A>
+   <H3>_removeInternal</H3>
+   <PRE>void <B>_removeInternal</B>(&lt;DOMNode&gt; n)</PRE>
+   
+      <UL>Removes any internal content inserted by regexps.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Node to remove internal content from. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="accessibleEventHandler"><!-- --></A>
+   <H3>accessibleEventHandler</H3>
+   <PRE>Object <B>accessibleEventHandler</B>(&lt;DOMEvent&gt; e)</PRE>
+   
+      <UL>Accessibility handler that gets executed when the user hits a key in a select element.
+ This handler trams the enter/return or space key and then executes the onchange event handler.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  DOM event object instance.
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addButtonMap"><!-- --></A>
+   <H3>addButtonMap</H3>
+   <PRE>void <B>addButtonMap</B>(&lt;string&gt; m)</PRE>
+   
+      <UL>Adds a list of buttons available in the tiled button image used by the button_tile_map option.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>m</CODE> -  Comma separated list of buttons that are available in tiled image. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addCSSClass"><!-- --></A>
+   <H3>addCSSClass</H3>
+   <PRE>string <B>addCSSClass</B>(&lt;HTMLElement&gt; e, c, b)</PRE>
+   
+      <UL>Adds a CSS class to the specified element. It will remove any previous item with the same name
+ so adding a class that already exists will move it to the end.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  HTML element to add CSS class to.  
+      </UL> 
+   
+     <UL><CODE>string</CODE> - ] c CSS class to add to HTML element.  
+      </UL> 
+   
+     <UL><CODE>boolean</CODE> - ] b Optional parameter, if set to true, class will be added to the beginning.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Returns the new class attribute value.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addEvent"><!-- --></A>
+   <H3>addEvent</H3>
+   <PRE>void <B>addEvent</B>(&lt;HTMLElement&gt; o, &lt;string&gt; n, &lt;function&gt; h)</PRE>
+   
+      <UL>Adds a event handler function to the specified object.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>o</CODE> -  Object to add event handler to.  
+      </UL> 
+   
+     <UL><CODE>n</CODE> -  Event name to listen to for example "click".  
+      </UL> 
+   
+     <UL><CODE>h</CODE> -  Function handler to execute when event occurs.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addEventHandlers"><!-- --></A>
+   <H3>addEventHandlers</H3>
+   <PRE>void <B>addEventHandlers</B>(&lt;inst&gt; inst)</PRE>
+   
+      <UL>Adds the handleEvent function to the specified editor instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>inst</CODE> -  Editor control instance to add event handler to.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addMCEControl"><!-- --></A>
+   <H3>addMCEControl</H3>
+   <PRE>void <B>addMCEControl</B>(&lt;HTMLElement&gt; replace_element, &lt;string&gt; form_element_name, &lt;DOMDocument&gt; target_document)</PRE>
+   
+      <UL>Adds a TinyMCE editor control instance to a specific form element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>replace_element</CODE> -  HTML element object to replace.  
+      </UL> 
+   
+     <UL><CODE>form_element_name</CODE> -  HTML form element name,  
+      </UL> 
+   
+     <UL><CODE>target_document</CODE> -  Target document that holds the element. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addMenu"><!-- --></A>
+   <H3>addMenu</H3>
+   <PRE>void <B>addMenu</B>(&lt;string&gt; n, &lt;TinyMCE_Menu&gt; m)</PRE>
+   
+      <UL>Adds a floating menu instance to TinyMCE.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  TinyMCE menu id.  
+      </UL> 
+   
+     <UL><CODE>m</CODE> -  TinyMCE menu instance. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addPlugin"><!-- --></A>
+   <H3>addPlugin</H3>
+   <PRE>void <B>addPlugin</B>(n, &lt;TinyMCE_Plugin&gt; p)</PRE>
+   
+      <UL>Adds the specified plugin to the list of loaded plugins, this will also setup the baseURL
+ property of the plugin.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>p</CODE> -  Plugin instance to add. 	   
+      </UL> 
+   
+     <UL><CODE>Plugin</CODE> -  name/id.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addSelectAccessibility"><!-- --></A>
+   <H3>addSelectAccessibility</H3>
+   <PRE>Object <B>addSelectAccessibility</B>(&lt;DOMEvent&gt; e, &lt;HTMLElement&gt; s, &lt;DOMWindow&gt; w)</PRE>
+   
+      <UL>Adds accessibility keydown handler to the specified select element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  Event that gets passed when the element is focused.  
+      </UL> 
+   
+     <UL><CODE>s</CODE> -  Select element that the keydown handler gets added to.  
+      </UL> 
+   
+     <UL><CODE>w</CODE> -  DOM window reference to add.
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addTheme"><!-- --></A>
+   <H3>addTheme</H3>
+   <PRE>void <B>addTheme</B>(&l&lt;TinyMCE_Theme&gt; t;string&gt; n, t)</PRE>
+   
+      <UL>Adds the specified theme in to the list of loaded themes.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Theme name/id to add the object reference to.  
+      </UL> 
+   
+     <UL><CODE>t</CODE> -  Theme instance to add to the loaded list. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addToLang"><!-- --></A>
+   <H3>addToLang</H3>
+   <PRE>void <B>addToLang</B>(&lt;string&gt; prefix, &lt;Array&gt; ar)</PRE>
+   
+      <UL>Adds language items to the global language array.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>prefix</CODE> -  Prefix string to add infront of every array item before adding it.  
+      </UL> 
+   
+     <UL><CODE>ar</CODE> -  Language item array to add to global language array. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="applyTemplate"><!-- --></A>
+   <H3>applyTemplate</H3>
+   <PRE>string <B>applyTemplate</B>(&lt;string&gt; h, &lt;Array&gt; as)</PRE>
+   
+      <UL>Replaces language, args and settings variables in a HTML string.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>h</CODE> -  HTML string to replace language variables in.  
+      </UL> 
+   
+     <UL><CODE>as</CODE> -  Optional arguments array to take variables from.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML string with replaced varliables.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="callFunc"><!-- --></A>
+   <H3>callFunc</H3>
+   <PRE>boolean <B>callFunc</B>(&lt;<&lt;Array&gt; a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; ins, &lt;string&gt; p, &lt;string&gt; n, &lt;int&gt; m, a)</PRE>
+   
+      <UL>Executes callback chain. Callback TinyMCE_Engine.prototype.order = Option; Plugins, Themes.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>ins</CODE> -  TinyMCE editor control instance to execute callback on.  
+      </UL> 
+   
+     <UL><CODE>p</CODE> -  TinyMCE callback parameter name.  
+      </UL> 
+   
+     <UL><CODE>n</CODE> -  Function name to execute.  
+      </UL> 
+   
+     <UL><CODE>m</CODE> -  Execution mode value, 0 = no chain, 1 = event chain, 2 = execcommand chain.  
+      </UL> 
+   
+     <UL><CODE>a</CODE> -  Array with function arguments.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true - if the callback was executed, false if it wasn't.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="cancelEvent"><!-- --></A>
+   <H3>cancelEvent</H3>
+   <PRE>void <B>cancelEvent</B>(&lt;DOMEvent&gt; e)</PRE>
+   
+      <UL>Cancels the specified event, this will disable the event from be passed to other listeners in event chain.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  Event to cancel.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="cleanupAnchors"><!-- --></A>
+   <H3>cleanupAnchors</H3>
+   <PRE>void <B>cleanupAnchors</B>(&lt;DOMDocument&gt; doc)</PRE>
+   
+      <UL>Moves the contents of a anchor outside and after the anchor. Only if the anchor doesn't
+ have a href.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>doc</CODE> -  DOM document instance to fix anchors in.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="cleanupEventStr"><!-- --></A>
+   <H3>cleanupEventStr</H3>
+   <PRE>string <B>cleanupEventStr</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>Removes MSIE 5.5 specific event wrapper function form a event string.
+ This will also remove the event blocker if it's added in front of the event.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  String to replace event data in.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Replaced string value.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="cleanupHTMLCode"><!-- --></A>
+   <H3>cleanupHTMLCode</H3>
+   <PRE>string <B>cleanupHTMLCode</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>Makes some preprocessing cleanup routines on the specified HTML string.
+ This includes forcing some tags to be open so MSIE doesn't fail. Forcing other to close and
+ padding paragraphs with non breaking spaces. This function is used when the editor gets
+ initialized with content.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  HTML string to cleanup.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Cleaned HTML string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="clearArray"><!-- --></A>
+   <H3>clearArray</H3>
+   <PRE>Array <B>clearArray</B>(a)</PRE>
+   
+      <UL>Returns a cleared array, since some external libraries tend to extend the Array core object
+ arrays needs to be cleaned from these extended functions. So this function simply sets any
+ named properties back to null.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>Name</CODE> - /Value array to clear.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Cleared name/value array.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="closeWindow"><!-- --></A>
+   <H3>closeWindow</H3>
+   <PRE>void <B>closeWindow</B>(&lt;DOMWindow&gt; win)</PRE>
+   
+      <UL>Closes the specified window. This function is deprecated and should be replaced with
+ tinyMCEPopup.close();.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>win</CODE> -  Window reference to close.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <UL>   
+   <B>Deprecated</B> <I></I><BR/><BR/>
+   </UL>
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="compressStyle"><!-- --></A>
+   <H3>compressStyle</H3>
+   <PRE>void <B>compressStyle</B>(&lt;Array&gt; ar, &lt;string&gt; pr, &lt;string&gt; sf, &lt;string&gt; res)</PRE>
+   
+      <UL>Compresses larger styles into a smaller. Since MSIE automaticly converts
+ border: 1px solid red to border-left: 1px solid red, border-righ: 1px solid red and so forth.'
+ This will bundle them together again if the information is the same in each item.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>ar</CODE> -  Style name/value array with items.  
+      </UL> 
+   
+     <UL><CODE>pr</CODE> -  Style item prefix to bundle for example border.  
+      </UL> 
+   
+     <UL><CODE>sf</CODE> -  Style item suffix to bunlde for example -width or -width.  
+      </UL> 
+   
+     <UL><CODE>res</CODE> -  Result name, for example border-width.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="confirmAdd"><!-- --></A>
+   <H3>confirmAdd</H3>
+   <PRE>void <B>confirmAdd</B>(&lt;DOMEvent&gt; e, &lt;Array&gt; settings)</PRE>
+   
+      <UL>Displays a confirm dialog when a user clicks/focus a textarea that is to be converted into
+ a TinyMCE instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  DOM event instance.  
+      </UL> 
+   
+     <UL><CODE>settings</CODE> -  Name/Value array of initialization settings. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertAbsoluteURLToRelativeURL"><!-- --></A>
+   <H3>convertAbsoluteURLToRelativeURL</H3>
+   <PRE>string <B>convertAbsoluteURLToRelativeURL</B>(&lt;string&gt; base_url, &lt;string&gt; url_to_relative)</PRE>
+   
+      <UL>Converts an absolute path to relative path.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>base_url</CODE> -  URL to make as a base path, URLs will be converted relative from this point.  
+      </UL> 
+   
+     <UL><CODE>url_to_relative</CODE> -  URL to convert into a relative URL.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Relative URL based in input.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertAllRelativeURLs"><!-- --></A>
+   <H3>convertAllRelativeURLs</H3>
+   <PRE>void <B>convertAllRelativeURLs</B>(&lt;HTMLElement&gt; body)</PRE>
+   
+      <UL>Converts all img and a element URLs to absolute URLs. This will use the mce_src or mce_href attribute values
+ if they are provided. This function is used when the editor is initialized.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>body</CODE> -  HTML element to convert all URLs in.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertFontsToSpans"><!-- --></A>
+   <H3>convertFontsToSpans</H3>
+   <PRE>void <B>convertFontsToSpans</B>(&lt;DOMDocument&gt; doc)</PRE>
+   
+      <UL>Convers fonts to spans in the specified document.
+ Todo: Move this function into a XHTML plugin or simmilar.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>doc</CODE> -  Document instance to convert fonts in.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertHexToRGB"><!-- --></A>
+   <H3>convertHexToRGB</H3>
+   <PRE>string <B>convertHexToRGB</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>Returns a rgb(n,n,n) string from a hexadecimal value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  Hexadecimal string to parse.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        rgb(n,n,n) string from a hexadecimal value.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertRelativeToAbsoluteURL"><!-- --></A>
+   <H3>convertRelativeToAbsoluteURL</H3>
+   <PRE>string <B>convertRelativeToAbsoluteURL</B>(&lt;string&gt; base_url, &lt;string&gt; relative_url)</PRE>
+   
+      <UL>Converts an relative path to absolute path.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>base_url</CODE> -  URL to make as a base path, URLs will be converted absolute from this point.  
+      </UL> 
+   
+     <UL><CODE>relative_url</CODE> -  URL to convert into a absolute URL.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Absolute URL based in input.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertRGBToHex"><!-- --></A>
+   <H3>convertRGBToHex</H3>
+   <PRE>string <B>convertRGBToHex</B>(&lt;string&gt; s, &lt;boolean&gt; k)</PRE>
+   
+      <UL>Returns a hexadecimal version of the specified rgb(1,2,3) string.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  RGB string to parse, if this doesn't isn't a rgb(n,n,n) it will passthrough the string.  
+      </UL> 
+   
+     <UL><CODE>k</CODE> -  Keep before/after contents. If enabled contents before after the rgb(n,n,n) will be intact.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Hexadecimal version of the specified rgb(1,2,3) string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertSpansToFonts"><!-- --></A>
+   <H3>convertSpansToFonts</H3>
+   <PRE>void <B>convertSpansToFonts</B>(&lt;DOMDocument&gt; doc)</PRE>
+   
+      <UL>Converts span elements to font elements in the specified document instance.
+ Todo: Move this function into a XHTML plugin or simmilar.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>doc</CODE> -  Document instance to convert spans in.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertURL"><!-- --></A>
+   <H3>convertURL</H3>
+   <PRE>string <B>convertURL</B>(&lt;string&gt; url, &lt;HTMLElement&gt; node, &lt;boolean&gt; on_save)</PRE>
+   
+      <UL>Converts the specified URL based in TinyMCE configuration settings.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>url</CODE> -  URL to convert based on config.  
+      </UL> 
+   
+     <UL><CODE>node</CODE> -  HTML element that holds the URL.  
+      </UL> 
+   
+     <UL><CODE>on_save</CODE> -  Is this convertion the final output URL.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Converted URL string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="debug"><!-- --></A>
+   <H3>debug</H3>
+   <PRE>void <B>debug</B>()</PRE>
+   
+      <UL>Debugs the specified message to a screen.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>Numerous</CODE> -  arguments that will be outputed.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="dispatchCallback"><!-- --></A>
+   <H3>dispatchCallback</H3>
+   <PRE>Object <B>dispatchCallback</B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; i, &lt;string&gt; p, &lt;string&gt; n)</PRE>
+   
+      <UL>Dispatches the specified callback on all options, plugins and themes. This will not
+ chain them, so all functions callbacks will be executed regardless if the return true/false.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>i</CODE> -  TinyMCE editor control instance to execute callback on.  
+      </UL> 
+   
+     <UL><CODE>p</CODE> -  TinyMCE callback parameter to execute.  
+      </UL> 
+   
+     <UL><CODE>n</CODE> -  Function name to execute.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if they where dispatched. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="entityDecode"><!-- --></A>
+   <H3>entityDecode</H3>
+   <PRE>string <B>entityDecode</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>HTML entity decode a string, replaces &lt; with <.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  Entity string to decode into normal string.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Entity decoded string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="evalFunc"><!-- --></A>
+   <H3>evalFunc</H3>
+   <PRE>object <B>evalFunc</B>(&lt;string&gt; f, &lt;int&gt; idx, &lt;Array&gt; a)</PRE>
+   
+      <UL>Evaluates the specified function and uses the array of arguments.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>f</CODE> -  Function reference to execute.  
+      </UL> 
+   
+     <UL><CODE>idx</CODE> -  Index in array to start grabbing arguments from.  
+      </UL> 
+   
+     <UL><CODE>a</CODE> -  Array of function arguments.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Value returned from the evaluated function.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="execCommand"><!-- --></A>
+   <H3>execCommand</H3>
+   <PRE>void <B>execCommand</B>(&lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;object&gt; value)</PRE>
+   
+      <UL>Executes a command on the selected or last selected TinyMCE editor control instance. This function also handles
+ some non instance specific commands like mceAddControl, mceRemoveControl, mceHelp or mceFocus.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>command</CODE> -  Command name to execute, for example mceLink or Bold.  
+      </UL> 
+   
+     <UL><CODE>user_interface</CODE> -  True/false state if a UI (dialog) should be presented or not.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  Optional command value, this can be anything. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="execCommandCallback"><!-- --></A>
+   <H3>execCommandCallback</H3>
+   <PRE>Object <B>execCommandCallback</B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; i, &lt;string&gt; p, &lt;string&gt; n)</PRE>
+   
+      <UL>Executes the specified execcommand callback on all options, plugins and themes. This will
+ chain them, so callback chain will be broken if one function returns true.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>i</CODE> -  TinyMCE editor control instance to execute callback on.  
+      </UL> 
+   
+     <UL><CODE>p</CODE> -  TinyMCE callback parameter to execute.  
+      </UL> 
+   
+     <UL><CODE>n</CODE> -  Function name to execute.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if a callback was executed. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="execInstanceCommand"><!-- --></A>
+   <H3>execInstanceCommand</H3>
+   <PRE>void <B>execInstanceCommand</B>(&lt;string&gt; editor_id, &lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;object&gt; value, &lt;boolean&gt; focus)</PRE>
+   
+      <UL>Executes a command on a specific editor instance by id.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>editor_id</CODE> -  TinyMCE editor control instance id to perform comman on.  
+      </UL> 
+   
+     <UL><CODE>command</CODE> -  Command name to execute, for example mceLink or Bold.  
+      </UL> 
+   
+     <UL><CODE>user_interface</CODE> -  True/false state if a UI (dialog) should be presented or not.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  Optional command value, this can be anything.  
+      </UL> 
+   
+     <UL><CODE>focus</CODE> -  True/false if the editor instance should be focused first. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="executeCallback"><!-- --></A>
+   <H3>executeCallback</H3>
+   <PRE>Object <B>executeCallback</B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; i, &lt;string&gt; p, &lt;string&gt; n)</PRE>
+   
+      <UL>Executes the specified callback on all options, plugins and themes. This will
+ chain them, so callback chain will be broken if one function returns false.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>i</CODE> -  TinyMCE editor control instance to execute callback on.  
+      </UL> 
+   
+     <UL><CODE>p</CODE> -  TinyMCE callback parameter to execute.  
+      </UL> 
+   
+     <UL><CODE>n</CODE> -  Function name to execute.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if a callback was executed. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="explode"><!-- --></A>
+   <H3>explode</H3>
+   <PRE>Array <B>explode</B>(&lt;string&gt; d, &lt;string&gt; s)</PRE>
+   
+      <UL>Splits a string by the specified delimiter and skips any empty items.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>d</CODE> -  Delimiter to split by.  
+      </UL> 
+   
+     <UL><CODE>s</CODE> -  String to split.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Array with chunks from string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="extend"><!-- --></A>
+   <H3>extend</H3>
+   <PRE>Object <B>extend</B>(&lt;Object&gt; p, &lt;Object&gt; np)</PRE>
+   
+      <UL>Extends the specified prototype with new methods.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>p</CODE> -  Prototype to extend with new methods.  
+      </UL> 
+   
+     <UL><CODE>np</CODE> -  New prototype to extend the other one with.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Extended prototype array.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="fixGeckoBaseHREFBug"><!-- --></A>
+   <H3>fixGeckoBaseHREFBug</H3>
+   <PRE>string <B>fixGeckoBaseHREFBug</B>(&lt;boolean&gt; m, &lt;HTMLElement&gt; e, &lt;string&gt; h)</PRE>
+   
+      <UL>Fixes a Gecko specific bug where href, src attribute values gets converted incorrectly
+ when inserted into editor. This function will replace all src, href with mce_tsrc and mce_thref
+ to keep the values from chaging when they get inserted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>m</CODE> -  Mode state, true is to replace the src, href attributes to mce_tsrc and mce_thref.  
+      </UL> 
+   
+     <UL><CODE>e</CODE> -  HTML element to replace them in. (Will be used if m is 0)  
+      </UL> 
+   
+     <UL><CODE>h</CODE> -  HTML code to replace them in. (Will be used if m is 1)  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Converted string or the specified HTML value depending on mode.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getAbsPosition"><!-- --></A>
+   <H3>getAbsPosition</H3>
+   <PRE>TinyMCE_ElementPosition <B>getAbsPosition</B>(&lt;HTMLNode&gt; n)</PRE>
+   
+      <UL>Returns the absolute x, y position of a node. The position will be returned in a object with
+ two properties absLeft and absTop.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  HTML element to get x, y position from.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Absolute position of the specified element.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getAttrib"><!-- --></A>
+   <H3>getAttrib</H3>
+   <PRE>string <B>getAttrib</B>(&lt;HTMLElement&gt; elm, &lt;string&gt; name, &lt;string&gt; default_value)</PRE>
+   
+      <UL>Returns the attribute value of a element or the default value if it wasn't found.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>elm</CODE> -  HTML element to get attribute from.  
+      </UL> 
+   
+     <UL><CODE>name</CODE> -  Attribute name to retrive.  
+      </UL> 
+   
+     <UL><CODE>default_value</CODE> -  Optional default value to return, this value defaults to a empty string.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Attribute value or default value if it wasn't found in element.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getButtonHTML"><!-- --></A>
+   <H3>getButtonHTML</H3>
+   <PRE>string <B>getButtonHTML</B>(&lt;string&gt; id, &lt;string&gt; lang, &lt;string&gt; img, &lt;string&gt; cmd, &lt;string&gt; ui, &lt;string&gt; val)</PRE>
+   
+      <UL>Returns the HTML code for a normal button control.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>id</CODE> -  Button control id, this will be the suffix for the element id, the prefix is the editor id.  
+      </UL> 
+   
+     <UL><CODE>lang</CODE> -  Language variable key name to insert as the title/alt of the button image.  
+      </UL> 
+   
+     <UL><CODE>img</CODE> -  Image URL to insert, {$themeurl} and {$pluginurl} will be replaced.  
+      </UL> 
+   
+     <UL><CODE>cmd</CODE> -  Command to execute when the user clicks the button.  
+      </UL> 
+   
+     <UL><CODE>ui</CODE> -  Optional user interface boolean for command.  
+      </UL> 
+   
+     <UL><CODE>val</CODE> -  Optional value for command.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML code for a normal button based in input information.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getContent"><!-- --></A>
+   <H3>getContent</H3>
+   <PRE>string <B>getContent</B>(&lt;string&gt; editor_id)</PRE>
+   
+      <UL>Returns the HTML contents of the specified editor instance id.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>editor_id</CODE> -  Editor instance id to retrive HTML code from.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML contents of editor id or null if it wasn't found.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getControlHTML"><!-- --></A>
+   <H3>getControlHTML</H3>
+   <PRE>string <B>getControlHTML</B>(&lt;string&gt; c)</PRE>
+   
+      <UL>Returns the HTML for the specified control this will loop through
+ the theme and all plugins inorder to find the control. The callback for each
+ theme and plugin is called getControlHTML.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>c</CODE> -  Control name/id to get HTML code for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML code for the specified control or empty string if it wasn't found.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getCSSClasses"><!-- --></A>
+   <H3>getCSSClasses</H3>
+   <PRE>Array <B>getCSSClasses</B>(&lt;string&gt; editor_id, &lt;DOMDocument&gt; doc)</PRE>
+   
+      <UL>Returns a array of CSS classes that is available in a document.
+ TinyMCE_Engine.prototype.Todo = Fix;this one, it's so ugly. :)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>editor_id</CODE> -  Editor id to get CSS classes from.  
+      </UL> 
+   
+     <UL><CODE>doc</CODE> -  DOM document to get the CSS classes from.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Array of CSS classes that is available in a document.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getEditorId"><!-- --></A>
+   <H3>getEditorId</H3>
+   <PRE>string <B>getEditorId</B>(&lt;string&gt; form_element)</PRE>
+   
+      <UL>Returns the editor instance id of a specific form element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>form_element</CODE> -  Form element name to get instance id for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        TinyMCE editor instance id or null if it wasn't found.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getElementByAttributeValue"><!-- --></A>
+   <H3>getElementByAttributeValue</H3>
+   <PRE>HTMLElement <B>getElementByAttributeValue</B>(&lt;HTMLElement&gt; n, &lt;string&gt; e, &lt;string&gt; a, &lt;string&gt; v)</PRE>
+   
+      <UL>Returns a element by a specific attribute and it's value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Element to search in.  
+      </UL> 
+   
+     <UL><CODE>e</CODE> -  Element name to search for.  
+      </UL> 
+   
+     <UL><CODE>a</CODE> -  Attribute name to search for.  
+      </UL> 
+   
+     <UL><CODE>v</CODE> -  Attribute value to search for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML element that matched the criterias or null on failure.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getElementsByAttributeValue"><!-- --></A>
+   <H3>getElementsByAttributeValue</H3>
+   <PRE>Array <B>getElementsByAttributeValue</B>(&lt;HTMLElement&gt; n, &lt;string&gt; e, &lt;string&gt; a, &lt;string&gt; v)</PRE>
+   
+      <UL>Returns a element array by a specific attribute and it's value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Element to search in.  
+      </UL> 
+   
+     <UL><CODE>e</CODE> -  Element name to search for.  
+      </UL> 
+   
+     <UL><CODE>a</CODE> -  Attribute name to search for.  
+      </UL> 
+   
+     <UL><CODE>v</CODE> -  Attribute value to search for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML element array that matched the criterias or null on failure.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getInstanceById"><!-- --></A>
+   <H3>getInstanceById</H3>
+   <PRE><a href="TinyMCE_Control.html">TinyMCE_Control</a> <B>getInstanceById</B>(&lt;string&gt; editor_id)</PRE>
+   
+      <UL>Returns a TinyMCE editor instance by the specified editor id or null if it wasn't found.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>editor_id</CODE> -  Editor id to get instance for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        TinyMCE editor control instance or null if it wasn't found.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getLang"><!-- --></A>
+   <H3>getLang</H3>
+   <PRE>object <B>getLang</B>(&lt;string&gt; name, &lt;string&gt; default_value, &lt;boolean&gt; parse_entities, &lt;Array&gt; va)</PRE>
+   
+      <UL>Returns a language variable value from the language packs.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>name</CODE> -  Name of the key to retrive.  
+      </UL> 
+   
+     <UL><CODE>default_value</CODE> -  Optional default value to return if it wasn't found.  
+      </UL> 
+   
+     <UL><CODE>parse_entities</CODE> -  Is HTML entities to be resolved or not.  
+      </UL> 
+   
+     <UL><CODE>va</CODE> -  Optional name/value array of variables to replace in language string.	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Language string value could be a number if it's a relative dimenstion.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getNodeTree"><!-- --></A>
+   <H3>getNodeTree</H3>
+   <PRE>Array <B>getNodeTree</B>(&l&lt;int&gt; t;HTMLNode&gt; n, &lt;Array&gt; na, t, &lt;string&gt; nn)</PRE>
+   
+      <UL>Returns a array of nodes selected retrived from the child nodes of the specified node.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Node to get children from.  
+      </UL> 
+   
+     <UL><CODE>na</CODE> -  Array to fill with children.  
+      </UL> 
+   
+     <UL><CODE>t</CODE> -  Node type to get.  
+      </UL> 
+   
+     <UL><CODE>nn</CODE> -  Node name of items to retrive.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Node array.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getOuterHTML"><!-- --></A>
+   <H3>getOuterHTML</H3>
+   <PRE>string <B>getOuterHTML</B>(&lt;HTMLElement&gt; e)</PRE>
+   
+      <UL>Returns the outer HTML of a element, this uses the outerHTML
+ property in MSIE and Opera and a workaround for Gecko.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  HTML element to get outerHTML from.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML content string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getParam"><!-- --></A>
+   <H3>getParam</H3>
+   <PRE>object <B>getParam</B>(&lt;string&gt; name, &lt;string&gt; default_value, &lt;boolean&gt; strip_whitespace, &lt;string&gt; split_chr)</PRE>
+   
+      <UL>Returns a specific configuration setting or the default value if it wasn't found.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>name</CODE> -  Configuration setting to get.  
+      </UL> 
+   
+     <UL><CODE>default_value</CODE> -  Default value to return if it wasn't found.  
+      </UL> 
+   
+     <UL><CODE>strip_whitespace</CODE> -  Optional remove all whitespace.  
+      </UL> 
+   
+     <UL><CODE>split_chr</CODE> -  Split char/regex/string.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Number, string or other object based in parameter and default_value.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getParentBlockElement"><!-- --></A>
+   <H3>getParentBlockElement</H3>
+   <PRE>HTMLElement <B>getParentBlockElement</B>(&lt;HTMLNode&gt; n)</PRE>
+   
+      <UL>Returns the first block element parent of the specified node.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Node get parent block element for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        First block element parent of the specified node or null if it wasn't found.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getParentElement"><!-- --></A>
+   <H3>getParentElement</H3>
+   <PRE>HTMLElement <B>getParentElement</B>(&lt;HTMLNode&gt; node, &lt;string&gt; names, &lt;string&gt; attrib_name, &lt;string&gt; attrib_value)</PRE>
+   
+      <UL>Returns the parent element of the specified node based on the search criteria.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>node</CODE> -  Node to get parent element of.  
+      </UL> 
+   
+     <UL><CODE>names</CODE> -  Comma separated list of element names to get.  
+      </UL> 
+   
+     <UL><CODE>attrib_name</CODE> -  Optional attribute name to match.  
+      </UL> 
+   
+     <UL><CODE>attrib_value</CODE> -  Optional attribute value to match.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTMLElement or null based on search criteras.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getParentNode"><!-- --></A>
+   <H3>getParentNode</H3>
+   <PRE>DOMNode <B>getParentNode</B>(&lt;DOMNode&gt; n, &lt;function&gt; f)</PRE>
+   
+      <UL>Returns a node by the specified selector function. This function will
+ loop through all parent nodes and call the specified function for each node.
+ If the function then returns true it will stop the execution and return that node.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  HTML node to search parents on.  
+      </UL> 
+   
+     <UL><CODE>f</CODE> -  Selection function to execute on each node.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        DOMNode or null if it wasn't found.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getVisualAidClass"><!-- --></A>
+   <H3>getVisualAidClass</H3>
+   <PRE>string <B>getVisualAidClass</B>(&lt;string&gt; class_name, &lt;boolean&gt; state)</PRE>
+   
+      <UL>Returns the visual aid class string, this will add/remove the visual aid class.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>class_name</CODE> -  Class name value to add/remove visual aid classes from.  
+      </UL> 
+   
+     <UL><CODE>state</CODE> -  true/false if the classes should be added or removed.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        New class value containing the visual aid classes or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWindowArg"><!-- --></A>
+   <H3>getWindowArg</H3>
+   <PRE>Object <B>getWindowArg</B>(&lt;string&gt; n, d)</PRE>
+   
+      <UL>Returns the window argument to be passed to TinyMCE popup.
+ TinyMCE_Engine.prototype.Use = tinyMCEPopup;.getWindowArg instead.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Window argument name.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Argument value or default value if it wasn't found.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <UL>   
+   <B>Deprecated</B> <I></I><BR/><BR/>
+   </UL>
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="handleEvent"><!-- --></A>
+   <H3>handleEvent</H3>
+   <PRE>boolean <B>handleEvent</B>(&lt;DOMEvent&gt; e)</PRE>
+   
+      <UL>Event handler function that gets executed each time a event occurs in a TinyMCE editor control instance.
+ TinyMCE_Engine.prototype.Todo = Fix;the return statements so they return true or false.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  DOM event object reference.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true - if the event is to be chained, false - if the event chain is to be canceled.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="handleVisualAid"><!-- --></A>
+   <H3>handleVisualAid</H3>
+   <PRE>void <B>handleVisualAid</B>(&lt;HTMLElement&gt; el, &lt;boolean&gt; deep, &lt;boolean&gt; state, &lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst, skip_dispatch)</PRE>
+   
+      <UL>Adds visual aid classes to all elements that need them recursive in the DOM tree.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>el</CODE> -  HTML element to add visual aid classes to.  
+      </UL> 
+   
+     <UL><CODE>deep</CODE> -  Should they be added to all children aswell.  
+      </UL> 
+   
+     <UL><CODE>state</CODE> -  Should they be added or removed.  
+      </UL> 
+   
+     <UL><CODE>inst</CODE> -  TinyMCE editor control instance to add/remove them to/from. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="hasMenu"><!-- --></A>
+   <H3>hasMenu</H3>
+   <PRE>boolean <B>hasMenu</B>(&lt;string&gt; n)</PRE>
+   
+      <UL>Checks if the specified menu by name is added to TinyMCE.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  TinyMCE menu id.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if it exists or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="hasPlugin"><!-- --></A>
+   <H3>hasPlugin</H3>
+   <PRE>boolean <B>hasPlugin</B>(&lt;string&gt; n)</PRE>
+   
+      <UL>Returns true/false if the specified plugin is loaded or not.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Plugin name to look for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if the specified plugin is loaded or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="hasTheme"><!-- --></A>
+   <H3>hasTheme</H3>
+   <PRE>boolean <B>hasTheme</B>(&lt;string&gt; n)</PRE>
+   
+      <UL>Returns true/false if the specified theme is loaded or not.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Theme name/id to check for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if the specified theme is loaded or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="importCSS"><!-- --></A>
+   <H3>importCSS</H3>
+   <PRE>void <B>importCSS</B>(&lt;DOMDocument&gt; doc, &lt;string&gt; css)</PRE>
+   
+      <UL>Imports a CSS file into a allready loaded document. This will add a link element
+ to the head element of the document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>doc</CODE> -  DOM Document to load CSS into.  
+      </UL> 
+   
+     <UL><CODE>css</CODE> -  CSS File URL to load or comma separated list of files. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="importPluginLanguagePack"><!-- --></A>
+   <H3>importPluginLanguagePack</H3>
+   <PRE>void <B>importPluginLanguagePack</B>(&lt;string&gt; name, &lt;string&gt; valid_languages)</PRE>
+   
+      <UL>Loads a plugin specific language pack.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>name</CODE> -  Plugin name/id to load language pack for.  
+      </UL> 
+   
+     <UL><CODE>valid_languages</CODE> -  Comma separated list of valid languages for the plugin. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="importThemeLanguagePack"><!-- --></A>
+   <H3>importThemeLanguagePack</H3>
+   <PRE>void <B>importThemeLanguagePack</B>(&lt;string&gt; name)</PRE>
+   
+      <UL>Loads a theme specific language pack.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>name</CODE> -  Optional name of the theme to load language pack from. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(settings)</PRE>
+   
+      <UL>Initializes TinyMCE with the specific configuration settings. This method
+ may be called multiple times when multiple instances with diffrent settings is to be created.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>Name</CODE> - /Value array of initialization settings. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="insertAfter"><!-- --></A>
+   <H3>insertAfter</H3>
+   <PRE>void <B>insertAfter</B>(&lt;HTMLNode&gt; n, &lt;HTMLNode&gt; r)</PRE>
+   
+      <UL>Inserts a node after the specific node.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  New node to insert.  
+      </UL> 
+   
+     <UL><CODE>r</CODE> -  Reference node to insert after.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="isBlockElement"><!-- --></A>
+   <H3>isBlockElement</H3>
+   <PRE>boolean <B>isBlockElement</B>(&lt;HTMLNode&gt; n)</PRE>
+   
+      <UL>Returns true/false if the specified node is a block element or not.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Node to verify.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if the specified node is a block element or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="isInstance"><!-- --></A>
+   <H3>isInstance</H3>
+   <PRE>boolean <B>isInstance</B>(&lt;object&gt; o)</PRE>
+   
+      <UL>Returns true/false if a specific object is a TinyMCE_Control instance or not.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>o</CODE> -  Object to check.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if it's a control or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadCSS"><!-- --></A>
+   <H3>loadCSS</H3>
+   <PRE>void <B>loadCSS</B>(&lt;string&gt; url)</PRE>
+   
+      <UL>Loads the specified CSS by writing the a link tag to the current page.
+ This will also check if the file has been loaded before. This function should only be used
+ when the page is loading.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>url</CODE> -  CSS file URL to load or comma separated list of files. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadPlugin"><!-- --></A>
+   <H3>loadPlugin</H3>
+   <PRE>void <B>loadPlugin</B>(&lt;string&gt; n, &lt;string&gt; u)</PRE>
+   
+      <UL>Load plugin from external URL.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Plugin name for example \"emotions\".  
+      </UL> 
+   
+     <UL><CODE>u</CODE> -  URL of plugin directory to load. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadScript"><!-- --></A>
+   <H3>loadScript</H3>
+   <PRE>void <B>loadScript</B>(&lt;string&gt; url)</PRE>
+   
+      <UL>Loads the specified script by writing the a script tag to the current page.
+ This will also check if the file has been loaded before. This function should only be used
+ when the page is loading.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>url</CODE> -  Script URL to load. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="nextNode"><!-- --></A>
+   <H3>nextNode</H3>
+   <PRE>HTMLElement <B>nextNode</B>(&lt;HTMLNode&gt; e, &lt;string&gt; n)</PRE>
+   
+      <UL>Finds any element after the current one by name. This will loop through the siblings
+ inorder to find the specified element by name. If the element wasn't found
+ it will return a null value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  HTML node to search from.  
+      </UL> 
+   
+     <UL><CODE>n</CODE> -  Comma separated list of element names to search for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML Element or null if it wasn't found.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="onLoad"><!-- --></A>
+   <H3>onLoad</H3>
+   <PRE>boolean <B>onLoad</B>()</PRE>
+   
+      <UL>Gets executed when the page loads or get intitialized. This function will then convert all textareas/divs that
+ is to be converted into TinyMCE editor controls.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true - if the event is to be chained, false - if the event chain is to be canceled.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="onMouseMove"><!-- --></A>
+   <H3>onMouseMove</H3>
+   <PRE>void <B>onMouseMove</B>()</PRE>
+   
+      <UL>Mouse move handler function, this will be executed each time
+ the mouse is moved within a editor instance. This function stores away the current selection in MSIE
+ this will then be used when a undo/redo level is added.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="openWindow"><!-- --></A>
+   <H3>openWindow</H3>
+   <PRE>void <B>openWindow</B>(&lt;Array&gt; template, &lt;Array&gt; args)</PRE>
+   
+      <UL>Opens a popup window based in the specified input data. This function
+ is used for all popup windows in TinyMCE.
+
+ These are the current template TinyMCE_Engine.prototype.keys = file; width, height, close_previous.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>template</CODE> -  Popup template data such as with, height etc.  
+      </UL> 
+   
+     <UL><CODE>args</CODE> -  Popup arguments that is to be passed to the popup such as custom data. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="parseStyle"><!-- --></A>
+   <H3>parseStyle</H3>
+   <PRE>Array <B>parseStyle</B>(&lt;string&gt; str)</PRE>
+   
+      <UL>Parses the specified HTML style data. This will parse for example
+ "border-left: 1px; background-color: red" into an key/value array.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>str</CODE> -  Style data to parse.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Name/Value array of style items.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="parseURL"><!-- --></A>
+   <H3>parseURL</H3>
+   <PRE>TinyMCE_URL_Item <B>parseURL</B>(&lt;string&gt; url_str)</PRE>
+   
+      <UL>Parses a URL in to its diffrent components.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>url_str</CODE> -  URL string to parse into a URL object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        URL object based on input string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="prevNode"><!-- --></A>
+   <H3>prevNode</H3>
+   <PRE>HTMLElement <B>prevNode</B>(&lt;HTMLNode&gt; e, &lt;string&gt; n)</PRE>
+   
+      <UL>Finds any previous element by name. This will loop through the siblings
+ inorder to find the specified element by name. If the element wasn't found
+ it will return a null value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  HTML node to search from.  
+      </UL> 
+   
+     <UL><CODE>n</CODE> -  Comma separated list of element names to search for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML Element or null if it wasn't found.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="queryInstanceCommandState"><!-- --></A>
+   <H3>queryInstanceCommandState</H3>
+   <PRE>boolean <B>queryInstanceCommandState</B>(&lt;string&gt; editor_id, &lt;string&gt; command)</PRE>
+   
+      <UL>Queries a command state for a specific command on a specific editor instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>editor_id</CODE> -  Editor id to query command state on.  
+      </UL> 
+   
+     <UL><CODE>command</CODE> -  Command to query for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Command state passed from browser.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="queryInstanceCommandValue"><!-- --></A>
+   <H3>queryInstanceCommandValue</H3>
+   <PRE>object <B>queryInstanceCommandValue</B>(&lt;string&gt; editor_id, &lt;string&gt; command)</PRE>
+   
+      <UL>Queries a command value for a specific command on a specific editor instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>editor_id</CODE> -  Editor id to query command value on.  
+      </UL> 
+   
+     <UL><CODE>command</CODE> -  Command to query for.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Command value passed from browser.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="regexpReplace"><!-- --></A>
+   <H3>regexpReplace</H3>
+   <PRE>string <B>regexpReplace</B>(&lt;string&gt; in_str, &lt;string&gt; reg_exp, &lt;string&gt; replace_str, opts)</PRE>
+   
+      <UL>Regexp replaces the contents of a string. Use normal replace instead.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>in_str</CODE> -  String to replace in.  
+      </UL> 
+   
+     <UL><CODE>in_str</CODE> -  Optional regexp options like "gi".  
+      </UL> 
+   
+     <UL><CODE>reg_exp</CODE> -  Regexp to replace.  
+      </UL> 
+   
+     <UL><CODE>replace_str</CODE> -  String to replace with.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Replaced string value.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <UL>   
+   <B>Deprecated</B> <I></I><BR/><BR/>
+   </UL>
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="removeCSSClass"><!-- --></A>
+   <H3>removeCSSClass</H3>
+   <PRE>string <B>removeCSSClass</B>(&lt;HTMLElement&gt; e, c)</PRE>
+   
+      <UL>Removes the specified CSS class from the element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  HTML element to remove CSS class to.  
+      </UL> 
+   
+     <UL><CODE>string</CODE> - ] c CSS class to remove to HTML element.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Returns the new class attribute value.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="removeMCEControl"><!-- --></A>
+   <H3>removeMCEControl</H3>
+   <PRE>void <B>removeMCEControl</B>(&lt;string&gt; editor_id)</PRE>
+   
+      <UL>Removes a TinyMCE editor control instance by id.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>editor_id</CODE> -  Id of editor instance to remove. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="removeTinyMCEFormElements"><!-- --></A>
+   <H3>removeTinyMCEFormElements</H3>
+   <PRE>void <B>removeTinyMCEFormElements</B>(&lt;HTMLElement&gt; form_obj)</PRE>
+   
+      <UL>Removes/disables TinyMCE built in form elements such as select boxes for font sizes etc.
+ These are disabled when the user submits a form so they don't get picked up by the backend script
+ that intercepts the contents.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>form_obj</CODE> -  Form object to loop through for TinyMCE specific form elements. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="renameElement"><!-- --></A>
+   <H3>renameElement</H3>
+   <PRE>void <B>renameElement</B>(&lt;HTMLElement&gt; e, &lt;string&gt; n, &lt;DOMDocument&gt; d)</PRE>
+   
+      <UL>Renames the specified element to the specified name.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  Element to rename.  
+      </UL> 
+   
+     <UL><CODE>n</CODE> -  New name of the element.  
+      </UL> 
+   
+     <UL><CODE>d</CODE> -  Optional document reference.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="replaceVar"><!-- --></A>
+   <H3>replaceVar</H3>
+   <PRE>string <B>replaceVar</B>(&lt;string&gt; h, &lt;string&gt; r, &lt;string&gt; v)</PRE>
+   
+      <UL>Replaces a specific variable in the string with a nother string.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>h</CODE> -  String to search in for the variable.  
+      </UL> 
+   
+     <UL><CODE>r</CODE> -  Variable name to search for.  
+      </UL> 
+   
+     <UL><CODE>v</CODE> -  Value to insert where a variable is found.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        String with replaced variable.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="resetForm"><!-- --></A>
+   <H3>resetForm</H3>
+   <PRE>void <B>resetForm</B>(&lt;int&gt; form_index)</PRE>
+   
+      <UL>Resets a forms TinyMCE instances based on form index.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>form_index</CODE> -  Form index to reset. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="selectNodes"><!-- --></A>
+   <H3>selectNodes</H3>
+   <PRE>Array <B>selectNodes</B>(&lt;DOMNode&gt; n, &lt;function&gt; f, &lt;Array&gt; a)</PRE>
+   
+      <UL>Returns a array of nodes when the specified function matches a node.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Node to select children from.  
+      </UL> 
+   
+     <UL><CODE>f</CODE> -  Function that returns true/false if the node is to be added or not.  
+      </UL> 
+   
+     <UL><CODE>a</CODE> -  Optional array to fill with nodes.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Array with selected nodes.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="serializeStyle"><!-- --></A>
+   <H3>serializeStyle</H3>
+   <PRE>string <B>serializeStyle</B>(&lt;Array&gt; ar)</PRE>
+   
+      <UL>Serializes the specified style item name/value array into a HTML string. This function
+ will force HEX colors in Firefox and convert the URL items of a style correctly.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>ar</CODE> -  Name/Value array of items to serialize.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Serialized HTML string containing the items.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="serializeURL"><!-- --></A>
+   <H3>serializeURL</H3>
+   <PRE>string <B>serializeURL</B>(&lt;TinyMCE_URL_Item&gt; up)</PRE>
+   
+      <UL>Serializes the specified URL object into a string.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>up</CODE> -  URL object to serialize.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Serialized URL object.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setAttrib"><!-- --></A>
+   <H3>setAttrib</H3>
+   <PRE>void <B>setAttrib</B>(&lt;HTMLElement&gt; element, &lt;string&gt; name, &lt;string&gt; value, &lt;boolean&gt; fix_value)</PRE>
+   
+      <UL>Sets the attribute value for a specific attribute.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>element</CODE> -  HTML element to set attribute on.  
+      </UL> 
+   
+     <UL><CODE>name</CODE> -  Attribute name to set.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  Attribute value to set.  
+      </UL> 
+   
+     <UL><CODE>fix_value</CODE> -  Optional fix value state, if true only number data will be accepted.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setContent"><!-- --></A>
+   <H3>setContent</H3>
+   <PRE>void <B>setContent</B>(&lt;string&gt; h)</PRE>
+   
+      <UL>Sets the HTML contents of the selected editor instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>h</CODE> -  HTML contents to set in the selected instance.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <UL>   
+   <B>Deprecated</B> <I></I><BR/><BR/>
+   </UL>
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setInnerHTML"><!-- --></A>
+   <H3>setInnerHTML</H3>
+   <PRE>void <B>setInnerHTML</B>(&lt;HTMLElement&gt; e, &lt;string&gt; h)</PRE>
+   
+      <UL>Sets the innerHTML property of a element, this function also
+ fixes a MSIE bug where the first comment is removed.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  Element to insert HTML in.  
+      </UL> 
+   
+     <UL><CODE>h</CODE> -  HTML code to insert into innerHTML.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setOuterHTML"><!-- --></A>
+   <H3>setOuterHTML</H3>
+   <PRE>void <B>setOuterHTML</B>(&lt;HTMLElement&gt; e, &lt;string&gt; h)</PRE>
+   
+      <UL>Sets the outer HTML of a element, this uses the outerHTML
+ property in MSIE and Opera and a workaround for Gecko.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  HTML element to set outerHTML on.  
+      </UL> 
+   
+     <UL><CODE>h</CODE> -  HTML string to set in property.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setPluginBaseURL"><!-- --></A>
+   <H3>setPluginBaseURL</H3>
+   <PRE>void <B>setPluginBaseURL</B>(&lt;string&gt; n, &lt;string&gt; u)</PRE>
+   
+      <UL>Sets the baseURL of the specified plugin, this is useful if the plugin is loaded from
+ a external location.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Plugin name/id to set base URL on. This have to be added before.  
+      </UL> 
+   
+     <UL><CODE>u</CODE> -  Base URL of plugin, this string should be the URL prefix for the plugin without a trailing slash. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setStyleAttrib"><!-- --></A>
+   <H3>setStyleAttrib</H3>
+   <PRE>void <B>setStyleAttrib</B>(&lt;HTMLElement&gt; elm, &lt;string&gt; name, &lt;string&gt; value)</PRE>
+   
+      <UL>Sets a style attribute item value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>elm</CODE> -  HTML element to set style attribute item on.  
+      </UL> 
+   
+     <UL><CODE>name</CODE> -  Style item name to set.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  Style item value to set.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setupContent"><!-- --></A>
+   <H3>setupContent</H3>
+   <PRE>void <B>setupContent</B>(&lt;string&gt; editor_id)</PRE>
+   
+      <UL>Setups the contents of TinyMCE editor instance and fills it with contents.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>editor_id</CODE> -  TinyMCE editor instance control id to fill. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setWindowArg"><!-- --></A>
+   <H3>setWindowArg</H3>
+   <PRE>void <B>setWindowArg</B>(&lt;string&gt; n, &lt;string&gt; v)</PRE>
+   
+      <UL>Sets the window argument to be passed to TinyMCE popup.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Window argument name.  
+      </UL> 
+   
+     <UL><CODE>v</CODE> -  Window argument value. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="storeAwayURLs"><!-- --></A>
+   <H3>storeAwayURLs</H3>
+   <PRE>string <B>storeAwayURLs</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>Stores away the src and href attribute values in separate mce_src and mce_href attributes.
+ This is needed since both MSIE and Gecko messes with these attributes. The old
+ src and href will be intact, this simply adds them to a separate attribute.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  HTML string to replace src and href attributes in.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML string with replaced src and href attributes.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="submitPatch"><!-- --></A>
+   <H3>submitPatch</H3>
+   <PRE>void <B>submitPatch</B>()</PRE>
+   
+      <UL>Piggyback onsubmit event handler function, this will remove/hide the TinyMCE specific form elements
+ call triggerSave to fill the textarea with the correct contents then call the old piggy backed event handler.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="switchClass"><!-- --></A>
+   <H3>switchClass</H3>
+   <PRE>void <B>switchClass</B>(&lt;HTMLElement&gt; ei, &lt;string&gt; c)</PRE>
+   
+      <UL>Switches the CSS class of the specified element. This method also caches the
+ elements in a lookup table for performance. This should only be used for TinyMCE main UI controls
+ like buttons or select elements.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>ei</CODE> -  Element to set CSS class on.  
+      </UL> 
+   
+     <UL><CODE>c</CODE> -  CSS class to set.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="triggerNodeChange"><!-- --></A>
+   <H3>triggerNodeChange</H3>
+   <PRE>void <B>triggerNodeChange</B>(&lt;boolean&gt; focus, &lt;boolean&gt; setup_content)</PRE>
+   
+      <UL>Triggers a nodeChange event to every theme and plugin. This will be executed when the cursor moves or
+ when a command that modifies the editor contents is executed.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>focus</CODE> -  Optional state if the last selected editor instance is to be focused or not.  
+      </UL> 
+   
+     <UL><CODE>setup_content</CODE> -  Optional state if it's called from setup content function or not. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="triggerSave"><!-- --></A>
+   <H3>triggerSave</H3>
+   <PRE>void <B>triggerSave</B>(&lt;boolean&gt; skip_cleanup, &lt;boolean&gt; skip_callback)</PRE>
+   
+      <UL>Moves the contents from a TinyMCE editor control instance to the hidden textarea
+ that got replaced with TinyMCE. This is executed automaticly on for example form submit.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>skip_cleanup</CODE> -  Optional Skip cleanup, simply move the contents as fast as possible.  
+      </UL> 
+   
+     <UL><CODE>skip_callback</CODE> -  Optional Skip callback, don't call the save_callback function. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="trim"><!-- --></A>
+   <H3>trim</H3>
+   <PRE>string <B>trim</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>Removes all prefix, suffix whitespace of a string.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  String to replace whitespace in.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Replaced string value.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="unloadHandler"><!-- --></A>
+   <H3>unloadHandler</H3>
+   <PRE>void <B>unloadHandler</B>()</PRE>
+   
+      <UL>Unload document event handler function. This function will be executed when the
+ page is unloaded, this will automaticly move the current editor contents to the textarea element this enables
+ the editor to restore it's state when the user presses the back button in the browser.
+ This will execute the triggerSave function.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="updateContent"><!-- --></A>
+   <H3>updateContent</H3>
+   <PRE>void <B>updateContent</B>(&lt;string&gt; form_element_name)</PRE>
+   
+      <UL>Moves the contents from the hidden textarea to the editor that gets inserted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>form_element_name</CODE> -  Form element name to move contents from.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <UL>   
+   <B>Deprecated</B> <I></I><BR/><BR/>
+   </UL>
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="xmlEncode"><!-- --></A>
+   <H3>xmlEncode</H3>
+   <PRE>string <B>xmlEncode</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>Encodes the string to raw XML entities. This will only convert the most common ones.
+ For real entity encoding use the xmlEncode method of the Cleanup class.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  String to encode.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        XML Encoded string.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Engine.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Control.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Layer.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Engine.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Layer.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Layer.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Layer.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Layer.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,952 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TinyMCE_Layer
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TinyMCE_Layer";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Layer.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Engine.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Popup.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Layer.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TinyMCE_Layer</H2>
+<PRE>Object
+   |
+   +--<b>TinyMCE_Layer</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TinyMCE_Layer</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TinyMCE_Layer.class.js.html'>TinyMCE_Layer.class.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TinyMCE_Layer.html#TinyMCE_Layer()">TinyMCE_Layer</A> 
+	 </B>
+	 (&lt;string&gt; id, &lt;boolean&gt; bm)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Constructor for the TinyMCE Layer.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#create">create</A></B>(&lt;string&gt; n, &lt;string&gt; c, &lt;HTMLElement&gt; p)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Creates a element for the layer based on the id and specified name.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getAbsPosition">getAbsPosition</A></B>(&lt;DOMElement&gt; n)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the absolute x, y cordinate of the specified node.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getBlocker">getBlocker</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the blocker DOM element, this is a invisible iframe.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getElement">getElement</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the DOM element that the layer is binded to.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#hide">hide</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Hides the layer.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#isVisible">isVisible</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns true/false if the layer is visible or not.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveBy">moveBy</A></B>(&lt;int&gt; x, &lt;int&gt; y)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Moves the layer relative in pixels.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveRelativeTo">moveRelativeTo</A></B>(&lt;HTMLElement&gt; re, &lt;string&gt; p)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Moves the layer relative to the specified HTML element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveTo">moveTo</A></B>(&lt;int&gt; x, &lt;int&gt; y)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Moves the layer absolute in pixels.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;int</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#parseInt">parseInt</A></B>(&lt;string&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Parses a int value this method will return 0 if the string is empty.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#resizeBy">resizeBy</A></B>(&lt;int&gt; w, &lt;int&gt; h)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Resizes the layer by the specified relative width and height.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#resizeTo">resizeTo</A></B>(&lt;int&gt; w, &lt;int&gt; h)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Resizes the layer to the specified width and height.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setBlockMode">setBlockMode</A></B>(&lt;boolean&gt; s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the block mode.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#show">show</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Shows the layer.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#updateBlocker">updateBlocker</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Updates the select/iframe/flash blocker this will also block the caret in Firefox.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TinyMCE_Layer()"><!-- --></A><H3>
+TinyMCE_Layer</H3>
+<PRE><B>TinyMCE_Layer</B>(&lt;string&gt; id, &lt;boolean&gt; bm)</PRE>
+
+
+<UL>
+   Constructor for the TinyMCE Layer. This class enables you to construct
+ floating layers that is visible on top of select input fields, flashes and iframes.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>id</CODE> -  Unique ID name for the layer.  
+     </UL>
+   
+     <UL><CODE>bm</CODE> -  Block mode, defaults to true.    
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="create"><!-- --></A>
+   <H3>create</H3>
+   <PRE>HTMLElement <B>create</B>(&lt;string&gt; n, &lt;string&gt; c, &lt;HTMLElement&gt; p)</PRE>
+   
+      <UL>Creates a element for the layer based on the id and specified name.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  Element tag name, like div.  
+      </UL> 
+   
+     <UL><CODE>c</CODE> -  Optional class name to set as class attribute value.  
+      </UL> 
+   
+     <UL><CODE>p</CODE> -  Optional parent element reference, defaults to body.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        HTML DOM element that got created.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getAbsPosition"><!-- --></A>
+   <H3>getAbsPosition</H3>
+   <PRE>Object <B>getAbsPosition</B>(&lt;DOMElement&gt; n)</PRE>
+   
+      <UL>Returns the absolute x, y cordinate of the specified node.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>n</CODE> -  DOM node to retrive x, y of.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Object containing absLeft and absTop properties.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getBlocker"><!-- --></A>
+   <H3>getBlocker</H3>
+   <PRE>HTMLElement <B>getBlocker</B>()</PRE>
+   
+      <UL>Returns the blocker DOM element, this is a invisible iframe.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        DOM HTML element.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getElement"><!-- --></A>
+   <H3>getElement</H3>
+   <PRE>HTMLElement <B>getElement</B>()</PRE>
+   
+      <UL>Returns the DOM element that the layer is binded to.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        DOM HTML element.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="hide"><!-- --></A>
+   <H3>hide</H3>
+   <PRE>void <B>hide</B>()</PRE>
+   
+      <UL>Hides the layer.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="isVisible"><!-- --></A>
+   <H3>isVisible</H3>
+   <PRE>boolean <B>isVisible</B>()</PRE>
+   
+      <UL>Returns true/false if the layer is visible or not.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if it's visible or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveBy"><!-- --></A>
+   <H3>moveBy</H3>
+   <PRE>void <B>moveBy</B>(&lt;int&gt; x, &lt;int&gt; y)</PRE>
+   
+      <UL>Moves the layer relative in pixels.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>x</CODE> -  Horizontal relative position in pixels.  
+      </UL> 
+   
+     <UL><CODE>y</CODE> -  Vertical relative position in pixels. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveRelativeTo"><!-- --></A>
+   <H3>moveRelativeTo</H3>
+   <PRE>void <B>moveRelativeTo</B>(&lt;HTMLElement&gt; re, &lt;string&gt; p)</PRE>
+   
+      <UL>Moves the layer relative to the specified HTML element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>re</CODE> -  Element to move the layer relative to.  
+      </UL> 
+   
+     <UL><CODE>p</CODE> -  Position of the layer tl = top left, tr = top right, bl = bottom left, br = bottom right. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveTo"><!-- --></A>
+   <H3>moveTo</H3>
+   <PRE>void <B>moveTo</B>(&lt;int&gt; x, &lt;int&gt; y)</PRE>
+   
+      <UL>Moves the layer absolute in pixels.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>x</CODE> -  Horizontal absolute position in pixels.  
+      </UL> 
+   
+     <UL><CODE>y</CODE> -  Vertical absolute position in pixels. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="parseInt"><!-- --></A>
+   <H3>parseInt</H3>
+   <PRE>int <B>parseInt</B>(&lt;string&gt; s)</PRE>
+   
+      <UL>Parses a int value this method will return 0 if the string is empty.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  String to parse value of.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Parsed number.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="resizeBy"><!-- --></A>
+   <H3>resizeBy</H3>
+   <PRE>void <B>resizeBy</B>(&lt;int&gt; w, &lt;int&gt; h)</PRE>
+   
+      <UL>Resizes the layer by the specified relative width and height.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>w</CODE> -  Relative width value.  
+      </UL> 
+   
+     <UL><CODE>h</CODE> -  Relative height value. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="resizeTo"><!-- --></A>
+   <H3>resizeTo</H3>
+   <PRE>void <B>resizeTo</B>(&lt;int&gt; w, &lt;int&gt; h)</PRE>
+   
+      <UL>Resizes the layer to the specified width and height.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>w</CODE> -  Width value.  
+      </UL> 
+   
+     <UL><CODE>h</CODE> -  Height value. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setBlockMode"><!-- --></A>
+   <H3>setBlockMode</H3>
+   <PRE>void <B>setBlockMode</B>(&lt;boolean&gt; s)</PRE>
+   
+      <UL>Sets the block mode. If you set this property to true a control box blocker iframe
+ will be added to the document since MSIE has a issue where select boxes are visible
+ through layers.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>s</CODE> -  Block mode state, true is the default value. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="show"><!-- --></A>
+   <H3>show</H3>
+   <PRE>void <B>show</B>()</PRE>
+   
+      <UL>Shows the layer.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="updateBlocker"><!-- --></A>
+   <H3>updateBlocker</H3>
+   <PRE>void <B>updateBlocker</B>()</PRE>
+   
+      <UL>Updates the select/iframe/flash blocker this will also block the caret in Firefox.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Layer.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Engine.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Popup.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Layer.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Popup.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Popup.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Popup.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Popup.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,789 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TinyMCE_Popup
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TinyMCE_Popup";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Popup.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Layer.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Selection.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Popup.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TinyMCE_Popup</H2>
+<PRE>Object
+   |
+   +--<b>TinyMCE_Popup</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TinyMCE_Popup</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TinyMCE_Popup.class.js.html'>TinyMCE_Popup.class.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TinyMCE_Popup.html#TinyMCE_Popup()">TinyMCE_Popup</A> 
+	 </B>
+	 ()
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Constructor for the popup class.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#close">close</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Closes the current window.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#execCommand">execCommand</A></B>(&lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;mixed&gt; value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes the specific command on the parent instance that opened the window.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#executeOnLoad">executeOnLoad</A></B>(&lt;string&gt; str)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes the specified string onload.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWindowArg">getWindowArg</A></B>(&lt;string&gt; name, &lt;string&gt; default_value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a window argument, window arguments can be passed from a plugin to a window
+ by using the tinyMCE.openWindow function.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#importClass">importClass</A></B>(&lt;string&gt; c)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Imports the specified class into the current popup.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initializes the TinyMCE Popup class.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#onLoad">onLoad</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Gets executed when the window has finished loading it's contents.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#openBrowser">openBrowser</A></B>(&lt;string&gt; element_id, &lt;string&gt; type, &lt;string&gt; option)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Opens a filebrowser/imagebrowser this will set the output value from
+ the browser as a value on the specified element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#pickColor">pickColor</A></B>(&lt;DOMEvent&gt; e, &lt;string&gt; element_id)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Executes a color picker on the specified element id.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#resizeToContent">resizeToContent</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Resizes the current window to the dimensions of the body.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#resizeToInnerSize">resizeToInnerSize</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Resizes the current window to it's inner body size.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#restoreSelection">restoreSelection</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Restores the selection back to the one stored after executing a command.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TinyMCE_Popup()"><!-- --></A><H3>
+TinyMCE_Popup</H3>
+<PRE><B>TinyMCE_Popup</B>()</PRE>
+
+
+<UL>
+   Constructor for the popup class. This class contains base logic for popup/dialogs and sets up
+ object references to the TinyMCE core.
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="close"><!-- --></A>
+   <H3>close</H3>
+   <PRE>void <B>close</B>()</PRE>
+   
+      <UL>Closes the current window. This should be used instead of window.close. Since this will
+ also handle inlinepopups closing.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="execCommand"><!-- --></A>
+   <H3>execCommand</H3>
+   <PRE>void <B>execCommand</B>(&lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;mixed&gt; value)</PRE>
+   
+      <UL>Executes the specific command on the parent instance that opened the window. This method
+ will also take care of the storage and restorage of the current selection in MSIE when
+ using inlinepopups. So we suggest using this method instead of tinyMCE.execCommand when using
+ popup windows.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>command</CODE> -  Command name to execute, for example mceLink or Bold.  
+      </UL> 
+   
+     <UL><CODE>user_interface</CODE> -  True/false state if a UI (dialog) should be presented or not.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  Optional command value, this can be anything.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="executeOnLoad"><!-- --></A>
+   <H3>executeOnLoad</H3>
+   <PRE>void <B>executeOnLoad</B>(&lt;string&gt; str)</PRE>
+   
+      <UL>Executes the specified string onload. This is a workaround for Opera since it
+ doesn't execute the events in the same order than MSIE and Firefox.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>str</CODE> -  String to evaluate on load.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWindowArg"><!-- --></A>
+   <H3>getWindowArg</H3>
+   <PRE>Object <B>getWindowArg</B>(&lt;string&gt; name, &lt;string&gt; default_value)</PRE>
+   
+      <UL>Returns a window argument, window arguments can be passed from a plugin to a window
+ by using the tinyMCE.openWindow function.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>name</CODE> -  Argument name to retrive.  
+      </UL> 
+   
+     <UL><CODE>default_value</CODE> -  Optional default value to assign if the argument wasn't set.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Argument value object.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="importClass"><!-- --></A>
+   <H3>importClass</H3>
+   <PRE>void <B>importClass</B>(&lt;string&gt; c)</PRE>
+   
+      <UL>Imports the specified class into the current popup. This will setup a local class definition
+ by importing from the parent window.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>c</CODE> -  Class name to import to current page.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>()</PRE>
+   
+      <UL>Initializes the TinyMCE Popup class. This will setup the TinyMCE core references and other popup/dialog related functions.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="onLoad"><!-- --></A>
+   <H3>onLoad</H3>
+   <PRE>void <B>onLoad</B>()</PRE>
+   
+      <UL>Gets executed when the window has finished loading it's contents. This function will then
+ replace language variables with their real values.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="openBrowser"><!-- --></A>
+   <H3>openBrowser</H3>
+   <PRE>void <B>openBrowser</B>(&lt;string&gt; element_id, &lt;string&gt; type, &lt;string&gt; option)</PRE>
+   
+      <UL>Opens a filebrowser/imagebrowser this will set the output value from
+ the browser as a value on the specified element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>element_id</CODE> -  Id of the element to set value in.  
+      </UL> 
+   
+     <UL><CODE>type</CODE> -  Type of browser to open image/file/flash.  
+      </UL> 
+   
+     <UL><CODE>option</CODE> -  Option name to get the file_broswer_callback function name from.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="pickColor"><!-- --></A>
+   <H3>pickColor</H3>
+   <PRE>void <B>pickColor</B>(&lt;DOMEvent&gt; e, &lt;string&gt; element_id)</PRE>
+   
+      <UL>Executes a color picker on the specified element id. When the user
+ then selects a color it will be set as the value of the specified element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  DOM event object.  
+      </UL> 
+   
+     <UL><CODE>element_id</CODE> -  Element id to be filled with the color value from the picker.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="resizeToContent"><!-- --></A>
+   <H3>resizeToContent</H3>
+   <PRE>void <B>resizeToContent</B>()</PRE>
+   
+      <UL>Resizes the current window to the dimensions of the body.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="resizeToInnerSize"><!-- --></A>
+   <H3>resizeToInnerSize</H3>
+   <PRE>void <B>resizeToInnerSize</B>()</PRE>
+   
+      <UL>Resizes the current window to it's inner body size. This function
+ was needed since MSIE makes the visible dialog area diffrent depending
+ on what Theme/Skin you use.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="restoreSelection"><!-- --></A>
+   <H3>restoreSelection</H3>
+   <PRE>void <B>restoreSelection</B>()</PRE>
+   
+      <UL>Restores the selection back to the one stored after executing a command.
+ This function was needed in MSIE when using inlinepopups, the selection
+ would otherwice get lost if the user focused another field.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Popup.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Layer.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_Selection.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Popup.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Selection.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Selection.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Selection.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_Selection.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,732 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TinyMCE_Selection
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TinyMCE_Selection";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Selection.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Popup.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_UndoRedo.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Selection.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TinyMCE_Selection</H2>
+<PRE>Object
+   |
+   +--<b>TinyMCE_Selection</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TinyMCE_Selection</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TinyMCE_Selection.class.js.html'>TinyMCE_Selection.class.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#instance">instance</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TinyMCE_Selection.html#TinyMCE_Selection()">TinyMCE_Selection</A> 
+	 </B>
+	 (&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Constructs a Selection instance and binds it to the specificed TinyMCE editor control.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;TinyMCE_Bookmark</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getBookmark">getBookmark</A></B>(&lt;boolean&gt; simple)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a selection bookmark that can be restored later with moveToBookmark.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;HTMLElement</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFocusElement">getFocusElement</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the currently selected/focused element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;DOMRange</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getRng">getRng</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the browsers selections first range instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;DOMSelection</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getSel">getSel</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the browsers selection instance.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getSelectedHTML">getSelectedHTML</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the selected HTML code.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;string</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getSelectedText">getSelectedText</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the selected text.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveToBookmark">moveToBookmark</A></B>(&lt;TinyMCE_Bookmark&gt; bookmark)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Restores the selection to the specified bookmark.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#scrollToNode">scrollToNode</A></B>(&lt;HTMLNode&gt; node)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Scrolls to the specified node location.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#selectNode">selectNode</A></B>(&lt;HTMLNode&gt; node, &lt;boolean&gt; collapse, &lt;boolean&gt; select_text_node, &lt;boolean&gt; to_start)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Selects the specified node.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="instance"><!-- --></A>
+   <H3>instance</H3>
+   <PRE>Object&nbsp;<B>instance</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TinyMCE_Selection()"><!-- --></A><H3>
+TinyMCE_Selection</H3>
+<PRE><B>TinyMCE_Selection</B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst)</PRE>
+
+
+<UL>
+   Constructs a Selection instance and binds it to the specificed TinyMCE editor control.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>inst</CODE> -  TinyMCE editor control instance.  
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getBookmark"><!-- --></A>
+   <H3>getBookmark</H3>
+   <PRE>TinyMCE_Bookmark <B>getBookmark</B>(&lt;boolean&gt; simple)</PRE>
+   
+      <UL>Returns a selection bookmark that can be restored later with moveToBookmark.
+ This acts much like the one MSIE has built in but this one is persistent if between DOM
+ tree rewritings. The simple mode enables a quicker and non persistent bookmark.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>simple</CODE> -  If this is set to true, the selection bookmark will not me dom persistent.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Selection bookmark that can be restored later with moveToBookmark.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFocusElement"><!-- --></A>
+   <H3>getFocusElement</H3>
+   <PRE>HTMLElement <B>getFocusElement</B>()</PRE>
+   
+      <UL>Returns the currently selected/focused element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Currently selected element.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getRng"><!-- --></A>
+   <H3>getRng</H3>
+   <PRE>DOMRange <B>getRng</B>()</PRE>
+   
+      <UL>Returns the browsers selections first range instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Browsers selections first range instance.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getSel"><!-- --></A>
+   <H3>getSel</H3>
+   <PRE>DOMSelection <B>getSel</B>()</PRE>
+   
+      <UL>Returns the browsers selection instance.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Browser selection instance.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getSelectedHTML"><!-- --></A>
+   <H3>getSelectedHTML</H3>
+   <PRE>string <B>getSelectedHTML</B>()</PRE>
+   
+      <UL>Returns the selected HTML code.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Selected HTML contents.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getSelectedText"><!-- --></A>
+   <H3>getSelectedText</H3>
+   <PRE>string <B>getSelectedText</B>()</PRE>
+   
+      <UL>Returns the selected text.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Selected text contents.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveToBookmark"><!-- --></A>
+   <H3>moveToBookmark</H3>
+   <PRE>boolean <B>moveToBookmark</B>(&lt;TinyMCE_Bookmark&gt; bookmark)</PRE>
+   
+      <UL>Restores the selection to the specified bookmark.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>bookmark</CODE> -  Bookmark to restore selection from.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false if it was successful or not.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="scrollToNode"><!-- --></A>
+   <H3>scrollToNode</H3>
+   <PRE>void <B>scrollToNode</B>(&lt;HTMLNode&gt; node)</PRE>
+   
+      <UL>Scrolls to the specified node location.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>node</CODE> -  Node to scroll to. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="selectNode"><!-- --></A>
+   <H3>selectNode</H3>
+   <PRE>void <B>selectNode</B>(&lt;HTMLNode&gt; node, &lt;boolean&gt; collapse, &lt;boolean&gt; select_text_node, &lt;boolean&gt; to_start)</PRE>
+   
+      <UL>Selects the specified node.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>node</CODE> -  Node object to move selection to.  
+      </UL> 
+   
+     <UL><CODE>collapse</CODE> -  True/false if it will be collasped.  
+      </UL> 
+   
+     <UL><CODE>select_text_node</CODE> -  True/false if the text contents should be selected or not.  
+      </UL> 
+   
+     <UL><CODE>to_start</CODE> -  True/false if the collapse should be to start or end of range. 	   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_Selection.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Popup.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TinyMCE_UndoRedo.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_Selection.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_UndoRedo.html 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_UndoRedo.html
--- 4.5.2.3/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_UndoRedo.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/docs/tinymce_api/TinyMCE_UndoRedo.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,513 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TinyMCE_UndoRedo
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TinyMCE_UndoRedo";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_UndoRedo.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Selection.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<B>NEXT CLASS</B></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_UndoRedo.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TinyMCE_UndoRedo</H2>
+<PRE>Object
+   |
+   +--<b>TinyMCE_UndoRedo</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TinyMCE_UndoRedo</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TinyMCE_UndoRedo.class.js.html'>TinyMCE_UndoRedo.class.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#instance">instance</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#typingUndoIndex">typingUndoIndex</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#undoIndex">undoIndex</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#undoLevels">undoLevels</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#undoRedo">undoRedo</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TinyMCE_UndoRedo.html#TinyMCE_UndoRedo()">TinyMCE_UndoRedo</A> 
+	 </B>
+	 (&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Constructs a undo redo instance, this instance handles the custom undo/redo handeling in TinyMCE.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;boolean</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#add">add</A></B>(&lt;TinyMCE_UndoRedoLevel&gt; l)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a new undo level, this will take a snapshot of the current instance HTML or use the specified level.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#redo">redo</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Performes a undo action, this will restore the HTML contents of the editor to a former undoed state.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#undo">undo</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Performes a undo action, this will restore the HTML contents of the editor to a former state.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="instance"><!-- --></A>
+   <H3>instance</H3>
+   <PRE>Object&nbsp;<B>instance</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="typingUndoIndex"><!-- --></A>
+   <H3>typingUndoIndex</H3>
+   <PRE>Object&nbsp;<B>typingUndoIndex</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="undoIndex"><!-- --></A>
+   <H3>undoIndex</H3>
+   <PRE>Object&nbsp;<B>undoIndex</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="undoLevels"><!-- --></A>
+   <H3>undoLevels</H3>
+   <PRE>Object&nbsp;<B>undoLevels</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="undoRedo"><!-- --></A>
+   <H3>undoRedo</H3>
+   <PRE>Object&nbsp;<B>undoRedo</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TinyMCE_UndoRedo()"><!-- --></A><H3>
+TinyMCE_UndoRedo</H3>
+<PRE><B>TinyMCE_UndoRedo</B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst)</PRE>
+
+
+<UL>
+   Constructs a undo redo instance, this instance handles the custom undo/redo handeling in TinyMCE.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>inst</CODE> -  TinyMCE editor control instance.  
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="add"><!-- --></A>
+   <H3>add</H3>
+   <PRE>boolean <B>add</B>(&lt;TinyMCE_UndoRedoLevel&gt; l)</PRE>
+   
+      <UL>Adds a new undo level, this will take a snapshot of the current instance HTML or use the specified level.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>l</CODE> -  Optional undo/redo level to add.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        true/false on success or failure.   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="redo"><!-- --></A>
+   <H3>redo</H3>
+   <PRE>void <B>redo</B>()</PRE>
+   
+      <UL>Performes a undo action, this will restore the HTML contents of the editor to a former undoed state.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="undo"><!-- --></A>
+   <H3>undo</H3>
+   <PRE>void <B>undo</B>()</PRE>
+   
+      <UL>Performes a undo action, this will restore the HTML contents of the editor to a former state.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TinyMCE_UndoRedo.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B></B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TinyMCE_Selection.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<B>NEXT CLASS</B></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TinyMCE_UndoRedo.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/index.html 4.5.4/mambots/editors/tinymce/jscripts/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/blank.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/blank.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/blank.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/blank.htm	2006-08-01 01:34:25.000000000 -0500
@@ -1,10 +1,9 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
+<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title>blank_page</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 </head>
-<body>
+<body class="mceContentBody">
 
 </body>
 </html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,41 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Bold (Ctrl+B)',
+italic_desc : 'Italic (Ctrl+I)',
+underline_desc : 'Underline (Ctrl+U)',
+striketrough_desc : 'Strikethrough',
+justifyleft_desc : 'Align left',
+justifycenter_desc : 'Align center',
+justifyright_desc : 'Align right',
+justifyfull_desc : 'Align full',
+bullist_desc : 'Unordered list',
+numlist_desc : 'Ordered list',
+outdent_desc : 'Outdent',
+indent_desc : 'Indent',
+undo_desc : 'Undo (Ctrl+Z)',
+redo_desc : 'Redo (Ctrl+Y)',
+link_desc : 'Insert/edit link',
+unlink_desc : 'Unlink',
+image_desc : 'Insert/edit image',
+cleanup_desc : 'Cleanup messy code',
+focus_alert : 'A editor instance must be focused before using this command.',
+edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?',
+insert_link_title : 'Insert/edit link',
+insert : 'Insert',
+update : 'Update',
+cancel : 'Cancel',
+insert_link_url : 'Link URL',
+insert_link_target : 'Target',
+insert_link_target_same : 'Open link in the same window',
+insert_link_target_blank : 'Open link in a new window',
+insert_image_title : 'Insert/edit image',
+insert_image_src : 'Image URL',
+insert_image_alt : 'Image description',
+help_desc : 'Help',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/langs/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/langs/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/langs/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/langs/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/langs/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/langs/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/langs/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/langs/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,7 @@
+Language packs are from version 2.0.5 removed from the core but can be downloadable from the TinyMCE website.
+http://tinymce.moxiecode.com/download.php
+
+The language pack codes are based on ISO-639-1
+http://www.loc.gov/standards/iso639-2/englangn.html
+
+Try using entires if possible. &aring; etc.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/langs/uk.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/langs/uk.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/langs/uk.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/langs/uk.js	1969-12-31 18:00:00.000000000 -0600
@@ -1,38 +0,0 @@
-// UK lang variables
-
-tinyMCELang['lang_bold_desc'] = 'Bold';
-tinyMCELang['lang_italic_desc'] = 'Italic';
-tinyMCELang['lang_underline_desc'] = 'Underline';
-tinyMCELang['lang_striketrough_desc'] = 'Striketrough';
-tinyMCELang['lang_justifyleft_desc'] = 'Align left';
-tinyMCELang['lang_justifycenter_desc'] = 'Align center';
-tinyMCELang['lang_justifyright_desc'] = 'Align right';
-tinyMCELang['lang_justifyfull_desc'] = 'Align full';
-tinyMCELang['lang_bullist_desc'] = 'Unordered list';
-tinyMCELang['lang_numlist_desc'] = 'Ordered list';
-tinyMCELang['lang_outdent_desc'] = 'Outdent';
-tinyMCELang['lang_indent_desc'] = 'Indent';
-tinyMCELang['lang_undo_desc'] = 'Undo';
-tinyMCELang['lang_redo_desc'] = 'Redo';
-tinyMCELang['lang_link_desc'] = 'Insert/edit link';
-tinyMCELang['lang_unlink_desc'] = 'Unlink';
-tinyMCELang['lang_image_desc'] = 'Insert/edit image';
-tinyMCELang['lang_cleanup_desc'] = 'Cleanup messy code';
-tinyMCELang['lang_focus_alert'] = 'A editor instance must be focused before using this command.';
-tinyMCELang['lang_edit_confirm'] = 'Do you want to use the WYSIWYG mode for this textarea?';
-tinyMCELang['lang_insert_link_title'] = 'Insert/edit link';
-tinyMCELang['lang_insert'] = 'Insert';
-tinyMCELang['lang_update'] = 'Update';
-tinyMCELang['lang_cancel'] = 'Cancel';
-tinyMCELang['lang_insert_link_url'] = 'Link URL';
-tinyMCELang['lang_insert_link_target'] = 'Target';
-tinyMCELang['lang_insert_link_target_same'] = 'Open link in the same window';
-tinyMCELang['lang_insert_link_target_blank'] = 'Open link in a new window';
-tinyMCELang['lang_insert_image_title'] = 'Insert/edit image';
-tinyMCELang['lang_insert_image_src'] = 'Image URL';
-tinyMCELang['lang_insert_image_alt'] = 'Image description';
-tinyMCELang['lang_help_desc'] = 'Help';
-tinyMCELang['lang_bold_img'] = "bold.gif";
-tinyMCELang['lang_italic_img'] = "italic.gif";
-tinyMCELang['lang_underline_img'] = "underline.gif";
-tinyMCELang['lang_clipboard_msg'] = 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?';
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/license.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/license.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/license.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/license.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,437 @@
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL.  It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it.  You can use it for
+your libraries, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library.  If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+.
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software.  To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+  Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs.  This
+license, the GNU Library General Public License, applies to certain
+designated libraries.  This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+  The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it.  Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program.  However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+  Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries.  We
+concluded that weaker conditions might promote sharing better.
+
+  However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves.  This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them.  (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.)  The hope is that this
+will lead to faster development of free libraries.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+  Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+.
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License").  Each licensee is
+addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+.
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+.
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+.
+  6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    c) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    d) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+.
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+.
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+.
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,23 @@
+input.radio {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+.panel_wrapper div.current {
+	height: 80px;
+}
+
+#width {
+	width: 50px;
+	vertical-align: middle;
+}
+
+#width2 {
+	width: 50px;
+	vertical-align: middle;
+}
+
+#size {
+	width: 100px;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advhr','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_AdvancedHRPlugin={getInfo:function(){return{longname:'Advanced HR',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advhr.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"advhr":return tinyMCE.getButtonHTML(cn,'lang_insert_advhr_desc','{$pluginurl}/images/advhr.gif','mceAdvancedHr');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_advhr_delta_width',0);template['height']+=tinyMCE.getLang('lang_advhr_delta_height',0);var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):"";}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'});}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'<hr />');}else{tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",size:size,width:width,noshade:noshade,mceDo:'insert'});}}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="HR"){tinyMCE.switchClass(editor_id+'_advhr','mceButtonSelected');return true;}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advhr','mceButtonNormal');return true;}};tinyMCE.addPlugin("advhr",TinyMCE_AdvancedHRPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,92 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.19 $
+ * $Date: 2006/02/10 16:29:37 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advhr', 'en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk');
+
+var TinyMCE_AdvancedHRPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced HR',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advhr.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		}
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "advhr":
+				return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceAdvanceHr command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceAdvancedHr":
+				var template = new Array();
+
+				template['file']   = '../../plugins/advhr/rule.htm'; // Relative to theme
+				template['width']  = 250;
+				template['height'] = 160;
+
+				template['width']  += tinyMCE.getLang('lang_advhr_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0);
+
+				var size = "", width = "", noshade = "";
+				if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr") {
+					tinyMCE.hrElement = tinyMCE.selectedElement;
+
+					if (tinyMCE.hrElement) {
+						size    = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : "";
+						width   = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : "";
+						noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : "";
+					}
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'});
+				} else {
+					if (tinyMCE.isMSIE) {
+						tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'<hr />');
+					} else {
+						tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'});
+					}
+				}
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "HR") {
+				tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonNormal');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("advhr", TinyMCE_AdvancedHRPlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/images/advhr.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/images/advhr.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,41 @@
+function init() {
+	var formObj = document.forms[0];
+	formObj.width.value  = tinyMCE.getWindowArg('width');
+	formObj.size.value   = tinyMCE.getWindowArg('size');
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'),'Insert',true);
+	if (tinyMCE.getWindowArg('noshade')) {
+		formObj.noshade.checked = true;
+	}
+	if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) {
+		formObj.width2.value = "%";
+		formObj.width.value  = formObj.width.value.substring(0,formObj.width.value.length-1);
+	}
+}
+
+function insertHR() {
+	var formObj = document.forms[0];
+	var width   = formObj.width.value;
+	var size    = formObj.size.value;
+	var html = '<hr';
+	if (size!='' && size!=0) {
+		html += ' size="' + size + '"';
+	}
+	if (width!='' && width!=0) {
+		html += ' width="' + width;
+		if (formObj.width2.value=='%') {
+			html += '%';
+		}
+		html += '"';
+	}
+	if (formObj.noshade.checked==true) {
+		html += ' noshade="noshade"';
+	}
+	html += ' />';
+
+	tinyMCEPopup.execCommand("mceInsertContent", true, html);
+	tinyMCEPopup.close();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,8 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Horizontale rule',
+insert_advhr_width : 'Width',
+insert_advhr_size : 'Height',
+insert_advhr_noshade : 'No shadow'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,61 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_advhr_desc}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/rule.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<link href="css/advhr.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');">
+<form onsubmit="insertHR();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_advhr_desc}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<table border="0" cellpadding="4" cellspacing="0">
+                    <tr>
+                        <td><label for="width">{$lang_insert_advhr_width}</label></td>
+                        <td nowrap="nowrap">
+                            <input id="width" name="width" type="text" value="" />
+                            <select name="width2" id="width2">
+                                <option value="">px</option>
+                                <option value="%">%</option>
+                            </select>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td><label for="size">{$lang_insert_advhr_size}</label></td>
+                        <td><select id="size" name="size">
+                            <option value="">Normal</option>
+                            <option value="1">1</option>
+                            <option value="2">2</option>
+                            <option value="3">3</option>
+                            <option value="4">4</option>
+                            <option value="5">5</option>
+                        </select></td>
+                    </tr>
+                    <tr>
+                        <td><label for="noshade">{$lang_insert_advhr_noshade}</label></td>
+                        <td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
+                    </tr>
+            </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertHR();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,66 @@
+/* CSS file for advimage plugin popup */
+
+.mceImageList {
+	width: 280px;
+}
+
+.mceActionPanel {
+	margin-top: 7px;
+}
+
+.alignPreview {
+	border: 1px solid black;
+	width: 140px;
+	height: 140px;
+	overflow: hidden;
+	padding: 5px;
+}
+
+.checkbox {
+	border: 0;
+}
+
+.panel_wrapper div.current {
+	height: 305px;
+}
+
+#prev {
+	margin: 0;
+	border: 1px
+	solid black;
+	width: 99%;
+	height: 150px;
+	overflow: auto;
+}
+
+#align, #classlist {
+	width: 150px;
+}
+
+#width, #height {
+	vertical-align: middle;
+	width: 50px;
+	text-align: center;
+}
+
+#vspace, #hspace, #border {
+	vertical-align: middle;
+	width: 30px;
+	text-align: center;
+}
+
+#classlist {
+	width: 180px;
+}
+
+input {
+	width: 280px;
+}
+
+#constrain, #onmousemovecheck {
+	width: auto;
+}
+
+#id, #dir, #lang, #usemap, #longdesc {
+	width: 200px;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advimage','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da');var TinyMCE_AdvancedImagePlugin={getInfo:function(){return{longname:'Advanced image',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advimage.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"image":return tinyMCE.getButtonHTML(cn,'lang_image_desc','{$themeurl}/images/image.gif','mceAdvImage');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvImage":var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=480;template['height']=380;template['width']+=tinyMCE.getLang('lang_advimage_delta_width',0);template['height']+=tinyMCE.getLang('lang_advimage_delta_height',0);var inst=tinyMCE.getInstanceById(editor_id);var elm=inst.getFocusElement();if(elm!=null&&tinyMCE.getAttrib(elm,'class').indexOf('mceItem')!=-1)return true;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;}return false;},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseover',"this.src='"+src+"';");}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseout',"this.src='"+src+"';");}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseover',"this.src='"+src+"';");}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseout',"this.src='"+src+"';");}}break;}return content;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItem')==-1){tinyMCE.switchClass(editor_id+'_advimage','mceButtonSelected');return true;}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advimage','mceButtonNormal');return true;},_getImageSrc:function(s){var sr,p=-1;if(!s)return"";if((p=s.indexOf('this.src='))!=-1){sr=s.substring(p+10);sr=sr.substring(0,sr.indexOf('\''));return sr;}return"";}};tinyMCE.addPlugin("advimage",TinyMCE_AdvancedImagePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,150 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.30 $
+ * $Date: 2006/02/10 16:29:37 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advimage', 'en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da');
+
+var TinyMCE_AdvancedImagePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced image',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advimage.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "image":
+				return tinyMCE.getButtonHTML(cn, 'lang_image_desc', '{$themeurl}/images/image.gif', 'mceAdvImage');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case "mceAdvImage":
+				var template = new Array();
+
+				template['file']   = '../../plugins/advimage/image.htm';
+				template['width']  = 480;
+				template['height'] = 380;
+
+				// Language specific width and height addons
+				template['width']  += tinyMCE.getLang('lang_advimage_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0);
+
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = inst.getFocusElement();
+
+				if (elm != null && tinyMCE.getAttrib(elm, 'class').indexOf('mceItem') != -1)
+					return true;
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				var imgs = content.getElementsByTagName("img");
+				for (var i=0; i<imgs.length; i++) {
+					var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+					var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+					if ((src = this._getImageSrc(onmouseover)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+						imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+					}
+
+					if ((src = this._getImageSrc(onmouseout)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+						imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+					}
+				}
+				break;
+
+			case "get_from_editor_dom":
+				var imgs = content.getElementsByTagName("img");
+				for (var i=0; i<imgs.length; i++) {
+					var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+					var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+					if ((src = this._getImageSrc(onmouseover)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+					}
+
+					if ((src = this._getImageSrc(onmouseout)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+					}
+				}
+				break;
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {
+				tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonNormal');
+
+		return true;
+	},
+
+	/**
+	 * Returns the image src from a scripted mouse over image str.
+	 *
+	 * @param {string} s String to get real src from.
+	 * @return Image src from a scripted mouse over image str.
+	 * @type string
+	 */
+	_getImageSrc : function(s) {
+		var sr, p = -1;
+
+		if (!s)
+			return "";
+
+		if ((p = s.indexOf('this.src=')) != -1) {
+			sr = s.substring(p + 10);
+			sr = sr.substring(0, sr.indexOf('\''));
+
+			return sr;
+		}
+
+		return "";
+	}
+};
+
+tinyMCE.addPlugin("advimage", TinyMCE_AdvancedImagePlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,240 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_image_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<link href="css/advimage.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advimage" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#"> 
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advimage_tab_general}</a></span></li>
+				<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_advimage_tab_appearance}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advimage_tab_advanced}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+						<legend>{$lang_advimage_general}</legend>
+
+						<table class="properties">
+							<tr>
+								<td class="column1"><label id="srclabel" for="src">{$lang_insert_image_src}</label></td>
+								<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
+									<tr> 
+									  <td><input name="src" type="text" id="src" value="" onchange="showPreviewImage(this.value);" /></td> 
+									  <td id="srcbrowsercontainer">&nbsp;</td>
+									</tr>
+								  </table></td>
+							</tr>
+							<tr id="imagelistsrcrow">
+								<td class="column1"><label for="imagelistsrc">{$lang_image_list}</label></td>
+								<td colspan="2" id="imagelistsrccontainer">&nbsp;</td>
+							</tr>
+							<tr> 
+								<td class="column1"><label id="altlabel" for="alt">{$lang_insert_image_alt}</label></td> 
+								<td colspan="2"><input id="alt" name="alt" type="text" value="" /></td> 
+							</tr> 
+							<tr> 
+								<td class="column1"><label id="titlelabel" for="title">{$lang_advimage_title}</label></td> 
+								<td colspan="2"><input id="title" name="title" type="text" value="" /></td> 
+							</tr>
+						</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_advimage_preview}</legend>
+					<div id="prev"></div>
+				</fieldset>
+			</div>
+
+			<div id="appearance_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advimage_tab_appearance}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr> 
+							<td class="column1"><label id="alignlabel" for="align">{$lang_insert_image_align}</label></td> 
+							<td><select id="align" name="align" onchange="changeAppearance();"> 
+									<option value="">{$lang_insert_image_align_default}</option> 
+									<option value="baseline">{$lang_insert_image_align_baseline}</option> 
+									<option value="top">{$lang_insert_image_align_top}</option> 
+									<option value="middle">{$lang_insert_image_align_middle}</option> 
+									<option value="bottom">{$lang_insert_image_align_bottom}</option> 
+									<option value="texttop">{$lang_insert_image_align_texttop}</option> 
+									<option value="absmiddle">{$lang_insert_image_align_absmiddle}</option> 
+									<option value="absbottom">{$lang_insert_image_align_absbottom}</option> 
+									<option value="left">{$lang_insert_image_align_left}</option> 
+									<option value="right">{$lang_insert_image_align_right}</option> 
+								</select> 
+							</td>
+							<td rowspan="6" valign="top">
+								<div class="alignPreview">
+									<img id="alignSampleImg" src="images/sample.gif" alt="{$lang_advimage_example_img}" />
+									Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam
+									nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum
+									edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam
+									erat volutpat.
+								</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="widthlabel" for="width">{$lang_insert_image_dimensions}</label></td>
+							<td nowrap="nowrap">
+								<input name="width" type="text" id="width" value="" size="5" maxlength="5" onchange="changeHeight();" /> x 
+								<input name="height" type="text" id="height" value="" size="5" maxlength="5" onchange="changeWidth();" /> px
+							</td>
+						</tr>
+
+						<tr>
+							<td>&nbsp;</td>
+							<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
+										<td><label id="constrainlabel" for="constrain">{$lang_advimage_constrain_proportions}</label></td>
+									</tr>
+								</table></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="vspacelabel" for="vspace">{$lang_insert_image_vspace}</label></td> 
+							<td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" onchange="changeAppearance();updateStyle();" />
+							</td>
+						</tr>
+
+						<tr> 
+							<td class="column1"><label id="hspacelabel" for="hspace">{$lang_insert_image_hspace}</label></td> 
+							<td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" onchange="changeAppearance();updateStyle();" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="borderlabel" for="border">{$lang_insert_image_border}</label></td> 
+							<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changeAppearance();updateStyle();" /></td> 
+						</tr>
+
+						<tr>
+							<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+							<td colspan="2">
+								 <select id="classlist" name="classlist">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="stylelabel" for="style">{$lang_advimage_style}</label></td> 
+							<td colspan="2"><input id="style" name="style" type="text" value="" onchange="styleUpdated();" /></td> 
+						</tr>
+
+						<!-- <tr>
+							<td class="column1"><label id="classeslabel" for="classes">{$lang_advimage_classes}</label></td> 
+							<td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td> 
+						</tr> -->
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advimage_swap_image}</legend>
+
+					<input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="changeMouseMove();" />
+					<label id="onmousemovechecklabel" for="onmousemovecheck">{$lang_advimage_alt_image}</label>
+
+					<table border="0" cellpadding="4" cellspacing="0" width="100%">
+							<tr>
+								<td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{$lang_advimage_mouseover}</label></td> 
+								<td><table border="0" cellspacing="0" cellpadding="0"> 
+									<tr> 
+									  <td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td> 
+									  <td id="onmouseoversrccontainer">&nbsp;</td>
+									</tr>
+								  </table></td>
+							</tr>
+							<tr id="imagelistoverrow">
+								<td class="column1"><label for="imagelistover">{$lang_image_list}</label></td>
+								<td id="imagelistovercontainer">&nbsp;</td>
+							</tr>
+							<tr> 
+								<td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{$lang_advimage_mouseout}</label></td> 
+								<td class="column2"><table border="0" cellspacing="0" cellpadding="0"> 
+									<tr> 
+									  <td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td> 
+									  <td id="onmouseoutsrccontainer">&nbsp;</td>
+									</tr> 
+								  </table></td> 
+							</tr>
+							<tr id="imagelistoutrow">
+								<td class="column1"><label for="imagelistout">{$lang_image_list}</label></td>
+								<td id="imagelistoutcontainer">&nbsp;</td>
+							</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_advimage_misc}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label id="idlabel" for="id">{$lang_advimage_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="dirlabel" for="dir">{$lang_advimage_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" onchange="changeAppearance();"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_advimage_ltr}</option> 
+										<option value="rtl">{$lang_advimage_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_advimage_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="usemaplabel" for="usemap">{$lang_advimage_image_map}</label></td> 
+							<td>
+								<input id="usemap" name="usemap" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="longdesclabel" for="longdesc">{$lang_advimage_long_desc}</label></td>
+							<td><table border="0" cellspacing="0" cellpadding="0">
+									<tr>
+									  <td><input id="longdesc" name="longdesc" type="text" value="" /></td>
+									  <td id="longdesccontainer">&nbsp;</td>
+									</tr>
+								</table></td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" />
+			</div>
+		</div>
+    </form>
+</body> 
+</html> 
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/images/sample.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/images/sample.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,545 @@
+/* Functions for the advimage plugin popup */
+
+var preloadImg = null;
+var orgImageWidth, orgImageHeight;
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+
+	// Import external list url javascript
+	var url = tinyMCE.getParam("external_image_list_url");
+	if (url != null) {
+		// Fix relative
+		if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+			url = tinyMCE.documentBasePath + "/" + url;
+
+		document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+	}
+}
+
+function convertURL(url, node, on_save) {
+	return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function getImageSrc(str) {
+	var pos = -1;
+
+	if (!str)
+		return "";
+
+	if ((pos = str.indexOf('this.src=')) != -1) {
+		var src = str.substring(pos + 10);
+
+		src = src.substring(0, src.indexOf('\''));
+
+		if (tinyMCE.getParam('convert_urls'))
+			src = convertURL(src, null, true);
+
+		return src;
+	}
+
+	return "";
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var action = "insert";
+	var html = "";
+
+	// Image list src
+	html = getImageListHTML('imagelistsrc','src','onSelectMainImage');
+	if (html == "")
+		document.getElementById("imagelistsrcrow").style.display = 'none';
+	else
+		document.getElementById("imagelistsrccontainer").innerHTML = html;
+
+	// Image list oversrc
+	html = getImageListHTML('imagelistover','onmouseoversrc');
+	if (html == "")
+		document.getElementById("imagelistoverrow").style.display = 'none';
+	else
+		document.getElementById("imagelistovercontainer").innerHTML = html;
+
+	// Image list outsrc
+	html = getImageListHTML('imagelistout','onmouseoutsrc');
+	if (html == "")
+		document.getElementById("imagelistoutrow").style.display = 'none';
+	else
+		document.getElementById("imagelistoutcontainer").innerHTML = html;
+
+	// Src browser
+	html = getBrowserHTML('srcbrowser','src','image','advimage');
+	document.getElementById("srcbrowsercontainer").innerHTML = html;
+
+	// Over browser
+	html = getBrowserHTML('oversrcbrowser','onmouseoversrc','image','advimage');
+	document.getElementById("onmouseoversrccontainer").innerHTML = html;
+
+	// Out browser
+	html = getBrowserHTML('outsrcbrowser','onmouseoutsrc','image','advimage');
+	document.getElementById("onmouseoutsrccontainer").innerHTML = html;
+
+	// Longdesc browser
+	html = getBrowserHTML('longdescbrowser','longdesc','file','advimage');
+	document.getElementById("longdesccontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('srcbrowser'))
+		document.getElementById('src').style.width = '260px';
+
+	if (isVisible('oversrcbrowser'))
+		document.getElementById('onmouseoversrc').style.width = '260px';
+
+	if (isVisible('outsrcbrowser'))
+		document.getElementById('onmouseoutsrc').style.width = '260px';
+
+	if (isVisible('longdescbrowser'))
+		document.getElementById('longdesc').style.width = '180px';
+
+	// Check action
+	if (elm != null && elm.nodeName == "IMG")
+		action = "update";
+
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	if (action == "update") {
+		var src = tinyMCE.getAttrib(elm, 'src');
+		var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+		var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+
+		src = convertURL(src, elm, true);
+
+		// Use mce_src if found
+		var mceRealSrc = tinyMCE.getAttrib(elm, 'mce_src');
+		if (mceRealSrc != "") {
+			src = mceRealSrc;
+
+			if (tinyMCE.getParam('convert_urls'))
+				src = convertURL(src, elm, true);
+		}
+
+		if (onmouseoversrc != "" && tinyMCE.getParam('convert_urls'))
+			onmouseoversrc = convertURL(onmouseoversrc, elm, true);
+
+		if (onmouseoutsrc != "" && tinyMCE.getParam('convert_urls'))
+			onmouseoutsrc = convertURL(onmouseoutsrc, elm, true);
+
+		// Setup form data
+		var style = tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"));
+
+		// Store away old size
+		orgImageWidth = trimSize(getStyle(elm, 'width'))
+		orgImageHeight = trimSize(getStyle(elm, 'height'));
+
+		formObj.src.value    = src;
+		formObj.alt.value    = tinyMCE.getAttrib(elm, 'alt');
+		formObj.title.value  = tinyMCE.getAttrib(elm, 'title');
+		formObj.border.value = trimSize(getStyle(elm, 'border', 'borderWidth'));
+		formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace');
+		formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace');
+		formObj.width.value  = orgImageWidth;
+		formObj.height.value = orgImageHeight;
+		formObj.onmouseoversrc.value = onmouseoversrc;
+		formObj.onmouseoutsrc.value  = onmouseoutsrc;
+		formObj.id.value  = tinyMCE.getAttrib(elm, 'id');
+		formObj.dir.value  = tinyMCE.getAttrib(elm, 'dir');
+		formObj.lang.value  = tinyMCE.getAttrib(elm, 'lang');
+		formObj.longdesc.value  = tinyMCE.getAttrib(elm, 'longdesc');
+		formObj.usemap.value  = tinyMCE.getAttrib(elm, 'usemap');
+		formObj.style.value  = tinyMCE.serializeStyle(style);
+
+		// Select by the values
+		if (tinyMCE.isMSIE)
+			selectByValue(formObj, 'align', getStyle(elm, 'align', 'styleFloat'));
+		else
+			selectByValue(formObj, 'align', getStyle(elm, 'align', 'cssFloat'));
+
+		addClassesToList('classlist', 'advimage_styles');
+
+		selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'));
+		selectByValue(formObj, 'imagelistsrc', src);
+		selectByValue(formObj, 'imagelistover', onmouseoversrc);
+		selectByValue(formObj, 'imagelistout', onmouseoutsrc);
+
+		updateStyle();
+		showPreviewImage(src, true);
+		changeAppearance();
+
+		window.focus();
+	} else
+		addClassesToList('classlist', 'advimage_styles');
+
+	// If option enabled default contrain proportions to checked
+	if (tinyMCE.getParam("advimage_constrain_proportions", true))
+		formObj.constrain.checked = true;
+
+	// Check swap image if valid data
+	if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "")
+		setSwapImageDisabled(false);
+	else
+		setSwapImageDisabled(true);
+}
+
+function setSwapImageDisabled(state) {
+	var formObj = document.forms[0];
+
+	formObj.onmousemovecheck.checked = !state;
+
+	setBrowserDisabled('overbrowser', state);
+	setBrowserDisabled('outbrowser', state);
+
+	if (formObj.imagelistover)
+		formObj.imagelistover.disabled = state;
+
+	if (formObj.imagelistout)
+		formObj.imagelistout.disabled = state;
+
+	formObj.onmouseoversrc.disabled = state;
+	formObj.onmouseoutsrc.disabled  = state;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		elm.setAttribute(attrib, value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib == "longdesc")
+			attrib = "longDesc";
+
+		if (attrib == "width") {
+			attrib = "style.width";
+			value = value + "px";
+		}
+
+		if (attrib == "height") {
+			attrib = "style.height";
+			value = value + "px";
+		}
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function makeAttrib(attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value == "")
+		return "";
+
+	// XML encode it
+	value = value.replace(/&/g, '&amp;');
+	value = value.replace(/\"/g, '&quot;');
+	value = value.replace(/</g, '&lt;');
+	value = value.replace(/>/g, '&gt;');
+
+	return ' ' + attrib + '="' + value + '"';
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var formObj = document.forms[0];
+	var src = formObj.src.value;
+	var onmouseoversrc = formObj.onmouseoversrc.value;
+	var onmouseoutsrc = formObj.onmouseoutsrc.value;
+
+	if (tinyMCE.getParam("accessibility_warnings")) {
+		if (formObj.alt.value == "") {
+			var answer = confirm(tinyMCE.getLang('lang_advimage_missing_alt', '', true));
+			if (answer == true) {
+				formObj.alt.value = " ";
+			}
+		} else {
+			var answer = true;
+		}
+
+		if (!answer)
+			return;
+	}
+
+	if (onmouseoversrc && onmouseoversrc != "")
+		onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';";
+
+	if (onmouseoutsrc && onmouseoutsrc != "")
+		onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';";
+
+	if (elm != null && elm.nodeName == "IMG") {
+		setAttrib(elm, 'src', convertURL(src, tinyMCE.imgElement));
+		setAttrib(elm, 'mce_src', src);
+		setAttrib(elm, 'alt');
+		setAttrib(elm, 'title');
+		setAttrib(elm, 'border');
+		setAttrib(elm, 'vspace');
+		setAttrib(elm, 'hspace');
+		setAttrib(elm, 'width');
+		setAttrib(elm, 'height');
+		setAttrib(elm, 'onmouseover', onmouseoversrc);
+		setAttrib(elm, 'onmouseout', onmouseoutsrc);
+		setAttrib(elm, 'id');
+		setAttrib(elm, 'dir');
+		setAttrib(elm, 'lang');
+		setAttrib(elm, 'longdesc');
+		setAttrib(elm, 'usemap');
+		setAttrib(elm, 'style');
+		setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+		setAttrib(elm, 'align', getSelectValue(formObj, 'align'));
+
+		//tinyMCEPopup.execCommand("mceRepaint");
+
+		// Repaint if dimensions changed
+		if (formObj.width.value != orgImageWidth || formObj.height.value != orgImageHeight)
+			inst.repaint();
+
+		// Refresh in old MSIE
+		if (tinyMCE.isMSIE5)
+			elm.outerHTML = elm.outerHTML;
+	} else {
+		var html = "<img";
+
+		html += makeAttrib('src', convertURL(src, tinyMCE.imgElement));
+		html += makeAttrib('mce_src', src);
+		html += makeAttrib('alt');
+		html += makeAttrib('title');
+		html += makeAttrib('border');
+		html += makeAttrib('vspace');
+		html += makeAttrib('hspace');
+		html += makeAttrib('width');
+		html += makeAttrib('height');
+		html += makeAttrib('onmouseover', onmouseoversrc);
+		html += makeAttrib('onmouseout', onmouseoutsrc);
+		html += makeAttrib('id');
+		html += makeAttrib('dir');
+		html += makeAttrib('lang');
+		html += makeAttrib('longdesc');
+		html += makeAttrib('usemap');
+		html += makeAttrib('style');
+		html += makeAttrib('class', getSelectValue(formObj, 'classlist'));
+		html += makeAttrib('align', getSelectValue(formObj, 'align'));
+		html += " />";
+
+		tinyMCEPopup.execCommand("mceInsertContent", false, html);
+	}
+
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.close();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
+
+function changeAppearance() {
+	var formObj = document.forms[0];
+	var img = document.getElementById('alignSampleImg');
+
+	if (img) {
+		img.align = formObj.align.value;
+		img.border = formObj.border.value;
+		img.hspace = formObj.hspace.value;
+		img.vspace = formObj.vspace.value;
+	}
+}
+
+function changeMouseMove() {
+	var formObj = document.forms[0];
+
+	setSwapImageDisabled(!formObj.onmousemovecheck.checked);
+}
+
+function updateStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (tinyMCE.getParam('inline_styles', false)) {
+		st['width'] = formObj.width.value == '' ? '' : formObj.width.value + "px";
+		st['height'] = formObj.height.value == '' ? '' : formObj.height.value + "px";
+		st['border-width'] = formObj.border.value == '' ? '' : formObj.border.value + "px";
+		st['margin-top'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+		st['margin-bottom'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+		st['margin-left'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+		st['margin-right'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+	} else {
+		st['width'] = st['height'] = st['border-width'] = null;
+
+		if (st['margin-top'] == st['margin-bottom'])
+			st['margin-top'] = st['margin-bottom'] = null;
+
+		if (st['margin-left'] == st['margin-right'])
+			st['margin-left'] = st['margin-right'] = null;
+	}
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function styleUpdated() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['width'])
+		formObj.width.value = st['width'].replace('px', '');
+
+	if (st['height'])
+		formObj.height.value = st['height'].replace('px', '');
+
+	if (st['margin-top'] && st['margin-top'] == st['margin-bottom'])
+		formObj.vspace.value = st['margin-top'].replace('px', '');
+
+	if (st['margin-left'] && st['margin-left'] == st['margin-right'])
+		formObj.hspace.value = st['margin-left'].replace('px', '');
+
+	if (st['border-width'])
+		formObj.border.value = st['border-width'].replace('px', '');
+}
+
+function changeHeight() {
+	var formObj = document.forms[0];
+
+	if (!formObj.constrain.checked || !preloadImg) {
+		updateStyle();
+		return;
+	}
+
+	if (formObj.width.value == "" || formObj.height.value == "")
+		return;
+
+	var temp = (formObj.width.value / preloadImg.width) * preloadImg.height;
+	formObj.height.value = temp.toFixed(0);
+	updateStyle();
+}
+
+function changeWidth() {
+	var formObj = document.forms[0];
+
+	if (!formObj.constrain.checked || !preloadImg) {
+		updateStyle();
+		return;
+	}
+
+	if (formObj.width.value == "" || formObj.height.value == "")
+		return;
+
+	var temp = (formObj.height.value / preloadImg.height) * preloadImg.width;
+	formObj.width.value = temp.toFixed(0);
+	updateStyle();
+}
+
+function onSelectMainImage(target_form_element, name, value) {
+	var formObj = document.forms[0];
+
+	formObj.alt.value = name;
+	formObj.title.value = name;
+
+	resetImageData();
+	showPreviewImage(formObj.elements[target_form_element].value, false);
+}
+
+function showPreviewImage(src, start) {
+	var formObj = document.forms[0];
+
+	selectByValue(document.forms[0], 'imagelistsrc', src);
+
+	var elm = document.getElementById('prev');
+	var src = src == "" ? src : tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+	if (!start && tinyMCE.getParam("advimage_update_dimensions_onchange", true))
+		resetImageData();
+
+	if (src == "")
+		elm.innerHTML = "";
+	else
+		elm.innerHTML = '<img src="' + src + '" border="0" />'
+
+	getImageData(src);
+}
+
+function getImageData(src) {
+	preloadImg = new Image();
+
+	tinyMCE.addEvent(preloadImg, "load", updateImageData);
+	tinyMCE.addEvent(preloadImg, "error", resetImageData);
+
+	preloadImg.src = src;
+}
+
+function updateImageData() {
+	var formObj = document.forms[0];
+
+	if (formObj.width.value == "")
+		formObj.width.value = preloadImg.width;
+
+	if (formObj.height.value == "")
+		formObj.height.value = preloadImg.height;
+
+	updateStyle();
+}
+
+function resetImageData() {
+	var formObj = document.forms[0];
+	formObj.width.value = formObj.height.value = "";	
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function getImageListHTML(elm_id, target_form_element, onchange_func) {
+	if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0)
+		return "";
+
+	var html = "";
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '"';
+	html += ' class="mceImageList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;';
+
+	if (typeof(onchange_func) != "undefined")
+		html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+	html += '"><option value="">---</option>';
+
+	for (var i=0; i<tinyMCEImageList.length; i++)
+		html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+	html += '</select>';
+
+	return html;
+
+	// tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+// While loading
+preinit();
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,27 @@
+// UK lang variables
+
+tinyMCE.addToLang('advimage',{
+tab_general : 'General',
+tab_appearance : 'Appearance',
+tab_advanced : 'Advanced',
+general : 'General',
+title : 'Title',
+preview : 'Preview',
+constrain_proportions : 'Constrain proportions',
+langdir : 'Language direction',
+langcode : 'Language code',
+long_desc : 'Long description link',
+style : 'Style',
+classes : 'Classes',
+ltr : 'Left to right',
+rtl : 'Right to left',
+id : 'Id',
+image_map : 'Image map',
+swap_image : 'Swap image',
+alt_image : 'Alternative image',
+mouseover : 'for mouse over',
+mouseout : 'for mouse out',
+misc : 'Miscellaneous',
+example_img : 'Appearance&nbsp;preview&nbsp;image',
+missing_alt : 'Are you sure you want to continue without including an Image Description? Without  it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,35 @@
+/* CSS file for advimage plugin popup */
+
+.mceLinkList, .mceAnchorList, #targetlist {
+	width: 280px;
+}
+
+.mceActionPanel {
+	margin-top: 7px;
+}
+
+.panel_wrapper div.current {
+	height: 320px;
+}
+
+#classlist, #title, #href {
+	width: 280px;
+}
+
+#popupurl, #popupname {
+	width: 200px;
+}
+
+#popupwidth, #popupheight, #popupleft, #popuptop {
+	width: 30px;
+	vertical-align: middle;
+	text-align: center;
+}
+
+#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {
+	width: 200px;
+}
+
+#events_panel input {
+	width: 200px;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advlink','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da');var TinyMCE_AdvancedLinkPlugin={getInfo:function(){return{longname:'Advanced link',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advlink.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){inst.addShortcut('ctrl','k','lang_advlink_desc','mceAdvLink');},getControlHTML:function(cn){switch(cn){case"link":return tinyMCE.getButtonHTML(cn,'lang_link_desc','{$themeurl}/images/link.gif','mceAdvLink');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvLink":var anySelection=false;var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var selectedText=inst.selection.getSelectedText();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(anySelection||(focusElm!=null&&focusElm.nodeName=="A")){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=480;template['height']=400;template['width']+=tinyMCE.getLang('lang_advlink_delta_width',0);template['height']+=tinyMCE.getLang('lang_advlink_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="A"&&tinyMCE.getAttrib(node,'href')!=""){tinyMCE.switchClass(editor_id+'_advlink','mceButtonSelected');return true;}}while((node=node.parentNode));if(any_selection){tinyMCE.switchClass(editor_id+'_advlink','mceButtonNormal');return true;}tinyMCE.switchClass(editor_id+'_advlink','mceButtonDisabled');return true;}};tinyMCE.addPlugin("advlink",TinyMCE_AdvancedLinkPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,90 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.24 $
+ * $Date: 2006/02/10 16:29:38 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advlink', 'en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da');
+
+var TinyMCE_AdvancedLinkPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced link',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advlink.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink');
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "link":
+				return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case "mceAdvLink":
+				var anySelection = false;
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var focusElm = inst.getFocusElement();
+				var selectedText = inst.selection.getSelectedText();
+
+				if (tinyMCE.selectedElement)
+					anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
+
+				if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {
+					var template = new Array();
+
+					template['file']   = '../../plugins/advlink/link.htm';
+					template['width']  = 480;
+					template['height'] = 400;
+
+					// Language specific width and height addons
+					template['width']  += tinyMCE.getLang('lang_advlink_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_advlink_delta_height', 0);
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") {
+				tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		if (any_selection) {
+			tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal');
+			return true;
+		}
+
+		tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,568 @@
+/* Functions for the advlink plugin popup */
+
+var templates = {
+	"window.open" : "window.open('${url}','${target}','${options}')"
+};
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+
+	// Import external list url javascript
+	var url = tinyMCE.getParam("external_link_list_url");
+	if (url != null) {
+		// Fix relative
+		if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+			url = tinyMCE.documentBasePath + "/" + url;
+
+		document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+	}
+}
+
+function changeClass() {
+	var formObj = document.forms[0];
+	formObj.classes.value = getSelectValue(formObj, 'classlist');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var action = "insert";
+	var html;
+
+	document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink');
+	document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink');
+	document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href');
+	document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href');
+	document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target');
+
+	// Link list
+	html = getLinkListHTML('linklisthref','href');
+	if (html == "")
+		document.getElementById("linklisthrefrow").style.display = 'none';
+	else
+		document.getElementById("linklisthrefcontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('hrefbrowser'))
+		document.getElementById('href').style.width = '260px';
+
+	if (isVisible('popupurlbrowser'))
+		document.getElementById('popupurl').style.width = '180px';
+
+	elm = tinyMCE.getParentElement(elm, "a");
+	if (elm != null && elm.nodeName == "A")
+		action = "update";
+
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	setPopupControlsDisabled(true);
+
+	if (action == "update") {
+		var href = tinyMCE.getAttrib(elm, 'href');
+
+		href = convertURL(href, elm, true);
+
+		// Use mce_href if found
+		var mceRealHref = tinyMCE.getAttrib(elm, 'mce_href');
+		if (mceRealHref != "") {
+			href = mceRealHref;
+
+			if (tinyMCE.getParam('convert_urls'))
+				href = convertURL(href, elm, true);
+		}
+
+		var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
+
+		// Setup form data
+		setFormValue('href', href);
+		setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+		setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+		setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
+		setFormValue('rel', tinyMCE.getAttrib(elm, 'rel'));
+		setFormValue('rev', tinyMCE.getAttrib(elm, 'rev'));
+		setFormValue('charset', tinyMCE.getAttrib(elm, 'charset'));
+		setFormValue('hreflang', tinyMCE.getAttrib(elm, 'hreflang'));
+		setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
+		setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+		setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
+		setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
+		setFormValue('type', tinyMCE.getAttrib(elm, 'type'));
+		setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
+		setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
+		setFormValue('onclick', onclick);
+		setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
+		setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
+		setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
+		setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+		setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
+		setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+		setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
+		setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
+		setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
+		setFormValue('target', tinyMCE.getAttrib(elm, 'target'));
+		setFormValue('classes', tinyMCE.getAttrib(elm, 'class'));
+
+		// Parse onclick data
+		if (onclick != null && onclick.indexOf('window.open') != -1)
+			parseWindowOpen(onclick);
+		else
+			parseFunction(onclick);
+
+		// Select by the values
+		selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
+		selectByValue(formObj, 'rel', tinyMCE.getAttrib(elm, 'rel'));
+		selectByValue(formObj, 'rev', tinyMCE.getAttrib(elm, 'rev'));
+		selectByValue(formObj, 'linklisthref', href);
+
+		if (href.charAt(0) == '#')
+			selectByValue(formObj, 'anchorlist', href);
+
+		addClassesToList('classlist', 'advlink_styles');
+
+		selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'), true);
+		selectByValue(formObj, 'targetlist', tinyMCE.getAttrib(elm, 'target'), true);
+	} else
+		addClassesToList('classlist', 'advlink_styles');
+
+	window.focus();
+}
+
+function setFormValue(name, value) {
+	document.forms[0].elements[name].value = value;
+}
+
+function convertURL(url, node, on_save) {
+	return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function parseWindowOpen(onclick) {
+	var formObj = document.forms[0];
+
+	// Preprocess center code
+	if (onclick.indexOf('return false;') != -1) {
+		formObj.popupreturn.checked = true;
+		onclick = onclick.replace('return false;', '');
+	} else
+		formObj.popupreturn.checked = false;
+
+	var onClickData = parseLink(onclick);
+
+	if (onClickData != null) {
+		formObj.ispopup.checked = true;
+		setPopupControlsDisabled(false);
+
+		var onClickWindowOptions = parseOptions(onClickData['options']);
+		var url = onClickData['url'];
+
+		if (tinyMCE.getParam('convert_urls'))
+			url = convertURL(url, null, true);
+
+		formObj.popupname.value = onClickData['target'];
+		formObj.popupurl.value = url;
+		formObj.popupwidth.value = getOption(onClickWindowOptions, 'width');
+		formObj.popupheight.value = getOption(onClickWindowOptions, 'height');
+
+		formObj.popupleft.value = getOption(onClickWindowOptions, 'left');
+		formObj.popuptop.value = getOption(onClickWindowOptions, 'top');
+
+		if (formObj.popupleft.value.indexOf('screen') != -1)
+			formObj.popupleft.value = "c";
+
+		if (formObj.popuptop.value.indexOf('screen') != -1)
+			formObj.popuptop.value = "c";
+
+		formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes";
+		formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes";
+		formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes";
+		formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes";
+		formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes";
+		formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes";
+		formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes";
+
+		buildOnClick();
+	}
+}
+
+function parseFunction(onclick) {
+	var formObj = document.forms[0];
+	var onClickData = parseLink(onclick);
+
+	// TODO: Add stuff here
+}
+
+function getOption(opts, name) {
+	return typeof(opts[name]) == "undefined" ? "" : opts[name];
+}
+
+function setPopupControlsDisabled(state) {
+	var formObj = document.forms[0];
+
+	formObj.popupname.disabled = state;
+	formObj.popupurl.disabled = state;
+	formObj.popupwidth.disabled = state;
+	formObj.popupheight.disabled = state;
+	formObj.popupleft.disabled = state;
+	formObj.popuptop.disabled = state;
+	formObj.popuplocation.disabled = state;
+	formObj.popupscrollbars.disabled = state;
+	formObj.popupmenubar.disabled = state;
+	formObj.popupresizable.disabled = state;
+	formObj.popuptoolbar.disabled = state;
+	formObj.popupstatus.disabled = state;
+	formObj.popupreturn.disabled = state;
+	formObj.popupdependent.disabled = state;
+
+	setBrowserDisabled('popupurlbrowser', state);
+}
+
+function parseLink(link) {
+	link = link.replace(new RegExp('&#39;', 'g'), "'");
+
+	var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1");
+
+	// Is function name a template function
+	var template = templates[fnName];
+	if (template) {
+		// Build regexp
+		var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi"));
+		var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\(";
+		var replaceStr = "";
+		for (var i=0; i<variableNames.length; i++) {
+			// Is string value
+			if (variableNames[i].indexOf("'${") != -1)
+				regExp += "'(.*)'";
+			else // Number value
+				regExp += "([0-9]*)";
+
+			replaceStr += "$" + (i+1);
+
+			// Cleanup variable name
+			variableNames[i] = variableNames[i].replace(new RegExp("[^A-Za-z0-9]", "gi"), "");
+
+			if (i != variableNames.length-1) {
+				regExp += "\\s*,\\s*";
+				replaceStr += "<delim>";
+			} else
+				regExp += ".*";
+		}
+
+		regExp += "\\);?";
+
+		// Build variable array
+		var variables = new Array();
+		variables["_function"] = fnName;
+		var variableValues = link.replace(new RegExp(regExp, "gi"), replaceStr).split('<delim>');
+		for (var i=0; i<variableNames.length; i++)
+			variables[variableNames[i]] = variableValues[i];
+
+		return variables;
+	}
+
+	return null;
+}
+
+function parseOptions(opts) {
+	if (opts == null || opts == "")
+		return new Array();
+
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	return options;
+}
+
+function buildOnClick() {
+	var formObj = document.forms[0];
+
+	if (!formObj.ispopup.checked) {
+		formObj.onclick.value = "";
+		return;
+	}
+
+	var onclick = "window.open('";
+	var url = formObj.popupurl.value;
+
+	if (tinyMCE.getParam('convert_urls'))
+		url = convertURL(url, null, true);
+
+	onclick += url + "','";
+	onclick += formObj.popupname.value + "','";
+
+	if (formObj.popuplocation.checked)
+		onclick += "location=yes,";
+
+	if (formObj.popupscrollbars.checked)
+		onclick += "scrollbars=yes,";
+
+	if (formObj.popupmenubar.checked)
+		onclick += "menubar=yes,";
+
+	if (formObj.popupresizable.checked)
+		onclick += "resizable=yes,";
+
+	if (formObj.popuptoolbar.checked)
+		onclick += "toolbar=yes,";
+
+	if (formObj.popupstatus.checked)
+		onclick += "status=yes,";
+
+	if (formObj.popupdependent.checked)
+		onclick += "dependent=yes,";
+
+	if (formObj.popupwidth.value != "")
+		onclick += "width=" + formObj.popupwidth.value + ",";
+
+	if (formObj.popupheight.value != "")
+		onclick += "height=" + formObj.popupheight.value + ",";
+
+	if (formObj.popupleft.value != "") {
+		if (formObj.popupleft.value != "c")
+			onclick += "left=" + formObj.popupleft.value + ",";
+		else
+			onclick += "left='+(screen.availWidth/2-" + (formObj.popupwidth.value/2) + ")+',";
+	}
+
+	if (formObj.popuptop.value != "") {
+		if (formObj.popuptop.value != "c")
+			onclick += "top=" + formObj.popuptop.value + ",";
+		else
+			onclick += "top='+(screen.availHeight/2-" + (formObj.popupheight.value/2) + ")+',";
+	}
+
+	if (onclick.charAt(onclick.length-1) == ',')
+		onclick = onclick.substring(0, onclick.length-1);
+
+	onclick += "');";
+
+	if (formObj.popupreturn.checked)
+		onclick += "return false;";
+
+	// tinyMCE.debug(onclick);
+
+	formObj.onclick.value = onclick;
+
+	if (formObj.href.value == "")
+		formObj.href.value = url;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		elm.setAttribute(attrib.toLowerCase(), value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function getAnchorListHTML(id, target) {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var nodes = inst.getBody().getElementsByTagName("a");
+
+	var html = "";
+
+	html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
+	html += 'this.options[this.selectedIndex].value;">';
+	html += '<option value="">---</option>';
+
+	for (var i=0; i<nodes.length; i++) {
+		if ((name = tinyMCE.getAttrib(nodes[i], "name")) != "")
+			html += '<option value="#' + name + '">' + name + '</option>';
+	}
+
+	html += '</select>';
+
+	return html;
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	elm = tinyMCE.getParentElement(elm, "a");
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+	// Create new anchor elements
+	if (elm == null) {
+		if (tinyMCE.isSafari)
+			tinyMCEPopup.execCommand("mceInsertContent", false, '<a href="#mce_temp_url#">' + inst.selection.getSelectedHTML() + '</a>');
+		else
+			tinyMCEPopup.execCommand("createlink", false, "#mce_temp_url#");
+
+		var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", "#mce_temp_url#");
+		for (var i=0; i<elementArray.length; i++) {
+			var elm = elementArray[i];
+
+			// Move cursor behind the new anchor
+			if (tinyMCE.isGecko) {
+				var sp = inst.getDoc().createTextNode(" ");
+
+				if (elm.nextSibling)
+					elm.parentNode.insertBefore(sp, elm.nextSibling);
+				else
+					elm.parentNode.appendChild(sp);
+
+				// Set range after link
+				var rng = inst.getDoc().createRange();
+				rng.setStartAfter(elm);
+				rng.setEndAfter(elm);
+
+				// Update selection
+				var sel = inst.getSel();
+				sel.removeAllRanges();
+				sel.addRange(rng);
+			}
+
+			setAllAttribs(elm);
+		}
+	} else
+		setAllAttribs(elm);
+
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+	tinyMCEPopup.close();
+}
+
+function setAllAttribs(elm) {
+	var formObj = document.forms[0];
+	var href = formObj.href.value;
+	var target = getSelectValue(formObj, 'targetlist');
+
+	// Make anchors absolute
+	if (href.charAt(0) == '#' && tinyMCE.getParam('convert_urls'))
+		href = tinyMCE.settings['document_base_url'] + href;
+
+	setAttrib(elm, 'href', convertURL(href, elm));
+	setAttrib(elm, 'mce_href', href);
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'target', target == '_self' ? '' : target);
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+	setAttrib(elm, 'rel');
+	setAttrib(elm, 'rev');
+	setAttrib(elm, 'charset');
+	setAttrib(elm, 'hreflang');
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	setAttrib(elm, 'tabindex');
+	setAttrib(elm, 'accesskey');
+	setAttrib(elm, 'type');
+	setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');
+
+	// Refresh in old MSIE
+	if (tinyMCE.isMSIE5)
+		elm.outerHTML = elm.outerHTML;
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function getLinkListHTML(elm_id, target_form_element, onchange_func) {
+	if (typeof(tinyMCELinkList) == "undefined" || tinyMCELinkList.length == 0)
+		return "";
+
+	var html = "";
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '"';
+	html += ' class="mceLinkList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;';
+
+	if (typeof(onchange_func) != "undefined")
+		html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+	html += '"><option value="">---</option>';
+
+	for (var i=0; i<tinyMCELinkList.length; i++)
+		html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+	html += '</select>';
+
+	return html;
+
+	// tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+function getTargetListHTML(elm_id, target_form_element) {
+	var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+	var html = '';
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;">';
+
+	html += '<option value="_self">' + tinyMCE.getLang('lang_advlink_target_same') + '</option>';
+	html += '<option value="_blank">' + tinyMCE.getLang('lang_advlink_target_blank') + ' (_blank)</option>';
+	html += '<option value="_parent">' + tinyMCE.getLang('lang_advlink_target_parent') + ' (_parent)</option>';
+	html += '<option value="_top">' + tinyMCE.getLang('lang_advlink_target_top') + ' (_top)</option>';
+
+	for (var i=0; i<targets.length; i++) {
+		var key, value;
+
+		if (targets[i] == "")
+			continue;
+
+		key = targets[i].split('=')[0];
+		value = targets[i].split('=')[1];
+
+		html += '<option value="' + key + '">' + value + ' (' + key + ')</option>';
+	}
+
+	html += '</select>';
+
+	return html;
+}
+
+// While loading
+preinit();
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,46 @@
+// UK lang variables
+
+tinyMCE.addToLang('advlink',{
+general_tab : 'General',
+popup_tab : 'Popup',
+events_tab : 'Events',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+popup_props : 'Popup properties',
+event_props : 'Events',
+advanced_props : 'Advanced properties',
+popup_opts : 'Options',
+anchor_names : 'Anchors',
+target_same : 'Open in this window / frame',
+target_parent : 'Open in parent window / frame',
+target_top : 'Open in top frame (replaces all frames)',
+target_blank : 'Open in new window',
+popup : 'Javascript popup',
+popup_url : 'Popup URL',
+popup_name : 'Window name',
+popup_return : 'Insert \'return false\'',
+popup_scrollbars : 'Show scrollbars',
+popup_statusbar : 'Show status bar',
+popup_toolbar : 'Show toolbars',
+popup_menubar : 'Show menu bar',
+popup_location : 'Show location bar',
+popup_resizable : 'Make window resizable',
+popup_dependent : 'Dependent (Mozilla/Firefox only)',
+popup_size : 'Size',
+popup_position : 'Position (X/Y)',
+id : 'Id',
+style: 'Style',
+classes : 'Classes',
+target_name : 'Target name',
+langdir : 'Language direction',
+target_langcode : 'Target language',
+langcode : 'Language code',
+encoding : 'Target character encoding',
+mime : 'Target MIME type',
+rel : 'Relationship page to target',
+rev : 'Relationship target to page',
+tabindex : 'Tabindex',
+accesskey : 'Accesskey',
+ltr : 'Left to right',
+rtl : 'Right to left'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,334 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_link_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<link href="css/advlink.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advlink_general_tab}</a></span></li>
+				<li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{$lang_advlink_popup_tab}</a></span></li>
+				<li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_advlink_events_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advlink_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_advlink_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+						  <td nowrap="nowrap"><label id="hreflabel" for="href">{$lang_insert_link_url}</label></td>
+						  <td><table border="0" cellspacing="0" cellpadding="0">
+								<tr>
+								  <td><input id="href" name="href" type="text" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
+								  <td id="hrefbrowsercontainer">&nbsp;</td>
+								</tr>
+							  </table></td>
+						</tr>
+						<tr id="linklisthrefrow">
+							<td class="column1"><label for="linklisthref">{$lang_link_list}</label></td>
+							<td colspan="2" id="linklisthrefcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="anchorlist">{$lang_advlink_anchor_names}</label></td>
+							<td colspan="2" id="anchorlistcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td><label id="targetlistlabel" for="targetlist">{$lang_insert_link_target}</label></td>
+							<td id="targetlistcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label id="titlelabel" for="title">{$lang_theme_insert_link_titlefield}</label></td>
+							<td><input id="title" name="title" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+							<td>
+								 <select id="classlist" name="classlist" onchange="changeClass();">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="popup_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advlink_popup_props}</legend>
+
+					<input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
+					<label id="ispopuplabel" for="ispopup">{$lang_advlink_popup}</label>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td nowrap="nowrap"><label for="popupurl">{$lang_advlink_popup_url}</label>&nbsp;</td>
+							<td>
+								<table border="0" cellspacing="0" cellpadding="0">
+									<tr>
+										<td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td>
+										<td id="popupurlbrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="popupname">{$lang_advlink_popup_name}</label>&nbsp;</td>
+							<td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label>{$lang_advlink_popup_size}</label>&nbsp;</td>
+							<td nowrap="nowrap">
+								<input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
+								<input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap" id="labelleft"><label>{$lang_advlink_popup_position}</label>&nbsp;</td>
+							<td nowrap="nowrap">
+								<input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /                                
+								<input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
+							</td>
+						</tr>
+					</table>
+
+					<fieldset>
+						<legend>{$lang_advlink_popup_opts}</legend>
+
+						<table border="0" cellpadding="0" cellspacing="4">
+							<tr>
+								<td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{$lang_advlink_popup_location}</label></td>
+								<td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{$lang_advlink_popup_scrollbars}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{$lang_advlink_popup_menubar}</label></td>
+								<td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{$lang_advlink_popup_resizable}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{$lang_advlink_popup_toolbar}</label></td>
+								<td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{$lang_advlink_popup_dependent}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{$lang_advlink_popup_statusbar}</label></td>
+								<td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
+								<td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{$lang_advlink_popup_return}</label></td>
+							</tr>
+						</table>
+					</fieldset>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_advlink_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label id="idlabel" for="id">{$lang_advlink_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td><label id="stylelabel" for="style">{$lang_advlink_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="classeslabel" for="classes">{$lang_advlink_classes}</label></td>
+							<td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="targetlabel" for="target">{$lang_advlink_target_name}</label></td>
+							<td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="dirlabel" for="dir">{$lang_advlink_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_advlink_ltr}</option> 
+										<option value="rtl">{$lang_advlink_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td><label id="hreflanglabel" for="hreflang">{$lang_advlink_target_langcode}</label></td>
+							<td><input type="text" id="hreflang" name="hreflang" value="" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_advlink_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td><label id="charsetlabel" for="charset">{$lang_advlink_encoding}</label></td>
+							<td><input type="text" id="charset" name="charset" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="typelabel" for="type">{$lang_advlink_mime}</label></td>
+							<td><input type="text" id="type" name="type" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="rellabel" for="rel">{$lang_advlink_rel}</label></td>
+							<td><select id="rel" name="rel"> 
+									<option value="">{$lang_not_set}</option> 
+									<option value="alternate">Alternate</option> 
+									<option value="designates">Designates</option> 
+									<option value="stylesheet">Stylesheet</option> 
+									<option value="start">Start</option> 
+									<option value="next">Next</option> 
+									<option value="prev">Prev</option> 
+									<option value="contents">Contents</option> 
+									<option value="index">Index</option> 
+									<option value="glossary">Glossary</option> 
+									<option value="copyright">Copyright</option> 
+									<option value="chapter">Chapter</option> 
+									<option value="subsection">Subsection</option> 
+									<option value="appendix">Appendix</option> 
+									<option value="help">Help</option> 
+									<option value="bookmark">Bookmark</option> 
+								</select> 
+							</td>
+						</tr>
+
+						<tr>
+							<td><label id="revlabel" for="rev">{$lang_advlink_rev}</label></td>
+							<td><select id="rev" name="rev"> 
+									<option value="">{$lang_not_set}</option> 
+									<option value="alternate">Alternate</option> 
+									<option value="designates">Designates</option> 
+									<option value="stylesheet">Stylesheet</option> 
+									<option value="start">Start</option> 
+									<option value="next">Next</option> 
+									<option value="prev">Prev</option> 
+									<option value="contents">Contents</option> 
+									<option value="index">Index</option> 
+									<option value="glossary">Glossary</option> 
+									<option value="copyright">Copyright</option> 
+									<option value="chapter">Chapter</option> 
+									<option value="subsection">Subsection</option> 
+									<option value="appendix">Appendix</option> 
+									<option value="help">Help</option> 
+									<option value="bookmark">Bookmark</option> 
+								</select> 
+							</td>
+						</tr>
+
+						<tr>
+							<td><label id="tabindexlabel" for="tabindex">{$lang_advlink_tabindex}</label></td>
+							<td><input type="text" id="tabindex" name="tabindex" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="accesskeylabel" for="accesskey">{$lang_advlink_accesskey}</label></td>
+							<td><input type="text" id="accesskey" name="accesskey" value="" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="events_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_advlink_event_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="onfocus">onfocus</label></td> 
+							<td><input id="onfocus" name="onfocus" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onblur">onblur</label></td> 
+							<td><input id="onblur" name="onblur" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onclick">onclick</label></td> 
+							<td><input id="onclick" name="onclick" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="ondblclick">ondblclick</label></td> 
+							<td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmousedown">onmousedown</label></td> 
+							<td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseup">onmouseup</label></td> 
+							<td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseover">onmouseover</label></td> 
+							<td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmousemove">onmousemove</label></td> 
+							<td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseout">onmouseout</label></td> 
+							<td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeypress">onkeypress</label></td> 
+							<td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeydown">onkeydown</label></td> 
+							<td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeyup">onkeyup</label></td> 
+							<td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+    </form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('autosave','en,tr,sv,cs,he,nb,hu,de,da,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl,pt_br');var TinyMCE_AutoSavePlugin={getInfo:function(){return{longname:'Auto save',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},_beforeUnloadHandler:function(){var n,inst,anyDirty=false,msg=tinyMCE.getLang("lang_autosave_unload_msg");if(tinyMCE.getParam("fullscreen_is_enabled"))return;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(inst.isDirty())return msg;}return;}};window.onbeforeunload=TinyMCE_AutoSavePlugin._beforeUnloadHandler;tinyMCE.addPlugin("autosave",TinyMCE_AutoSavePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,48 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.11 $
+ * $Date: 2006/03/22 12:21:21 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('autosave', 'en,tr,sv,cs,he,nb,hu,de,da,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl,pt_br');
+
+var TinyMCE_AutoSavePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Auto save',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	// Private plugin internal methods
+
+	_beforeUnloadHandler : function() {
+		var n, inst, anyDirty = false, msg = tinyMCE.getLang("lang_autosave_unload_msg");
+
+		if (tinyMCE.getParam("fullscreen_is_enabled"))
+			return;
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			if (inst.isDirty())
+				return msg;
+		}
+
+		return;
+	}
+};
+
+window.onbeforeunload = TinyMCE_AutoSavePlugin._beforeUnloadHandler;
+
+tinyMCE.addPlugin("autosave", TinyMCE_AutoSavePlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,5 @@
+// EN lang variables
+
+tinyMCE.addToLang('',{
+autosave_unload_msg : 'The changes you made will be lost if you navigate away from this page.'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,12 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.10 $
+ * $Date: 2006/02/10 16:29:38 $
+ *
+ * Experimental plugin for new Cleanup routine, this logic will be moved into the core ones it's stable enougth.
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Dummy file since cleanup is now moved to core */
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Dummy plugin since cleanup is now moved into core.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,74 @@
+.contextMenuIEPopup {
+	padding: 0;
+	margin: 0;
+	border: 0;
+	overflow: hidden;
+}
+
+.contextMenu {
+	position: absolute;
+	cursor: default;
+	z-index: 1000;
+	border: 1px solid #D4D0C8;
+	background-color: #FFFFFF;
+}
+
+.contextMenuItem, .contextMenuItemOver {
+}
+
+.contextMenuSeparator {
+	width: 100%;
+	background-color: #D4D0C8;
+	border: 0;
+}
+
+.contextMenuImage, .contextMenuItemDisabled {
+	border: 0;
+}
+
+.contextMenuIcon {
+	background-color: #F0F0EE;
+}
+
+.contextMenuItemOver .contextMenuIcon {
+	background-color: #B6BDD2;
+}
+
+.contextMenuIcon {
+	background-color: #F0F0EE;
+}
+
+.contextMenuItemDisabled img {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	-moz-opacity:0.3;
+	opacity: 0.3;
+}
+
+.contextMenuText {
+	font-family: Tahoma, Verdana, Arial, Helvetica;
+	font-size: 11px;
+	line-height: 20px;
+}
+
+.contextMenuItemDisabled {
+	color: #AAAAAA;
+}
+
+.contextMenuText a {
+	display: block;
+	line-height: 20px;
+	width: 100%;
+	text-decoration: none;
+	color: black;
+	font-weight: normal;
+	margin: 0;
+	padding: 0;
+}
+
+.contextMenuText a:hover {
+	background-color: #B6BDD2;
+	text-decoration: none !important;
+	font-weight: normal;
+	margin: 0;
+	padding: 0;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+if(!tinyMCE.settings['contextmenu_skip_plugin_css']){tinyMCE.loadCSS(tinyMCE.baseURL+"/plugins/contextmenu/css/contextmenu.css");}var TinyMCE_ContextMenuPlugin={_contextMenu:null,getInfo:function(){return{longname:'Context menus',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_contextmenu.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isMSIE5_0&&tinyMCE.isOpera)return;TinyMCE_ContextMenuPlugin._contextMenu=new TinyMCE_ContextMenu({commandhandler:"TinyMCE_ContextMenuPlugin._commandHandler",spacer_image:tinyMCE.baseURL+"/plugins/contextmenu/images/spacer.gif"});tinyMCE.addEvent(inst.getDoc(),"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"contextmenu",function(e){TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?inst.contentWindow.event:e,inst);});}else tinyMCE.addEvent(inst.getDoc(),"contextmenu",TinyMCE_ContextMenuPlugin._onContextMenu);},_onContextMenu:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var targetInst,body;if((body=tinyMCE.getParentElement(elm,"body"))!=null){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(body==inst.getBody()){targetInst=inst;break;}}return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?targetInst.contentWindow.event:e,targetInst);}},_showContextMenu:function(e,inst){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}var x,y,elm,contextMenu;var pos=tinyMCE.getAbsPosition(inst.iframeElement);x=tinyMCE.isMSIE?e.screenX:pos.absLeft+(e.pageX-inst.getBody().scrollLeft);y=tinyMCE.isMSIE?e.screenY:pos.absTop+(e.pageY-inst.getBody().scrollTop);elm=tinyMCE.isMSIE?e.srcElement:e.target;contextMenu=this._contextMenu;contextMenu.inst=inst;window.setTimeout(function(){var theme=tinyMCE.getParam("theme");contextMenu.clearAll();var sel=inst.selection.getSelectedText().length!=0||elm.nodeName=="IMG";contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_cut_desc","Cut","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_copy_desc","Copy","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_paste_desc","Paste","",false);if(sel||(elm?(elm.nodeName=='A')||(elm.nodeName=='IMG'):false)){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/link.gif","$lang_link_desc",inst.hasPlugin("advlink")?"mceAdvLink":"mceLink");contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/unlink.gif","$lang_unlink_desc","unlink","",(elm?(elm.nodeName!='A')&&(elm.nodeName!='IMG'):true));}elm=tinyMCE.getParentElement(elm,"img,table,td"+(inst.hasPlugin("advhr")?',hr':''));if(elm){switch(elm.nodeName){case"IMG":contextMenu.addSeparator();if(tinyMCE.getAttrib(elm,'class').indexOf('mceItemFlash')!=-1)contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_flash_props","mceFlash");else contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/image.gif","$lang_image_props_desc",inst.hasPlugin("advimage")?"mceAdvImage":"mceImage");break;case"HR":contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/advhr/images/advhr.gif","$lang_insert_advhr_desc","mceAdvancedHr");break;case"TABLE":case"TD":if(inst.hasPlugin("table")){var colspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"colspan");var rowspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_table_cut_row_desc","mceTableCutRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_table_copy_row_desc","mceTableCopyRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_before_desc","mceTablePasteRowBefore","",inst.tableRowClipboard==null);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_after_desc","mceTablePasteRowAfter","",inst.tableRowClipboard==null);contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_props_desc","mceInsertTable");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_cell_props.gif","$lang_table_cell_desc","mceTableCellProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete.gif","$lang_table_del","mceTableDelete");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_row_props.gif","$lang_table_row_desc","mceTableRowProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_before.gif","$lang_table_row_before_desc","mceTableInsertRowBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_after.gif","$lang_table_row_after_desc","mceTableInsertRowAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_row.gif","$lang_table_delete_row_desc","mceTableDeleteRow");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_before.gif","$lang_table_col_before_desc","mceTableInsertColBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_after.gif","$lang_table_col_after_desc","mceTableInsertColAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_col.gif","$lang_table_delete_col_desc","mceTableDeleteCol");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_split_cells.gif","$lang_table_split_cells_desc","mceTableSplitCells","",(colspan=="1"&&rowspan=="1"));contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_merge_cells.gif","$lang_table_merge_cells_desc","mceTableMergeCells","",false);}break;}}else{if(inst.hasPlugin("table")){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");}}contextMenu.show(x,y);},10);tinyMCE.cancelEvent(e);return false;},_hideContextMenu:function(){if(TinyMCE_ContextMenuPlugin._contextMenu)TinyMCE_ContextMenuPlugin._contextMenu.hide();},_commandHandler:function(command,value){var cm=TinyMCE_ContextMenuPlugin._contextMenu;cm.hide();var ui=false;if(command=="mceInsertTable"||command=="mceTableCellProps"||command=="mceTableRowProps"||command=="mceTableMergeCells")ui=true;if(command=="Paste")value=null;if(tinyMCE.getParam("dialog_type")=="modal"&&tinyMCE.isMSIE){window.setTimeout(function(){cm.inst.execCommand(command,ui,value);},100);}else cm.inst.execCommand(command,ui,value);}};tinyMCE.addPlugin("contextmenu",TinyMCE_ContextMenuPlugin);function TinyMCE_ContextMenu(settings){function defParam(key,def_val){settings[key]=typeof(settings[key])!="undefined"?settings[key]:def_val;}var self=this;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.contextMenuDiv=document.createElement("div");this.contextMenuDiv.className="contextMenu";this.contextMenuDiv.setAttribute("class","contextMenu");this.contextMenuDiv.style.display="none";this.contextMenuDiv.style.position='absolute';this.contextMenuDiv.style.zindex=1000;this.contextMenuDiv.style.left='0';this.contextMenuDiv.style.top='0';this.contextMenuDiv.unselectable="on";document.body.appendChild(this.contextMenuDiv);defParam("commandhandler","");defParam("spacer_image","images/spacer.gif");this.items=new Array();this.settings=settings;this.html="";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop=window.createPopup();doc=this.pop.document;doc.open();doc.write('<html><head><link href="'+tinyMCE.baseURL+'/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');doc.close();}};TinyMCE_ContextMenu.prototype={clearAll:function(){this.html="";this.contextMenuDiv.innerHTML="";},addSeparator:function(){this.html+='<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="'+this.settings['spacer_image']+'" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="'+this.settings['spacer_image']+'" /></td></tr>';},addItem:function(icon,title,command,value,disabled){if(title.charAt(0)=='$')title=tinyMCE.getLang(title.substring(1));var onMouseDown='';var html='';if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0)onMouseDown='contextMenu.execCommand(\''+command+'\', \''+value+'\');return false;';else onMouseDown=this.settings['commandhandler']+'(\''+command+'\', \''+value+'\');return false;';if(icon=="")icon=this.settings['spacer_image'];if(!disabled)html+='<tr class="contextMenuItem">';else html+='<tr class="contextMenuItemDisabled">';html+='<td class="contextMenuIcon"><img src="'+icon+'" width="20" height="20" class="contextMenuImage" /></td>';html+='<td><div class="contextMenuText">';html+='<a href="javascript:void(0);" onclick="'+onMouseDown+'" onmousedown="return false;">&#160;';html+=title;html+='&#160;</a>';html+='</div></td>';html+='</tr>';this.html+=html;},show:function(x,y){var vp,width,height;if(this.html=="")return;var html='';html+='<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';html+=this.html;html+='</table>';this.contextMenuDiv.innerHTML=html;this.contextMenuDiv.style.display="block";width=this.contextMenuDiv.offsetWidth;height=this.contextMenuDiv.offsetHeight;this.contextMenuDiv.style.display="none";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop.document.body.innerHTML='<div class="contextMenu">'+html+"</div>";this.pop.document.tinyMCE=tinyMCE;this.pop.document.contextMenu=this;this.pop.show(x,y,width,height);}else{vp=this.getViewPort();this.contextMenuDiv.style.left=(x>vp.width-width?vp.width-width:x)+'px';this.contextMenuDiv.style.top=(y>vp.height-height?vp.height-height:y)+'px';this.contextMenuDiv.style.display="block";}},getViewPort:function(){return{width:document.documentElement.offsetWidth||document.body.offsetWidth,height:self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight};},hide:function(){if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera)this.pop.hide();else this.contextMenuDiv.style.display="none";},execCommand:function(command,value){eval(this.settings['commandhandler']+"(command, value);");}};
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,356 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.31 $
+ * $Date: 2006/05/03 10:46:41 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+//tinyMCE.importPluginLanguagePack('contextmenu', 'en,tr,zh_cn,cs,fa,fr_ca,fr,de,nb');
+if (!tinyMCE.settings['contextmenu_skip_plugin_css']) {
+	tinyMCE.loadCSS(tinyMCE.baseURL + "/plugins/contextmenu/css/contextmenu.css");
+}
+
+var TinyMCE_ContextMenuPlugin = {
+	// Private fields
+	_contextMenu : null,
+
+	getInfo : function() {
+		return {
+			longname : 'Context menus',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_contextmenu.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		// Is not working on MSIE 5.0 or Opera no contextmenu event
+		if (tinyMCE.isMSIE5_0 && tinyMCE.isOpera)
+			return;
+
+		TinyMCE_ContextMenuPlugin._contextMenu = new TinyMCE_ContextMenu({
+			commandhandler : "TinyMCE_ContextMenuPlugin._commandHandler",
+			spacer_image : tinyMCE.baseURL + "/plugins/contextmenu/images/spacer.gif"
+		});
+
+		// Add hide event handles
+		tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
+
+		// Attach contextmenu event
+		if (tinyMCE.isGecko) {
+			tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);});
+		} else
+			tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_ContextMenuPlugin._onContextMenu);
+	},
+
+	// Private plugin internal methods
+
+	_onContextMenu : function(e) {
+		var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+		var targetInst, body;
+
+		// Find instance
+		if ((body = tinyMCE.getParentElement(elm, "body")) != null) {
+			for (var n in tinyMCE.instances) {
+				var inst = tinyMCE.instances[n];
+				if (!tinyMCE.isInstance(inst))
+					continue;
+
+				if (body == inst.getBody()) {
+					targetInst = inst;
+					break;
+				}
+			}
+
+			return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst);
+		}
+	},
+
+	_showContextMenu : function(e, inst) {
+		function getAttrib(elm, name) {
+			return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+		}
+
+		var x, y, elm, contextMenu;
+		var pos = tinyMCE.getAbsPosition(inst.iframeElement);
+
+		x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft);
+		y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop);
+		elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+
+		contextMenu = this._contextMenu;
+		contextMenu.inst = inst;
+
+		// Mozilla needs some time
+		window.setTimeout(function () {
+			var theme = tinyMCE.getParam("theme");
+
+			contextMenu.clearAll();
+			var sel = inst.selection.getSelectedText().length != 0 || elm.nodeName == "IMG";
+
+			// Default items
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel);
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel);
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false);
+
+			if (sel || (elm ? (elm.nodeName == 'A') || (elm.nodeName == 'IMG') : false)) {
+				contextMenu.addSeparator();
+				contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/link.gif", "$lang_link_desc", inst.hasPlugin("advlink") ? "mceAdvLink" : "mceLink");
+				contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/unlink.gif", "$lang_unlink_desc", "unlink", "", (elm ? (elm.nodeName != 'A') && (elm.nodeName != 'IMG') : true));
+			}
+
+			// Get element
+			elm = tinyMCE.getParentElement(elm, "img,table,td" + (inst.hasPlugin("advhr") ? ',hr' : ''));
+			if (elm) {
+				switch (elm.nodeName) {
+					case "IMG":
+						contextMenu.addSeparator();
+
+						// If flash
+						if (tinyMCE.getAttrib(elm, 'class').indexOf('mceItemFlash') != -1)
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_flash_props", "mceFlash");
+						else
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", inst.hasPlugin("advimage") ? "mceAdvImage" : "mceImage");
+						break;
+
+					case "HR":
+						contextMenu.addSeparator();
+						contextMenu.addItem(tinyMCE.baseURL + "/plugins/advhr/images/advhr.gif", "$lang_insert_advhr_desc", "mceAdvancedHr");
+						break;
+
+					case "TABLE":
+					case "TD":
+						// Is table plugin loaded
+						if (inst.hasPlugin("table")) {
+							var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan");
+							var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan");
+
+							colspan = colspan == "" ? "1" : colspan;
+							rowspan = rowspan == "" ? "1" : rowspan;
+
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow");
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow");
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null);
+
+	/*						contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyleft.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifycenter.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyright.gif", "$lang_justifyright_desc", "JustifyRight", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyfull.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete.gif", "$lang_table_del", "mceTableDelete");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_before.gif", "$lang_table_row_before_desc", "mceTableInsertRowBefore");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_after.gif", "$lang_table_row_after_desc", "mceTableInsertRowAfter");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_before.gif", "$lang_table_col_before_desc", "mceTableInsertColBefore");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_after.gif", "$lang_table_col_after_desc", "mceTableInsertColAfter");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1"));
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false);
+						}
+						break;
+				}
+			}  else {
+				// Add table specific
+				if (inst.hasPlugin("table")) {
+					contextMenu.addSeparator();
+					contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+				}
+			}
+
+			contextMenu.show(x, y);
+		}, 10);
+
+		// Cancel default handeling
+		tinyMCE.cancelEvent(e);
+		return false;
+	},
+
+	_hideContextMenu : function() {
+		if (TinyMCE_ContextMenuPlugin._contextMenu)
+			TinyMCE_ContextMenuPlugin._contextMenu.hide();
+	},
+
+	_commandHandler : function(command, value) {
+		var cm = TinyMCE_ContextMenuPlugin._contextMenu;
+
+		cm.hide();
+
+		// UI must be true on these
+		var ui = false;
+		if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells")
+			ui = true;
+
+		if (command == "Paste")
+			value = null;
+
+		if (tinyMCE.getParam("dialog_type") == "modal" && tinyMCE.isMSIE) {
+			// Cell properties will generate access denied error is this isn't done?!
+			window.setTimeout(function() {
+				cm.inst.execCommand(command, ui, value);
+			}, 100);
+		} else
+			cm.inst.execCommand(command, ui, value);
+	}
+};
+
+tinyMCE.addPlugin("contextmenu", TinyMCE_ContextMenuPlugin);
+
+// Context menu class
+
+function TinyMCE_ContextMenu(settings) {
+	// Default value function
+	function defParam(key, def_val) {
+		settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val;
+	}
+
+	var self = this;
+
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+
+	// Setup contextmenu div
+	this.contextMenuDiv = document.createElement("div");
+	this.contextMenuDiv.className = "contextMenu";
+	this.contextMenuDiv.setAttribute("class", "contextMenu");
+	this.contextMenuDiv.style.display = "none";
+	this.contextMenuDiv.style.position = 'absolute';
+	this.contextMenuDiv.style.zindex = 1000;
+	this.contextMenuDiv.style.left = '0';
+	this.contextMenuDiv.style.top = '0';
+	this.contextMenuDiv.unselectable = "on";
+
+	document.body.appendChild(this.contextMenuDiv);
+
+	// Setup default values
+	defParam("commandhandler", "");
+	defParam("spacer_image", "images/spacer.gif");
+
+	this.items = new Array();
+	this.settings = settings;
+	this.html = "";
+
+	// IE Popup
+	if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
+		this.pop = window.createPopup();
+		doc = this.pop.document;
+		doc.open();
+		doc.write('<html><head><link href="' + tinyMCE.baseURL + '/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');
+		doc.close();
+	}
+};
+
+TinyMCE_ContextMenu.prototype = {
+	clearAll : function() {
+		this.html = "";
+		this.contextMenuDiv.innerHTML = "";
+	},
+
+	addSeparator : function() {
+		this.html += '<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="' + this.settings['spacer_image'] + '" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="' + this.settings['spacer_image'] + '" /></td></tr>';
+	},
+
+	addItem : function(icon, title, command, value, disabled) {
+		if (title.charAt(0) == '$')
+			title = tinyMCE.getLang(title.substring(1));
+
+		var onMouseDown = '';
+		var html = '';
+
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
+			onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;';
+		else
+			onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;';
+
+		if (icon == "")
+			icon = this.settings['spacer_image'];
+
+		if (!disabled)
+			html += '<tr class="contextMenuItem">';
+		else
+			html += '<tr class="contextMenuItemDisabled">';
+
+		html += '<td class="contextMenuIcon"><img src="' + icon + '" width="20" height="20" class="contextMenuImage" /></td>';
+		html += '<td><div class="contextMenuText">';
+		html += '<a href="javascript:void(0);" onclick="' + onMouseDown + '" onmousedown="return false;">&#160;';
+
+		// Add text
+		html += title;
+
+		html += '&#160;</a>';
+		html += '</div></td>';
+		html += '</tr>';
+
+		// Add to main
+		this.html += html;
+	},
+
+	show : function(x, y) {
+		var vp, width, height;
+
+		if (this.html == "")
+			return;
+
+		var html = '';
+
+		html += '<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';
+		html += this.html;
+		html += '</table>';
+
+		this.contextMenuDiv.innerHTML = html;
+
+		// Get dimensions
+		this.contextMenuDiv.style.display = "block";
+		width = this.contextMenuDiv.offsetWidth;
+		height = this.contextMenuDiv.offsetHeight;
+		this.contextMenuDiv.style.display = "none";
+
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
+			// Setup popup and show
+			this.pop.document.body.innerHTML = '<div class="contextMenu">' + html + "</div>";
+			this.pop.document.tinyMCE = tinyMCE;
+			this.pop.document.contextMenu = this;
+			this.pop.show(x, y, width, height);
+		} else {
+			vp = this.getViewPort();
+
+			this.contextMenuDiv.style.left = (x > vp.width - width ? vp.width - width : x) + 'px';
+			this.contextMenuDiv.style.top = (y > vp.height - height ? vp.height - height : y) + 'px';
+			this.contextMenuDiv.style.display = "block";
+		}
+	},
+
+	getViewPort : function() {
+		return {
+			width : document.documentElement.offsetWidth || document.body.offsetWidth,
+			height : self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
+		};
+	},
+
+	hide : function() {
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera)
+			this.pop.hide();
+		else
+			this.contextMenuDiv.style.display = "none";
+	},
+
+	execCommand : function(command, value) {
+		eval(this.settings['commandhandler'] + "(command, value);");
+	}
+};
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/images/spacer.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/images/spacer.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('directionality','en,tr,sv,fr_ca,zh_cn,cs,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,pl,nl,fr,pt_br');var TinyMCE_DirectionalityPlugin={getInfo:function(){return{longname:'Directionality',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_directionality.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"ltr":return tinyMCE.getButtonHTML(cn,'lang_directionality_ltr_desc','{$pluginurl}/images/ltr.gif','mceDirectionLTR');case"rtl":return tinyMCE.getButtonHTML(cn,'lang_directionality_rtl_desc','{$pluginurl}/images/rtl.gif','mceDirectionRTL');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case"mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm){tinyMCE.switchClass(editor_id+'_ltr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_rtl','mceButtonDisabled');return true;}tinyMCE.switchClass(editor_id+'_ltr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_rtl','mceButtonNormal');var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClass(editor_id+'_ltr','mceButtonSelected');else tinyMCE.switchClass(editor_id+'_rtl','mceButtonSelected');return true;}};tinyMCE.addPlugin("directionality",TinyMCE_DirectionalityPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,92 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.16 $
+ * $Date: 2006/02/10 21:34:28 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('directionality', 'en,tr,sv,fr_ca,zh_cn,cs,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,pl,nl,fr,pt_br');
+
+var TinyMCE_DirectionalityPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Directionality',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_directionality.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "ltr":
+				return tinyMCE.getButtonHTML(cn, 'lang_directionality_ltr_desc', '{$pluginurl}/images/ltr.gif', 'mceDirectionLTR');
+
+			case "rtl":
+				return tinyMCE.getButtonHTML(cn, 'lang_directionality_rtl_desc', '{$pluginurl}/images/rtl.gif', 'mceDirectionRTL');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceDirectionLTR":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+				if (elm)
+					elm.setAttribute("dir", "ltr");
+
+				tinyMCE.triggerNodeChange(false);
+				return true;
+
+			case "mceDirectionRTL":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+				if (elm)
+					elm.setAttribute("dir", "rtl");
+
+				tinyMCE.triggerNodeChange(false);
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		function getAttrib(elm, name) {
+			return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+		}
+
+		if (node == null)
+			return;
+
+		var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+		if (!elm) {
+			tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonDisabled');
+			return true;
+		}
+
+		tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonNormal');
+
+		var dir = getAttrib(elm, "dir");
+		if (dir == "ltr" || dir == "")
+			tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonSelected');
+		else
+			tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonSelected');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("directionality", TinyMCE_DirectionalityPlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,6 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : 'Direction left to right',
+directionality_rtl_desc : 'Direction right to left'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('emotions','en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_EmotionsPlugin={getInfo:function(){return{longname:'Emotions',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_emotions.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"emotions":return tinyMCE.getButtonHTML(cn,'lang_emotions_desc','{$pluginurl}/images/emotions.gif','mceEmotion');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=160;template['height']=160;template['width']+=tinyMCE.getLang('lang_emotions_delta_width',0);template['height']+=tinyMCE.getLang('lang_emotions_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;}return false;}};tinyMCE.addPlugin('emotions',TinyMCE_EmotionsPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,65 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.23 $
+ * $Date: 2006/02/10 16:29:38 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('emotions', 'en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk');
+
+// Plucin static class
+var TinyMCE_EmotionsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Emotions',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_emotions.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the emotions control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "emotions":
+				return tinyMCE.getButtonHTML(cn, 'lang_emotions_desc', '{$pluginurl}/images/emotions.gif', 'mceEmotion');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceEmotion command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceEmotion":
+				var template = new Array();
+
+				template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme
+				template['width'] = 160;
+				template['height'] = 160;
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+// Register plugin
+tinyMCE.addPlugin('emotions', TinyMCE_EmotionsPlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,40 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_emotions_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<base target="_self" />
+</head>
+<body style="display: none">
+	<div align="center">
+		<div class="title">{$lang_emotions_title}:<br /><br /></div>
+
+		<table border="0" cellspacing="0" cellpadding="4">
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-cool.gif','lang_emotions_cool');"><img src="images/smiley-cool.gif" width="18" height="18" border="0" alt="{$lang_emotions_cool}" title="{$lang_emotions_cool}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-cry.gif','lang_emotions_cry');"><img src="images/smiley-cry.gif" width="18" height="18" border="0" alt="{$lang_emotions_cry}" title="{$lang_emotions_cry}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-embarassed.gif','lang_emotions_embarassed');"><img src="images/smiley-embarassed.gif" width="18" height="18" border="0" alt="{$lang_emotions_embarassed}" title="{$lang_emotions_embarassed}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-foot-in-mouth.gif','lang_emotions_foot_in_mouth');"><img src="images/smiley-foot-in-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_foot_in_mouth}" title="{$lang_emotions_foot_in_mouth}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-frown.gif','lang_emotions_frown');"><img src="images/smiley-frown.gif" width="18" height="18" border="0" alt="{$lang_emotions_frown}" title="{$lang_emotions_frown}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-innocent.gif','lang_emotions_innocent');"><img src="images/smiley-innocent.gif" width="18" height="18" border="0" alt="{$lang_emotions_innocent}" title="{$lang_emotions_innocent}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-kiss.gif','lang_emotions_kiss');"><img src="images/smiley-kiss.gif" width="18" height="18" border="0" alt="{$lang_emotions_kiss}" title="{$lang_emotions_kiss}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-laughing.gif','lang_emotions_laughing');"><img src="images/smiley-laughing.gif" width="18" height="18" border="0" alt="{$lang_emotions_laughing}" title="{$lang_emotions_laughing}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-money-mouth.gif','lang_emotions_money_mouth');"><img src="images/smiley-money-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_money_mouth}" title="{$lang_emotions_money_mouth}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-sealed.gif','lang_emotions_sealed');"><img src="images/smiley-sealed.gif" width="18" height="18" border="0" alt="{$lang_emotions_sealed}" title="{$lang_emotions_sealed}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-smile.gif','lang_emotions_smile');"><img src="images/smiley-smile.gif" width="18" height="18" border="0" alt="{$lang_emotions_smile}" title="{$lang_emotions_smile}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-surprised.gif','lang_emotions_surprised');"><img src="images/smiley-surprised.gif" width="18" height="18" border="0" alt="{$lang_emotions_surprised}" title="{$lang_emotions_surprised}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-tongue-out.gif','lang_emotions_tongue_out');"><img src="images/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{$lang_emotions_tongue-out}" title="{$lang_emotions_tongue_out}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-undecided.gif','lang_emotions_undecided');"><img src="images/smiley-undecided.gif" width="18" height="18" border="0" alt="{$lang_emotions_undecided}" title="{$lang_emotions_undecided}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-wink.gif','lang_emotions_wink');"><img src="images/smiley-wink.gif" width="18" height="18" border="0" alt="{$lang_emotions_wink}" title="{$lang_emotions_wink}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-yell.gif','lang_emotions_yell');"><img src="images/smiley-yell.gif" width="18" height="18" border="0" alt="{$lang_emotions_yell}" title="{$lang_emotions_yell}" /></a></td>
+		  </tr>
+		</table>
+	</div>
+</body>
+</html>
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/emotions.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/emotions.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,2 @@
+These emotions where taken from Mozilla Thunderbird.
+I hope they don't get angry if I use them here after all this is a open source project aswell.
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-cry.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-cry.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-frown.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-frown.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-yell.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-yell.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,21 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+function insertEmotion(file_name, title) {
+	title = tinyMCE.getLang(title);
+
+	if (title == null)
+		title = "";
+
+	// XML encode
+	title = title.replace(/&/g, '&amp;');
+	title = title.replace(/\"/g, '&quot;');
+	title = title.replace(/</g, '&lt;');
+	title = title.replace(/>/g, '&gt;');
+
+	var html = '<img src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" mce_src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" border="0" alt="' + title + '" title="' + title + '" />';
+
+	tinyMCE.execCommand('mceInsertContent', false, html);
+	tinyMCEPopup.close();
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,22 @@
+// UK lang variables
+
+tinyMCE.addToLang('emotions',{
+title : 'Insert emotion',
+desc : 'Emotions',
+cool : 'Cool',
+cry : 'Cry',
+embarassed : 'Embarassed',
+foot_in_mouth : 'Foot in mouth',
+frown : 'Frown',
+innocent : 'Innocent',
+kiss : 'Kiss',
+laughing : 'Laughing',
+money_mouth : 'Money mouth',
+sealed : 'Sealed',
+smile : 'Smile',
+surprised : 'Surprised',
+tongue_out : 'Tongue out',
+undecided : 'Undecided',
+wink : 'Wink',
+yell : 'Yell'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/content.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/content.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/content.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/content.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,7 @@
+.mceItemFlash {
+	border: 1px dotted #cc0000;
+	background-image: url('../images/flash.gif');
+	background-position: center;
+	background-repeat: no-repeat;
+	background-color: #ffffcc;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/flash.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/flash.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/flash.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/flash.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,11 @@
+.panel_wrapper div.current {
+	height: 100px;
+}
+
+#width, #height {
+	width: 50px;
+}
+
+#file {
+	width: 250px;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('flash','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk,pt_br');var TinyMCE_FlashPlugin={getInfo:function(){return{longname:'Flash',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_flash.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(!tinyMCE.settings['flash_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/flash/css/content.css");},getControlHTML:function(cn){switch(cn){case"flash":return tinyMCE.getButtonHTML(cn,'lang_flash_desc','{$pluginurl}/images/flash.gif','mceFlash');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFlash":var name="",swffile="",swfwidth="",swfheight="",action="insert";var template=new Array();var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();template['file']='../../plugins/flash/flash.htm';template['width']=430;template['height']=175;template['width']+=tinyMCE.getLang('lang_flash_delta_width',0);template['height']+=tinyMCE.getLang('lang_flash_delta_height',0);if(focusElm!=null&&focusElm.nodeName.toLowerCase()=="img"){name=tinyMCE.getAttrib(focusElm,'class');if(name.indexOf('mceItemFlash')==-1)return true;swffile=tinyMCE.getAttrib(focusElm,'alt');if(tinyMCE.getParam('convert_urls'))swffile=eval(tinyMCE.settings['urlconverter_callback']+"(swffile, null, true);");swfwidth=tinyMCE.getAttrib(focusElm,'width');swfheight=tinyMCE.getAttrib(focusElm,'height');action="update";}tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,action:action});return true;}return false;},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":if(tinyMCE.getParam('convert_urls')){var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src);}}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src);}}break;case"insert_to_editor":var startPos=0;var embedList=new Array();content=content.replace(new RegExp('<[ ]*embed','gi'),'<embed');content=content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');content=content.replace(new RegExp('<[ ]*object','gi'),'<object');content=content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');while((startPos=content.indexOf('<embed',startPos+1))!=-1){var endPos=content.indexOf('>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs;}var index=0;while((startPos=content.indexOf('<object',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('</object>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++;}var index=0;while((startPos=content.indexOf('<embed',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++;}break;case"get_from_editor":var startPos=-1;while((startPos=content.indexOf('<img',startPos+1))!=-1){var endPos=content.indexOf('/>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+4,endPos));if(attribs['class']!="mceItemFlash")continue;endPos+=2;var embedHTML='';var wmode=tinyMCE.getParam("flash_wmode","");var quality=tinyMCE.getParam("flash_quality","high");var menu=tinyMCE.getParam("flash_menu","false");embedHTML+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';embedHTML+=' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';embedHTML+=' width="'+attribs["width"]+'" height="'+attribs["height"]+'">';embedHTML+='<param name="movie" value="'+attribs["title"]+'" />';embedHTML+='<param name="quality" value="'+quality+'" />';embedHTML+='<param name="menu" value="'+menu+'" />';embedHTML+='<param name="wmode" value="'+wmode+'" />';embedHTML+='<embed src="'+attribs["title"]+'" wmode="'+wmode+'" quality="'+quality+'" menu="'+menu+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+attribs["width"]+'" height="'+attribs["height"]+'"></embed></object>';chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter;}break;}return content;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItemFlash')==0){tinyMCE.switchClass(editor_id+'_flash','mceButtonSelected');return true;}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_flash','mceButtonNormal');return true;},_parseAttributes:function(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue)withInValue=true;else if((chr=='"'||chr=="'")&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue="";}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr;}return attributes;}};tinyMCE.addPlugin("flash",TinyMCE_FlashPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,287 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.34 $
+ * $Date: 2006/02/10 16:29:39 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('flash', 'en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk,pt_br');
+
+var TinyMCE_FlashPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Flash',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_flash.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (!tinyMCE.settings['flash_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/flash/css/content.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "flash":
+				return tinyMCE.getButtonHTML(cn, 'lang_flash_desc', '{$pluginurl}/images/flash.gif', 'mceFlash');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceFlash":
+				var name = "", swffile = "", swfwidth = "", swfheight = "", action = "insert";
+				var template = new Array();
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var focusElm = inst.getFocusElement();
+
+				template['file']   = '../../plugins/flash/flash.htm'; // Relative to theme
+				template['width']  = 430;
+				template['height'] = 175;
+
+				template['width'] += tinyMCE.getLang('lang_flash_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_flash_delta_height', 0);
+
+				// Is selection a image
+				if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") {
+					name = tinyMCE.getAttrib(focusElm, 'class');
+
+					if (name.indexOf('mceItemFlash') == -1) // Not a Flash
+						return true;
+
+					// Get rest of Flash items
+					swffile = tinyMCE.getAttrib(focusElm, 'alt');
+
+					if (tinyMCE.getParam('convert_urls'))
+						swffile = eval(tinyMCE.settings['urlconverter_callback'] + "(swffile, null, true);");
+
+					swfwidth = tinyMCE.getAttrib(focusElm, 'width');
+					swfheight = tinyMCE.getAttrib(focusElm, 'height');
+					action = "update";
+				}
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", swffile : swffile, swfwidth : swfwidth, swfheight : swfheight, action : action});
+			return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				// Force relative/absolute
+				if (tinyMCE.getParam('convert_urls')) {
+					var imgs = content.getElementsByTagName("img");
+					for (var i=0; i<imgs.length; i++) {
+						if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+							var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+							if (tinyMCE.getParam('convert_urls'))
+								src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+							imgs[i].setAttribute('alt', src);
+							imgs[i].setAttribute('title', src);
+						}
+					}
+				}
+				break;
+
+			case "get_from_editor_dom":
+				var imgs = content.getElementsByTagName("img");
+				for (var i=0; i<imgs.length; i++) {
+					if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+						var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('alt', src);
+						imgs[i].setAttribute('title', src);
+					}
+				}
+				break;
+
+			case "insert_to_editor":
+				var startPos = 0;
+				var embedList = new Array();
+
+				// Fix the embed and object elements
+				content = content.replace(new RegExp('<[ ]*embed','gi'),'<embed');
+				content = content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');
+				content = content.replace(new RegExp('<[ ]*object','gi'),'<object');
+				content = content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');
+
+				// Parse all embed tags
+				while ((startPos = content.indexOf('<embed', startPos+1)) != -1) {
+					var endPos = content.indexOf('>', startPos);
+					var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 6, endPos));
+					embedList[embedList.length] = attribs;
+				}
+
+				// Parse all object tags and replace them with images from the embed data
+				var index = 0;
+				while ((startPos = content.indexOf('<object', startPos)) != -1) {
+					if (index >= embedList.length)
+						break;
+
+					var attribs = embedList[index];
+
+					// Find end of object
+					endPos = content.indexOf('</object>', startPos);
+					endPos += 9;
+
+					// Insert image
+					var contentAfter = content.substring(endPos);
+					content = content.substring(0, startPos);
+					content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
+					content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
+					content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
+					content += contentAfter;
+					index++;
+
+					startPos++;
+				}
+
+				// Parse all embed tags and replace them with images from the embed data
+				var index = 0;
+				while ((startPos = content.indexOf('<embed', startPos)) != -1) {
+					if (index >= embedList.length)
+						break;
+
+					var attribs = embedList[index];
+
+					// Find end of embed
+					endPos = content.indexOf('>', startPos);
+					endPos += 9;
+
+					// Insert image
+					var contentAfter = content.substring(endPos);
+					content = content.substring(0, startPos);
+					content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
+					content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
+					content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
+					content += contentAfter;
+					index++;
+
+					startPos++;
+				}
+
+				break;
+
+			case "get_from_editor":
+				// Parse all img tags and replace them with object+embed
+				var startPos = -1;
+
+				while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
+					var endPos = content.indexOf('/>', startPos);
+					var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 4, endPos));
+
+					// Is not flash, skip it
+					if (attribs['class'] != "mceItemFlash")
+						continue;
+
+					endPos += 2;
+
+					var embedHTML = '';
+					var wmode = tinyMCE.getParam("flash_wmode", "");
+					var quality = tinyMCE.getParam("flash_quality", "high");
+					var menu = tinyMCE.getParam("flash_menu", "false");
+
+					// Insert object + embed
+					embedHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
+					embedHTML += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';
+					embedHTML += ' width="' + attribs["width"] + '" height="' + attribs["height"] + '">';
+					embedHTML += '<param name="movie" value="' + attribs["title"] + '" />';
+					embedHTML += '<param name="quality" value="' + quality + '" />';
+					embedHTML += '<param name="menu" value="' + menu + '" />';
+					embedHTML += '<param name="wmode" value="' + wmode + '" />';
+					embedHTML += '<embed src="' + attribs["title"] + '" wmode="' + wmode + '" quality="' + quality + '" menu="' + menu + '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"></embed></object>';
+
+					// Insert embed/object chunk
+					chunkBefore = content.substring(0, startPos);
+					chunkAfter = content.substring(endPos);
+					content = chunkBefore + embedHTML + chunkAfter;
+				}
+				break;
+		}
+
+		// Pass through to next handler in chain
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItemFlash') == 0) {
+				tinyMCE.switchClass(editor_id + '_flash', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_flash', 'mceButtonNormal');
+
+		return true;
+	},
+
+	// Private plugin internal functions
+
+	_parseAttributes : function(attribute_string) {
+		var attributeName = "";
+		var attributeValue = "";
+		var withInName;
+		var withInValue;
+		var attributes = new Array();
+		var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
+
+		if (attribute_string == null || attribute_string.length < 2)
+			return null;
+
+		withInName = withInValue = false;
+
+		for (var i=0; i<attribute_string.length; i++) {
+			var chr = attribute_string.charAt(i);
+
+			if ((chr == '"' || chr == "'") && !withInValue)
+				withInValue = true;
+			else if ((chr == '"' || chr == "'") && withInValue) {
+				withInValue = false;
+
+				var pos = attributeName.lastIndexOf(' ');
+				if (pos != -1)
+					attributeName = attributeName.substring(pos+1);
+
+				attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
+
+				attributeName = "";
+				attributeValue = "";
+			} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
+				withInName = true;
+
+			if (chr == '=' && withInName)
+				withInName = false;
+
+			if (withInName)
+				attributeName += chr;
+
+			if (withInValue)
+				attributeValue += chr;
+		}
+
+		return attributes;
+	}
+};
+
+tinyMCE.addPlugin("flash", TinyMCE_FlashPlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/flash.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/flash.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/flash.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/flash.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,70 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_flash_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/flash.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<link href="css/flash.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertFlash();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_flash_general}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_flash_general}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+							<tr>
+							<td nowrap="nowrap"><label for="file">{$lang_flash_file}</label></td>
+							  <td nowrap="nowrap">
+									<table border="0" cellspacing="0" cellpadding="0">
+									  <tr>
+										<td><input id="file" name="file" type="text" value="" onfocus="this.select();" /></td>
+										<td id="filebrowsercontainer">&nbsp;</td>
+									  </tr>
+									</table>
+								</td>
+							</tr>
+							<tr id="linklistrow">
+								<td><label for="linklist">{$lang_flash_list}</label></td>
+								<td id="linklistcontainer">&nbsp;</td>
+							</tr>
+							<tr>
+								<td nowrap="nowrap"><label>{$lang_flash_size}</label></td>
+								<td nowrap="nowrap">
+									<input type="text" id="width" name="width" value="" onfocus="this.select();" />
+									<select name="width2" id="width2" style="width: 50px">
+										<option value="">px</option>
+										<option value="%">%</option>
+									</select>&nbsp;x&nbsp;<input id="height" name="height" type="text"  value="" onfocus="this.select();" />
+									<select name="height2" id="height2" style="width: 50px">
+										<option value="">px</option>
+										<option value="%">%</option>
+									</select>
+								</td>
+							</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertFlash();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/images/flash.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/images/flash.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,107 @@
+var url = tinyMCE.getParam("flash_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById("filebrowsercontainer").innerHTML = getBrowserHTML('filebrowser','file','flash','flash');
+
+	// Image list outsrc
+	var html = getFlashListHTML('filebrowser','file','flash','flash');
+	if (html == "")
+		document.getElementById("linklistrow").style.display = 'none';
+	else
+		document.getElementById("linklistcontainer").innerHTML = html;
+
+	var formObj = document.forms[0];
+	var swffile   = tinyMCE.getWindowArg('swffile');
+	var swfwidth  = '' + tinyMCE.getWindowArg('swfwidth');
+	var swfheight = '' + tinyMCE.getWindowArg('swfheight');
+
+	if (swfwidth.indexOf('%')!=-1) {
+		formObj.width2.value = "%";
+		formObj.width.value  = swfwidth.substring(0,swfwidth.length-1);
+	} else {
+		formObj.width2.value = "px";
+		formObj.width.value  = swfwidth;
+	}
+
+	if (swfheight.indexOf('%')!=-1) {
+		formObj.height2.value = "%";
+		formObj.height.value  = swfheight.substring(0,swfheight.length-1);
+	} else {
+		formObj.height2.value = "px";
+		formObj.height.value  = swfheight;
+	}
+
+	formObj.file.value = swffile;
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
+
+	selectByValue(formObj, 'linklist', swffile);
+
+	// Handle file browser
+	if (isVisible('filebrowser'))
+		document.getElementById('file').style.width = '230px';
+
+	// Auto select flash in list
+	if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+		for (var i=0; i<formObj.linklist.length; i++) {
+			if (formObj.linklist.options[i].value == tinyMCE.getWindowArg('swffile'))
+				formObj.linklist.options[i].selected = true;
+		}
+	}
+}
+
+function getFlashListHTML() {
+	if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+		var html = "";
+
+		html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.file.value=this.options[this.selectedIndex].value;">';
+		html += '<option value="">---</option>';
+
+		for (var i=0; i<tinyMCEFlashList.length; i++)
+			html += '<option value="' + tinyMCEFlashList[i][1] + '">' + tinyMCEFlashList[i][0] + '</option>';
+
+		html += '</select>';
+
+		return html;
+	}
+
+	return "";
+}
+
+function insertFlash() {
+	var formObj = document.forms[0];
+	var html      = '';
+	var file      = formObj.file.value;
+	var width     = formObj.width.value;
+	var height    = formObj.height.value;
+	if (formObj.width2.value=='%') {
+		width = width + '%';
+	}
+	if (formObj.height2.value=='%') {
+		height = height + '%';
+	}
+
+	if (width == "")
+		width = 100;
+
+	if (height == "")
+		height = 100;
+
+	html += ''
+		+ '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" mce_src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" '
+		+ 'width="' + width + '" height="' + height + '" '
+		+ 'border="0" alt="' + file + '" title="' + file + '" class="mceItemFlash" />';
+
+	tinyMCEPopup.execCommand("mceInsertContent", true, html);
+	tinyMCE.selectedInstance.repaint();
+
+	tinyMCEPopup.close();
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,11 @@
+// UK lang variables
+
+tinyMCE.addToLang('flash',{
+title : 'Insert / edit Flash Movie',
+desc : 'Insert / edit Flash Movie',
+file : 'Flash-File (.swf)',
+size : 'Size',
+list : 'Flash files',
+props : 'Flash properties',
+general : 'General'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/blank.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/blank.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/blank.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/blank.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,9 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body onload="parent.setupIframe(document);">
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,172 @@
+/* Hide the advanced tab */
+#advanced_tab {
+	display: none;
+}
+
+#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright {
+	width: 280px;
+}
+
+#doctype, #docencoding {
+	width: 200px;
+}
+
+#langcode {
+	width: 30px;
+}
+
+#bgimage {
+	width: 220px;	
+}
+
+#fontface {
+	width: 240px;
+}
+
+#leftmargin, #rightmargin, #topmargin, #bottommargin {
+	width: 50px;
+}
+
+.panel_wrapper div.current {
+	height: 400px;
+}
+
+#stylesheet, #style {
+	width: 240px;
+}
+
+/* Head list classes */
+
+.headlistwrapper {
+	width: 100%;
+}
+
+.addbutton, .removebutton, .moveupbutton, .movedownbutton {
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+	display: block;
+	width: 20px;
+	height: 20px;
+}
+
+.addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+.addbutton {
+	background-image: url('../images/add.gif');
+	float: left;
+	margin-right: 3px;
+}
+
+.removebutton {
+	background-image: url('../images/remove.gif');
+	float: left;
+}
+
+.moveupbutton {
+	background-image: url('../images/move_up.gif');
+	float: left;
+	margin-right: 3px;
+}
+
+.movedownbutton {
+	background-image: url('../images/move_down.gif');
+	float: left;
+}
+
+.selected {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+.toolbar {
+	width: 100%;
+}
+
+#headlist {
+	width: 100%;
+	margin-top: 3px;
+	font-size: 11px;
+}
+
+#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element {
+	display: none;
+}
+
+#addmenu {
+	position: absolute;
+	border: 1px solid gray;
+	display: none;
+	z-index: 100;
+	background-color: white;
+}
+
+#addmenu a {
+	display: block;
+	width: 100%;
+	line-height: 20px;
+	text-decoration: none;
+	background-color: white;
+}
+
+#addmenu a:hover {
+	background-color: #B6BDD2;
+	color: black;
+}
+
+#addmenu span {
+	padding-left: 10px;
+	padding-right: 10px;
+}
+
+#updateElementPanel {
+	display: none;
+}
+
+#script_element .panel_wrapper div.current {
+	height: 108px;
+}
+
+#style_element .panel_wrapper div.current {
+	height: 108px;
+}
+
+#link_element  .panel_wrapper div.current {
+	height: 140px;
+}
+
+#element_script_value {
+	width: 100%;
+	height: 100px;
+}
+
+#element_comment_value {
+	width: 100%;
+	height: 120px;
+}
+
+#element_style_value {
+	width: 100%;
+	height: 100px;
+}
+
+#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title {
+	width: 250px;
+}
+
+.updateElementButton {
+	margin-top: 3px;
+}
+
+/* MSIE specific styles */
+
+* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton {
+	width: 22px;
+	height: 22px;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('fullpage','en,tr,sv');var TinyMCE_FullPagePlugin={getInfo:function(){return{longname:'Fullpage',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullpage.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"fullpage":return tinyMCE.getButtonHTML(cn,'lang_fullpage_desc','{$pluginurl}/images/fullpage.gif','mceFullPageProperties');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFullPageProperties":var template=new Array();template['file']='../../plugins/fullpage/fullpage.htm';template['width']=430;template['height']=485+(tinyMCE.isOpera?5:0);template['width']+=tinyMCE.getLang('lang_fullpage_delta_width',0);template['height']+=tinyMCE.getLang('lang_fullpage_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceFullPageUpdate":TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));return true;}return false;},cleanup:function(type,content,inst){switch(type){case"insert_to_editor":var tmp=content.toLowerCase();var pos=tmp.indexOf('<body'),pos2;if(pos!=-1){pos=tmp.indexOf('>',pos);pos2=tmp.lastIndexOf('</body>');inst.fullpageTopContent=content.substring(0,pos+1);content=content.substring(pos+1,pos2);}else{if(!inst.fullpageTopContent){var docType=tinyMCE.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');var enc=tinyMCE.getParam("fullpage_default_encoding",'utf-8');var title=tinyMCE.getParam("fullpage_default_title",'Untitled document');var lang=tinyMCE.getParam("fullpage_default_langcode",'en');var pi=tinyMCE.getParam("fullpage_default_xml_pi",true);var ff=tinyMCE.getParam("fullpage_default_font_family","");var fz=tinyMCE.getParam("fullpage_default_font_size","");var ds=tinyMCE.getParam("fullpage_default_style","");var dtc=tinyMCE.getParam("fullpage_default_text_color","");title=title.replace(/&/g,'&amp;');title=title.replace(/\"/g,'&quot;');title=title.replace(/</g,'&lt;');title=title.replace(/>/g,'&gt;');tmp='';if(pi)tmp+='<?xml version="1.0" encoding="'+enc+'"?>\n';tmp+=docType+'\n';tmp+='<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="'+lang+'" xml:lang="'+lang+'">\n';tmp+='<head>\n';tmp+='\t<title>'+title+'</title>\n';tmp+='\t<meta http-equiv="Content-Type" content="text/html; charset='+enc+'" />\n';tmp+='</head>\n';tmp+='<body';if(ff!=''||fz!=''){tmp+=' style="';if(ds!='')tmp+=ds+";";if(ff!='')tmp+='font-family: '+ff+";";if(fz!='')tmp+='font-size: '+fz+";";tmp+='"';}if(dtc!='')tmp+=' text="'+dtc+'"';tmp+='>\n';inst.fullpageTopContent=tmp;}}this._addToHead(inst);break;case"get_from_editor":if(inst.fullpageTopContent)content=inst.fullpageTopContent+content+"\n</body>\n</html>";break;}return content;},_addToHead:function(inst){var doc=inst.getDoc();var head=doc.getElementsByTagName("head")[0];var body=doc.body;var h=inst.fullpageTopContent;var e=doc.createElement("body");var nl,i,le,tmp;h=h.replace(/(\r|\n)/gi,'');h=h.replace(/<\?[^\>]*\>/gi,'');h=h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi,'');h=h.replace(/<script(.*?)<\/script>/gi,'');h=h.replace(/<title(.*?)<\/title>/gi,'');h=h.replace(/<(meta|base)[^>]*>/gi,'');h=h.replace(/<link([^>]*)\/>/gi,'<pre mce_type="link" $1></pre>');h=h.replace(/<body/gi,'<div mce_type="body"');h+='</div>';e.innerHTML=h;body.vLink=body.aLink=body.link=body.text='';body.style.cssText='';nl=head.getElementsByTagName('link');for(i=0;i<nl.length;i++){if(tinyMCE.getAttrib(nl[i],'mce_head')=="true")nl[i].parentNode.removeChild(nl[i]);}nl=e.getElementsByTagName('pre');for(i=0;i<nl.length;i++){tmp=tinyMCE.getAttrib(nl[i],'media');if(tinyMCE.getAttrib(nl[i],'mce_type')=="link"&&(tmp==""||tmp=="screen"||tmp=="all")&&tinyMCE.getAttrib(nl[i],'rel')=="stylesheet"){le=doc.createElement("link");le.rel="stylesheet";le.href=tinyMCE.getAttrib(nl[i],'href');le.setAttribute("mce_head","true");head.appendChild(le);}}nl=e.getElementsByTagName('div');if(nl.length>0){body.style.cssText=tinyMCE.getAttrib(nl[0],'style');if((tmp=tinyMCE.getAttrib(nl[0],'leftmargin'))!=''&&body.style.marginLeft=='')body.style.marginLeft=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'rightmargin'))!=''&&body.style.marginRight=='')body.style.marginRight=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'topmargin'))!=''&&body.style.marginTop=='')body.style.marginTop=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'bottommargin'))!=''&&body.style.marginBottom=='')body.style.marginBottom=tmp+"px";body.dir=tinyMCE.getAttrib(nl[0],'dir');body.vLink=tinyMCE.getAttrib(nl[0],'vlink');body.aLink=tinyMCE.getAttrib(nl[0],'alink');body.link=tinyMCE.getAttrib(nl[0],'link');body.text=tinyMCE.getAttrib(nl[0],'text');if((tmp=tinyMCE.getAttrib(nl[0],'background'))!='')body.style.backgroundImage=tmp;if((tmp=tinyMCE.getAttrib(nl[0],'bgcolor'))!='')body.style.backgroundColor=tmp;}}};tinyMCE.addPlugin("fullpage",TinyMCE_FullPagePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,229 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.12 $
+ * $Date: 2006/02/23 16:16:34 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('fullpage', 'en,tr,sv');
+
+var TinyMCE_FullPagePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Fullpage',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullpage.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "fullpage":
+				return tinyMCE.getButtonHTML(cn, 'lang_fullpage_desc', '{$pluginurl}/images/fullpage.gif', 'mceFullPageProperties');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceFullPageProperties":
+				var template = new Array();
+
+				template['file']   = '../../plugins/fullpage/fullpage.htm';
+				template['width']  = 430;
+				template['height'] = 485 + (tinyMCE.isOpera ? 5 : 0);
+
+				template['width'] += tinyMCE.getLang('lang_fullpage_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_fullpage_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+			return true;
+
+			case "mceFullPageUpdate":
+				TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));
+				return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		switch (type) {
+			case "insert_to_editor":
+				var tmp = content.toLowerCase();
+				var pos = tmp.indexOf('<body'), pos2;
+
+				// Split page in header and body chunks
+				if (pos != -1) {
+					pos = tmp.indexOf('>', pos);
+					pos2 = tmp.lastIndexOf('</body>');
+					inst.fullpageTopContent = content.substring(0, pos + 1);
+					content = content.substring(pos + 1, pos2);
+					// tinyMCE.debug(inst.fullpageTopContent, content);
+				} else {
+					if (!inst.fullpageTopContent) {
+						var docType = tinyMCE.getParam("fullpage_default_doctype", '<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
+						var enc = tinyMCE.getParam("fullpage_default_encoding", 'utf-8');
+						var title = tinyMCE.getParam("fullpage_default_title", 'Untitled document');
+						var lang = tinyMCE.getParam("fullpage_default_langcode", 'en');
+						var pi = tinyMCE.getParam("fullpage_default_xml_pi", true);
+						var ff = tinyMCE.getParam("fullpage_default_font_family", "");
+						var fz = tinyMCE.getParam("fullpage_default_font_size", "");
+						var ds = tinyMCE.getParam("fullpage_default_style", "");
+						var dtc = tinyMCE.getParam("fullpage_default_text_color", "");
+
+						// Xml encode it
+						title = title.replace(/&/g, '&amp;');
+						title = title.replace(/\"/g, '&quot;');
+						title = title.replace(/</g, '&lt;');
+						title = title.replace(/>/g, '&gt;');
+
+						tmp = '';
+
+						// Make default chunk
+						if (pi)
+							tmp += '<?xml version="1.0" encoding="' + enc + '"?>\n';
+
+						tmp += docType + '\n';
+						tmp += '<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="' + lang + '" xml:lang="' + lang + '">\n';
+						tmp += '<head>\n';
+						tmp += '\t<title>' + title + '</title>\n';
+						tmp += '\t<meta http-equiv="Content-Type" content="text/html; charset=' + enc + '" />\n';
+						tmp += '</head>\n';
+						tmp += '<body';
+
+						if (ff != '' || fz != '') {
+							tmp += ' style="';
+
+							if (ds != '')
+								tmp += ds + ";";
+
+							if (ff != '')
+								tmp += 'font-family: ' + ff + ";";
+
+							if (fz != '')
+								tmp += 'font-size: ' + fz + ";";
+
+							tmp += '"';
+						}
+
+						if (dtc != '')
+							tmp += ' text="' + dtc + '"';
+
+						tmp += '>\n';
+
+						inst.fullpageTopContent = tmp;
+					}
+				}
+
+				this._addToHead(inst);
+
+				break;
+
+			case "get_from_editor":
+				if (inst.fullpageTopContent)
+					content = inst.fullpageTopContent + content + "\n</body>\n</html>";
+
+				break;
+		}
+
+		// Pass through to next handler in chain
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	_addToHead : function(inst) {
+		var doc = inst.getDoc();
+		var head = doc.getElementsByTagName("head")[0];
+		var body = doc.body;
+		var h = inst.fullpageTopContent;
+		var e = doc.createElement("body");
+		var nl, i, le, tmp;
+
+		// Remove stuff we don't want
+		h = h.replace(/(\r|\n)/gi, '');
+		h = h.replace(/<\?[^\>]*\>/gi, '');
+		h = h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi, '');
+		h = h.replace(/<script(.*?)<\/script>/gi, '');
+		h = h.replace(/<title(.*?)<\/title>/gi, '');
+		h = h.replace(/<(meta|base)[^>]*>/gi, '');
+
+		// Make link and style elements into pre
+		h = h.replace(/<link([^>]*)\/>/gi, '<pre mce_type="link" $1></pre>');
+		//h = h.replace(/<style([^>]*)>(.*?)<\/style>/gi, '<pre mce_type="style" $1>$2</pre>');
+
+		// Make body a div
+		h = h.replace(/<body/gi, '<div mce_type="body"');
+		h += '</div>';
+
+		// Now crapy MSIE can parse it
+		e.innerHTML = h;
+
+		// Reset all body attributes
+		body.vLink = body.aLink = body.link = body.text = '';
+		body.style.cssText = '';
+
+		// Delete all old links
+		nl = head.getElementsByTagName('link');
+		for (i=0; i<nl.length; i++) {
+			if (tinyMCE.getAttrib(nl[i], 'mce_head') == "true")
+				nl[i].parentNode.removeChild(nl[i]);
+		}
+
+		// Add link elements
+		nl = e.getElementsByTagName('pre');
+		for (i=0; i<nl.length; i++) {
+			tmp = tinyMCE.getAttrib(nl[i], 'media');
+			if (tinyMCE.getAttrib(nl[i], 'mce_type') == "link" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(nl[i], 'rel') == "stylesheet") {
+				le = doc.createElement("link");
+
+				le.rel = "stylesheet";
+				le.href = tinyMCE.getAttrib(nl[i], 'href');
+				le.setAttribute("mce_head", "true");
+
+				head.appendChild(le);
+			}
+		}
+
+		// Add body attributes
+		nl = e.getElementsByTagName('div');
+		if (nl.length > 0) {
+			body.style.cssText = tinyMCE.getAttrib(nl[0], 'style');
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'leftmargin')) != '' && body.style.marginLeft == '')
+				body.style.marginLeft = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'rightmargin')) != '' && body.style.marginRight == '')
+				body.style.marginRight = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'topmargin')) != '' && body.style.marginTop == '')
+				body.style.marginTop = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'bottommargin')) != '' && body.style.marginBottom == '')
+				body.style.marginBottom = tmp + "px";
+
+			body.dir = tinyMCE.getAttrib(nl[0], 'dir');
+			body.vLink = tinyMCE.getAttrib(nl[0], 'vlink');
+			body.aLink = tinyMCE.getAttrib(nl[0], 'alink');
+			body.link = tinyMCE.getAttrib(nl[0], 'link');
+			body.text = tinyMCE.getAttrib(nl[0], 'text');
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'background')) != '')
+				body.style.backgroundImage = tmp;
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'bgcolor')) != '')
+				body.style.backgroundColor = tmp;
+		}
+	}
+};
+
+tinyMCE.addPlugin("fullpage", TinyMCE_FullPagePlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,577 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_fullpage_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mclayer.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/fullpage.js"></script>
+	<link href="css/fullpage.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="updateAction();return false;" name="fullpage" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="meta_tab" class="current"><span><a href="javascript:mcTabs.displayTab('meta_tab','meta_panel');" onmousedown="return false;">{$lang_fullpage_meta_tab}</a></span></li>
+				<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_fullpage_appearance_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="meta_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_fullpage_meta_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td nowrap="nowrap"><label for="metatitle">{$lang_fullpage_meta_title}</label>&nbsp;</td>
+							<td><input type="text" id="metatitle" name="metatitle" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metakeywords">{$lang_fullpage_meta_keywords}</label>&nbsp;</td>
+							<td><textarea id="metakeywords" name="metakeywords" rows="3"></textarea></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metadescription">{$lang_fullpage_meta_description}</label>&nbsp;</td>
+							<td><textarea id="metadescription" name="metadescription" rows="3"></textarea></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metaauthor">{$lang_fullpage_author}</label>&nbsp;</td>
+							<td><input type="text" id="metaauthor" name="metaauthor" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metacopyright">{$lang_fullpage_copyright}</label>&nbsp;</td>
+							<td><input type="text" id="metacopyright" name="metacopyright" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metarobots">{$lang_fullpage_meta_robots}</label>&nbsp;</td>
+							<td>
+<select id="metarobots" name="metarobots">
+			<option value="">{$lang_not_set}</option> 
+			<option value="index,follow">{$lang_fullpage_meta_index_follow}</option>
+			<option value="index,nofollow">{$lang_fullpage_meta_index_nofollow}</option>
+			<option value="noindex,follow">{$lang_fullpage_meta_noindex_follow}</option>
+			<option value="noindex,nofollow">{$lang_fullpage_meta_noindex_nofollow}</option>
+</select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_langprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="docencoding">{$lang_fullpage_encoding}</label></td> 
+							<td>
+								<select id="docencoding" name="docencoding"> 
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td> 
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="doctypes">{$lang_fullpage_doctypes}</label>&nbsp;</td>
+							<td>
+								<select id="doctypes" name="doctypes">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="langcode">{$lang_fullpage_langcode}</label>&nbsp;</td>
+							<td><input type="text" id="langcode" name="langcode" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="langdir">{$lang_fullpage_langdir}</label></td> 
+							<td>
+								<select id="langdir" name="langdir"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_fullpage_ltr}</option> 
+										<option value="rtl">{$lang_fullpage_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="xml_pi">{$lang_fullpage_xml_pi}</label>&nbsp;</td>
+							<td><input type="checkbox" id="xml_pi" name="xml_pi" class="checkbox" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="appearance_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_textprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="fontface">{$lang_fullpage_fontface}</label></td> 
+							<td>
+								<select id="fontface" name="fontface" onchange="changedStyleField(this);">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="fontsize">{$lang_fullpage_fontsize}</label></td> 
+							<td>
+								<select id="fontsize" name="fontsize" onchange="changedStyleField(this);">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="textcolor">{$lang_fullpage_textcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="textcolor" name="textcolor" type="text" value="" size="9" onchange="updateColor('textcolor_pick','textcolor');changedStyleField(this);" /></td>
+										<td id="textcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_bgprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="bgimage">{$lang_fullpage_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgimage" name="bgimage" type="text" value="" onchange="changedStyleField(this);" /></td>
+										<td id="bgimage_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_fullpage_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedStyleField(this);" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_marginprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="leftmargin">{$lang_fullpage_left_margin}</label></td> 
+							<td><input id="leftmargin" name="leftmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+							<td class="column1"><label for="rightmargin">{$lang_fullpage_right_margin}</label></td> 
+							<td><input id="rightmargin" name="rightmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="topmargin">{$lang_fullpage_top_margin}</label></td> 
+							<td><input id="topmargin" name="topmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+							<td class="column1"><label for="bottommargin">{$lang_fullpage_bottom_margin}</label></td> 
+							<td><input id="bottommargin" name="bottommargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_linkprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="link_color">{$lang_fullpage_link_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="link_color" name="link_color" type="text" value="" size="9" onchange="updateColor('link_color_pick','link_color');changedStyleField(this);" /></td>
+										<td id="link_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+
+							<td class="column1"><label for="visited_color">{$lang_fullpage_visited_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="visited_color" name="visited_color" type="text" value="" size="9" onchange="updateColor('visited_color_pick','visited_color');changedStyleField(this);" /></td>
+										<td id="visited_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="active_color">{$lang_fullpage_active_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="active_color" name="active_color" type="text" value="" size="9" onchange="updateColor('active_color_pick','active_color');changedStyleField(this);" /></td>
+										<td id="active_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+
+							<td>&nbsp;</td>
+							<td>&nbsp;</td>
+
+<!--							<td class="column1"><label for="hover_color">{$lang_fullpage_hover_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="hover_color" name="hover_color" type="text" value="" size="9" onchange="changedStyleField(this);" /></td>
+										<td id="hover_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> -->
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_style}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="stylesheet">{$lang_fullpage_stylesheet}</label></td> 
+							<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="stylesheet" name="stylesheet" type="text" value="" /></td>
+										<td id="stylesheet_browsercontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="style">{$lang_fullpage_style}</label></td> 
+							<td><input id="style" name="style" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<div id="addmenu">
+					<table border="0" cellpadding="0" cellspacing="0">
+						<tr><td><a href="javascript:addHeadElm('title');" onmousedown="return false;"><span>{$lang_fullpage_add_title}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('meta');" onmousedown="return false;"><span>{$lang_fullpage_add_meta}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('script');" onmousedown="return false;"><span>{$lang_fullpage_add_script}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('style');" onmousedown="return false;"><span>{$lang_fullpage_add_style}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('link');" onmousedown="return false;"><span>{$lang_fullpage_add_link}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('base');" onmousedown="return false;"><span>{$lang_fullpage_add_base}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('comment');" onmousedown="return false;"><span>{$lang_fullpage_add_comment}</span></a></td></tr>
+					</table>
+				</div>
+
+				<fieldset>
+					<legend>{$lang_fullpage_head_elements}</legend>
+
+					<div class="headlistwrapper">
+						<div class="toolbar">
+							<div style="float: left">
+								<a id="addbutton" href="javascript:showAddMenu();" onmousedown="return false;" class="addbutton" title="{$lang_fullpage_add}"></a>
+								<a href="#" onmousedown="return false;" class="removebutton" title="{$lang_fullpage_remove}"></a>
+							</div>
+							<div style="float: right">
+								<a href="#" onmousedown="return false;" class="moveupbutton" title="{$lang_fullpage_moveup}"></a>
+								<a href="#" onmousedown="return false;" class="movedownbutton" title="{$lang_fullpage_movedown}"></a>
+							</div>
+							<br style="clear: both" />
+						</div>
+						<select id="headlist" size="26" onchange="updateHeadElm(this.options[this.selectedIndex].value);">
+							<option value="title_0">&lt;title&gt;Some title bla bla bla&lt;/title&gt;</option>
+							<option value="meta_1">&lt;meta name="keywords"&gt;Some bla bla bla&lt;/meta&gt;</option>
+							<option value="meta_2">&lt;meta name="description"&gt;Some bla bla bla bla bla bla bla bla bla&lt;/meta&gt;</option>
+							<option value="script_3">&lt;script language=&quot;javascript&quot;&gt;...&lt;/script&gt;</option>
+							<option value="style_4">&lt;style&gt;...&lt;/style&gt;</option>
+							<option value="base_5">&lt;base href="." /&gt;</option>
+							<option value="comment_6">&lt;!-- ... --&gt;</option>
+							<option value="link_7">&lt;link href="." /&gt;</option>
+						</select>
+					</div>
+				</fieldset>
+
+				<fieldset id="meta_element">
+					<legend>{$lang_fullpage_meta_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_meta_type">{$lang_fullpage_type}</label></td> 
+							<td><select id="element_meta_type">
+										<option value="name">name</option>
+										<option value="http-equiv">http-equiv</option>
+								</select></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_meta_name">{$lang_fullpage_name}</label></td> 
+							<td><input id="element_meta_name" name="element_meta_name" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_meta_content">{$lang_fullpage_content}</label></td> 
+							<td><input id="element_meta_content" name="element_meta_content" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="meta_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="title_element">
+					<legend>{$lang_fullpage_title_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_title">{$lang_fullpage_meta_title}</label></td> 
+							<td><input id="element_title" name="element_title" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="title_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="script_element">
+					<legend>{$lang_fullpage_script_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="script_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('script_props_tab','script_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
+							<li id="script_value_tab"><span><a href="javascript:mcTabs.displayTab('script_value_tab','script_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="script_props_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_script_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_script_type">
+										<option value="text/javascript">text/javascript</option>
+										<option value="text/jscript">text/jscript</option>
+										<option value="text/vbscript">text/vbscript</option>
+										<option value="text/vbs">text/vbs</option>
+										<option value="text/ecmascript">text/ecmascript</option>
+										<option value="text/xml">text/xml</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_src">{$lang_fullpage_src}</label></td> 
+									<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="element_script_src" name="element_script_src" type="text" value="" /></td>
+										<td id="script_src_pickcontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_charset">{$lang_fullpage_charset}</label></td> 
+									<td><select id="element_script_charset"><option value="">{$lang_not_set}</option></select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_defer">{$lang_fullpage_defer}</label></td> 
+									<td><input type="checkbox" id="element_script_defer" name="element_script_defer" class="checkbox" /></td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="script_value_panel" class="panel">
+							<textarea id="element_script_value"></textarea>
+						</div>
+					</div>
+
+					<input type="button" id="script_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="style_element">
+					<legend>{$lang_fullpage_style_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="style_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('style_props_tab','style_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
+							<li id="style_value_tab"><span><a href="javascript:mcTabs.displayTab('style_value_tab','style_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="style_props_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_style_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_style_type">
+										<option value="text/css">text/css</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_style_media">{$lang_fullpage_media}</label></td> 
+									<td><select id="element_style_media"></select></td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="style_value_panel" class="panel">
+							<textarea id="element_style_value"></textarea>
+						</div>
+					</div>
+
+					<input type="button" id="style_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="base_element">
+					<legend>{$lang_fullpage_base_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_base_href">{$lang_fullpage_href}</label></td> 
+							<td><input id="element_base_href" name="element_base_href" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_base_target">{$lang_fullpage_target}</label></td> 
+							<td><input id="element_base_target" name="element_base_target" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="base_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="link_element">
+					<legend>{$lang_fullpage_link_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="link_general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('link_general_tab','link_general_panel');" onmousedown="return false;">{$lang_fullpage_general_props}</a></span></li>
+							<li id="link_advanced_tab"><span><a href="javascript:mcTabs.displayTab('link_advanced_tab','link_advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_props}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="link_general_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_link_href">{$lang_fullpage_href}</label></td> 
+									<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="element_link_href" name="element_link_href" type="text" value="" /></td>
+										<td id="link_href_pickcontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_title">{$lang_fullpage_meta_title}</label></td> 
+									<td><input id="element_link_title" name="element_link_title" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_link_type" name="element_link_type">
+										<option value="text/css">text/css</option>
+										<option value="text/javascript">text/javascript</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_media">{$lang_fullpage_media}</label></td> 
+									<td><select id="element_link_media" name="element_link_media"></select></td>
+								</tr>
+								<tr>
+									<td><label for="element_style_rel">{$lang_fullpage_rel}</label></td>
+									<td><select id="element_style_rel" name="element_style_rel"> 
+											<option value="">{$lang_not_set}</option> 
+											<option value="stylesheet">Stylesheet</option>
+											<option value="alternate">Alternate</option>
+											<option value="designates">Designates</option>
+											<option value="start">Start</option>
+											<option value="next">Next</option>
+											<option value="prev">Prev</option>
+											<option value="contents">Contents</option>
+											<option value="index">Index</option>
+											<option value="glossary">Glossary</option>
+											<option value="copyright">Copyright</option>
+											<option value="chapter">Chapter</option>
+											<option value="subsection">Subsection</option>
+											<option value="appendix">Appendix</option>
+											<option value="help">Help</option>
+											<option value="bookmark">Bookmark</option>
+										</select> 
+									</td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="link_advanced_panel" class="panel">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_link_charset">{$lang_fullpage_charset}</label></td> 
+									<td><select id="element_link_charset"><option value="">{$lang_not_set}</option></select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_hreflang">{$lang_fullpage_hreflang}</label></td> 
+									<td><input id="element_link_hreflang" name="element_link_hreflang" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_target">{$lang_fullpage_target}</label></td> 
+									<td><input id="element_link_target" name="element_link_target" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td><label for="element_style_rev">{$lang_fullpage_rev}</label></td>
+									<td><select id="element_style_rev" name="element_style_rev"> 
+											<option value="">{$lang_not_set}</option> 
+											<option value="alternate">Alternate</option> 
+											<option value="designates">Designates</option> 
+											<option value="stylesheet">Stylesheet</option> 
+											<option value="start">Start</option> 
+											<option value="next">Next</option> 
+											<option value="prev">Prev</option> 
+											<option value="contents">Contents</option> 
+											<option value="index">Index</option> 
+											<option value="glossary">Glossary</option> 
+											<option value="copyright">Copyright</option> 
+											<option value="chapter">Chapter</option> 
+											<option value="subsection">Subsection</option> 
+											<option value="appendix">Appendix</option> 
+											<option value="help">Help</option> 
+											<option value="bookmark">Bookmark</option> 
+										</select> 
+									</td>
+								</tr>
+							</table>
+						</div>
+					</div>
+
+					<input type="button" id="link_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="comment_element">
+					<legend>{$lang_fullpage_comment_element}</legend>
+
+					<textarea id="element_comment_value"></textarea>
+
+					<input type="button" id="comment_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="update" value="{$lang_update}" onclick="updateAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+    </form>
+</body>
+</html>
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/add.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/add.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/fullpage.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/fullpage.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/move_down.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/move_down.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/move_up.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/move_up.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/remove.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/remove.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,580 @@
+//
+
+var defaultDocTypes = 
+	'XHTML 1.0 Transitional=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,' +
+	'XHTML 1.0 Frameset=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">,' +
+	'XHTML 1.0 Strict=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,' +
+	'XHTML 1.1=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">">,' +
+	'HTML 4.01 Transitional=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,' +
+	'HTML 4.01 Strict=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">,' +
+	'HTML 4.01 Frameset=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">';
+
+var defaultEncodings = 
+	'Western european (iso-8859-1)=iso-8859-1,' +
+	'Central European (iso-8859-2)=iso-8859-2,' +
+	'Unicode (UTF-8)=utf-8,' +
+	'Chinese traditional (Big5)=big5,' +
+	'Cyrillic (iso-8859-5)=iso-8859-5,' +
+	'Japanese (iso-2022-jp)=iso-2022-jp,' +
+	'Greek (iso-8859-7)=iso-8859-7,' +
+	'Korean (iso-2022-kr)=iso-2022-kr,' +
+	'ASCII (us-ascii)=us-ascii';
+
+var defaultMediaTypes = 
+	'all=all,' +
+	'screen=screen,' +
+	'print=print,' +
+	'tty=tty,' +
+	'tv=tv,' +
+	'projection=projection,' +
+	'handheld=handheld,' +
+	'braille=braille,' +
+	'aural=aural';
+
+var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
+var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px';
+
+var addMenuLayer = new MCLayer("addmenu");
+var lastElementType = null;
+var topDoc;
+
+function init() {
+	var f = document.forms['fullpage'];
+	var i, p, doctypes, encodings, mediaTypes, fonts;
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+
+	// Setup doctype select box
+	doctypes = tinyMCE.getParam("fullpage_doctypes", defaultDocTypes).split(',');
+	for (i=0; i<doctypes.length; i++) {
+		p = doctypes[i].split('=');
+
+		if (p.length > 1)
+			addSelectValue(f, 'doctypes', p[0], p[1]);
+	}
+
+	// Setup fonts select box
+	fonts = tinyMCE.getParam("fullpage_fonts", defaultFontNames).split(';');
+	for (i=0; i<fonts.length; i++) {
+		p = fonts[i].split('=');
+
+		if (p.length > 1)
+			addSelectValue(f, 'fontface', p[0], p[1]);
+	}
+
+	// Setup fontsize select box
+	fonts = tinyMCE.getParam("fullpage_fontsizes", defaultFontSizes).split(',');
+	for (i=0; i<fonts.length; i++)
+		addSelectValue(f, 'fontsize', fonts[i], fonts[i]);
+
+	// Setup mediatype select boxs
+	mediaTypes = tinyMCE.getParam("fullpage_media_types", defaultMediaTypes).split(',');
+	for (i=0; i<mediaTypes.length; i++) {
+		p = mediaTypes[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, 'element_style_media', p[0], p[1]);
+			addSelectValue(f, 'element_link_media', p[0], p[1]);
+		}
+	}
+
+	// Setup encodings select box
+	encodings = tinyMCE.getParam("fullpage_encodings", defaultEncodings).split(',');
+	for (i=0; i<encodings.length; i++) {
+		p = encodings[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, 'docencoding', p[0], p[1]);
+			addSelectValue(f, 'element_script_charset', p[0], p[1]);
+			addSelectValue(f, 'element_link_charset', p[0], p[1]);
+		}
+	}
+
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+	document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color');
+	//document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color');
+	document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color');
+	document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color');
+	document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor');
+	document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage');
+	document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage');
+	document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage');
+	document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage');
+
+	// Resize some elements
+	if (isVisible('stylesheetbrowser'))
+		document.getElementById('stylesheet').style.width = '220px';
+
+	if (isVisible('link_href_browser'))
+		document.getElementById('element_link_href').style.width = '230px';
+
+	if (isVisible('bgimage_browser'))
+		document.getElementById('bgimage').style.width = '210px';
+
+	// Create iframe
+	var iframe = document.createElement('iframe');
+
+	iframe.id = 'tempFrame';
+	iframe.style.display = 'none';
+	iframe.src = tinyMCE.baseURL + "/plugins/fullpage/blank.htm";
+
+	document.body.appendChild(iframe);
+
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+function setupIframe(doc) {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var hc = inst.fullpageTopContent;
+	var f = document.forms[0];
+	var xmlVer, xmlEnc, docType;
+	var nodes, i, x, name, value, tmp, l;
+
+	// Keep it from not loading/executing stuff
+	hc = hc.replace(/<script>/gi, '<script type="text/javascript">');
+	hc = hc.replace(/\ssrc=/gi, " mce_src=");
+	hc = hc.replace(/\shref=/gi, " mce_href=");
+	hc = hc.replace(/\stype=/gi, " mce_type=");
+	hc = hc.replace(/<script/gi, '<script type="text/unknown" ');
+
+	// Add end to make it DOM parseable
+	hc += '</body></html>';
+
+	topDoc = doc;
+	doc.open();
+	doc.write(hc);
+	doc.close();
+
+	// ------- Setup options for genral tab
+
+	// Parse xml and doctype
+	xmlVer = getReItem(/<\?\s*?xml.*?version\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
+	xmlEnc = getReItem(/<\?\s*?xml.*?encoding\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
+	docType = getReItem(/<\!DOCTYPE.*?>/gi, hc, 0);
+	f.langcode.value = getReItem(/lang="(.*?)"/gi, hc, 1);
+
+	// Get title
+	f.metatitle.value = tinyMCE.entityDecode(getReItem(/<title>(.*?)<\/title>/gi, hc, 1));
+
+	// Check for meta encoding
+	nodes = doc.getElementsByTagName("meta");
+	for (i=0; i<nodes.length; i++) {
+		name = tinyMCE.getAttrib(nodes[i], 'name');
+		value = tinyMCE.getAttrib(nodes[i], 'content');
+		httpEquiv = tinyMCE.getAttrib(nodes[i], 'httpEquiv');
+
+		switch (name.toLowerCase()) {
+			case "keywords":
+				f.metakeywords.value = value;
+				break;
+
+			case "description":
+				f.metadescription.value = value;
+				break;
+
+			case "author":
+				f.metaauthor.value = value;
+				break;
+
+			case "copyright":
+				f.metacopyright.value = value;
+				break;
+
+			case "robots":
+				selectByValue(f, 'metarobots', value, true, true);
+				break;
+		}
+
+		switch (httpEquiv.toLowerCase()) {
+			case "content-type":
+				tmp = getReItem(/charset\s*=\s*(.*)\s*/gi, value, 1);
+
+				// Override XML encoding
+				if (tmp != "")
+					xmlEnc = tmp;
+
+				break;
+		}
+	}
+
+	selectByValue(f, 'doctypes', docType, true, true);
+	selectByValue(f, 'docencoding', xmlEnc, true, true);
+	selectByValue(f, 'langdir', tinyMCE.getAttrib(doc.body, 'dir'), true, true);
+
+	if (xmlVer != '')
+		f.xml_pi.checked = true;
+
+	// ------- Setup options for appearance tab
+
+	// Get primary stylesheet
+	nodes = doc.getElementsByTagName("link");
+	for (i=0; i<nodes.length; i++) {
+		l = nodes[i];
+		tmp = tinyMCE.getAttrib(l, 'media');
+
+		if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
+			f.stylesheet.value = tinyMCE.getAttrib(l, 'mce_href');
+			break;
+		}
+	}
+
+	// Get from style elements
+	nodes = doc.getElementsByTagName("style");
+	for (i=0; i<nodes.length; i++) {
+		tmp = parseStyleElement(nodes[i]);
+
+		for (x=0; x<tmp.length; x++) {
+		//	if (tmp[x].rule.indexOf('a:hover') != -1 && tmp[x].data['color'])
+		//		f.hover_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:visited') != -1 && tmp[x].data['color'])
+				f.visited_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:link') != -1 && tmp[x].data['color'])
+				f.link_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:active') != -1 && tmp[x].data['color'])
+				f.active_color.value = tmp[x].data['color'];
+		}
+	}
+
+	// Get from body attribs
+
+/*	f.leftmargin.value = tinyMCE.getAttrib(doc.body, "leftmargin");
+	f.rightmargin.value = tinyMCE.getAttrib(doc.body, "rightmargin");
+	f.topmargin.value = tinyMCE.getAttrib(doc.body, "topmargin");
+	f.bottommargin.value = tinyMCE.getAttrib(doc.body, "bottommargin");*/
+	f.textcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "text"));
+	f.active_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "alink"));
+	f.link_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "link"));
+	f.visited_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "vlink"));
+	f.bgcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "bgcolor"));
+	f.bgimage.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "background"));
+
+	// Get from style info
+	var style = tinyMCE.parseStyle(tinyMCE.getAttrib(doc.body, 'style'));
+
+	if (style['font-family'])
+		selectByValue(f, 'fontface', style['font-family'], true, true);
+	else
+		selectByValue(f, 'fontface', tinyMCE.getParam("fullpage_default_fontface", ""), true, true);
+
+	if (style['font-size'])
+		selectByValue(f, 'fontsize', style['font-size'], true, true);
+	else
+		selectByValue(f, 'fontsize', tinyMCE.getParam("fullpage_default_fontsize", ""), true, true);
+
+	if (style['color'])
+		f.textcolor.value = convertRGBToHex(style['color']);
+
+	if (style['background-image'])
+		f.bgimage.value = style['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+	if (style['background-color'])
+		f.bgcolor.value = convertRGBToHex(style['background-color']);
+
+	if (style['margin']) {
+		tmp = style['margin'].replace(/[^0-9 ]/g, '');
+		tmp = tmp.split(/ +/);
+		f.topmargin.value = tmp.length > 0 ? tmp[0] : '';
+		f.rightmargin.value = tmp.length > 1 ? tmp[1] : tmp[0];
+		f.bottommargin.value = tmp.length > 2 ? tmp[2] : tmp[0];
+		f.leftmargin.value = tmp.length > 3 ? tmp[3] : tmp[0];
+	}
+
+	if (style['margin-left'])
+		f.leftmargin.value = style['margin-left'].replace(/[^0-9]/g, '');
+
+	if (style['margin-right'])
+		f.rightmargin.value = style['margin-right'].replace(/[^0-9]/g, '');
+
+	if (style['margin-top'])
+		f.topmargin.value = style['margin-top'].replace(/[^0-9]/g, '');
+
+	if (style['margin-bottom'])
+		f.bottommargin.value = style['margin-bottom'].replace(/[^0-9]/g, '');
+
+	f.style.value = tinyMCE.serializeStyle(style);
+
+	updateColor('textcolor_pick', 'textcolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+	updateColor('visited_color_pick', 'visited_color');
+	updateColor('active_color_pick', 'active_color');
+	updateColor('link_color_pick', 'link_color');
+	//updateColor('hover_color_pick', 'hover_color');
+}
+
+function updateAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var f = document.forms[0];
+	var nl, i, h, v, s, head, html, l, tmp, addlink = true;
+
+	head = topDoc.getElementsByTagName('head')[0];
+
+	// Fix scripts without a type
+	nl = topDoc.getElementsByTagName('script');
+	for (i=0; i<nl.length; i++) {
+		if (tinyMCE.getAttrib(nl[i], 'mce_type') == '')
+			nl[i].setAttribute('mce_type', 'text/javascript');
+	}
+
+	// Get primary stylesheet
+	nl = topDoc.getElementsByTagName("link");
+	for (i=0; i<nl.length; i++) {
+		l = nl[i];
+
+		tmp = tinyMCE.getAttrib(l, 'media');
+
+		if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
+			addlink = false;
+
+			if (f.stylesheet.value == '')
+				l.parentNode.removeChild(l);
+			else
+				l.setAttribute('mce_href', f.stylesheet.value);
+
+			break;
+		}
+	}
+
+	// Add new link
+	if (f.stylesheet.value != '') {
+		l = topDoc.createElement('link');
+
+		l.setAttribute('mce_type', 'text/css');
+		l.setAttribute('mce_href', f.stylesheet.value);
+		l.setAttribute('rel', 'stylesheet');
+
+		head.appendChild(l);
+	}
+
+	setMeta(head, 'keywords', f.metakeywords.value);
+	setMeta(head, 'description', f.metadescription.value);
+	setMeta(head, 'author', f.metaauthor.value);
+	setMeta(head, 'copyright', f.metacopyright.value);
+	setMeta(head, 'robots', getSelectValue(f, 'metarobots'));
+	setMeta(head, 'Content-Type', getSelectValue(f, 'docencoding'));
+
+	topDoc.body.dir = getSelectValue(f, 'langdir');
+	topDoc.body.style.cssText = f.style.value;
+
+	topDoc.body.setAttribute('vLink', f.visited_color.value);
+	topDoc.body.setAttribute('link', f.link_color.value);
+	topDoc.body.setAttribute('text', f.textcolor.value);
+	topDoc.body.setAttribute('aLink', f.active_color.value);
+
+	topDoc.body.style.fontFamily = getSelectValue(f, 'fontface');
+	topDoc.body.style.fontSize = getSelectValue(f, 'fontsize');
+	topDoc.body.style.backgroundColor = f.bgcolor.value;
+
+	if (f.leftmargin.value != '')
+		topDoc.body.style.marginLeft = f.leftmargin.value + 'px';
+
+	if (f.rightmargin.value != '')
+		topDoc.body.style.marginRight = f.rightmargin.value + 'px';
+
+	if (f.bottommargin.value != '')
+		topDoc.body.style.marginBottom = f.bottommargin.value + 'px';
+
+	if (f.topmargin.value != '')
+		topDoc.body.style.marginTop = f.topmargin.value + 'px';
+
+	html = topDoc.getElementsByTagName('html')[0];
+	html.setAttribute('lang', f.langcode.value);
+	html.setAttribute('xml:lang', f.langcode.value);
+
+	if (f.bgimage.value != '')
+		topDoc.body.style.backgroundImage = "url('" + f.bgimage.value + "')";
+	else
+		topDoc.body.style.backgroundImage = '';
+
+	inst.cleanup.addRuleStr('-title,meta[http-equiv|name|content],base[href|target],link[href|rel|type|title|media],style[type],script[type|language|src],html[lang|xml:lang|xmlns],body[style|dir|vlink|link|text|alink],head');
+
+	h = inst.cleanup.serializeNodeAsHTML(topDoc.documentElement);
+
+	h = h.substring(0, h.lastIndexOf('</body>'));
+
+	if (h.indexOf('<title>') == -1)
+		h = h.replace(/<head.*?>/, '$&\n' + '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
+	else
+		h = h.replace(/<title>(.*?)<\/title>/, '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
+
+	if ((v = getSelectValue(f, 'doctypes')) != '')
+		h = v + '\n' + h;
+
+	if (f.xml_pi.checked) {
+		s = '<?xml version="1.0"';
+
+		if ((v = getSelectValue(f, 'docencoding')) != '')
+			s += ' encoding="' + v + '"';
+
+		s += '?>\n';
+		h = s + h;
+	}
+
+	inst.fullpageTopContent = h;
+
+	tinyMCEPopup.execCommand('mceFullPageUpdate', false, '');
+	tinyMCEPopup.close();
+}
+
+function setMeta(he, k, v) {
+	var nl, i, m;
+
+	nl = he.getElementsByTagName('meta');
+	for (i=0; i<nl.length; i++) {
+		if (k == 'Content-Type' && tinyMCE.getAttrib(nl[i], 'http-equiv') == k) {
+			if (v == '')
+				nl[i].parentNode.removeChild(nl[i]);
+			else
+				nl[i].setAttribute('content', "text/html; charset=" + v);
+
+			return;
+		}
+
+		if (tinyMCE.getAttrib(nl[i], 'name') == k) {
+			if (v == '')
+				nl[i].parentNode.removeChild(nl[i]);
+			else
+				nl[i].setAttribute('content', v);
+			return;
+		}
+	}
+
+	if (v == '')
+		return;
+
+	m = topDoc.createElement('meta');
+
+	if (k == 'Content-Type')
+		m.httpEquiv = k;
+	else
+		m.setAttribute('name', k);
+
+	m.setAttribute('content', v);
+	he.appendChild(m);
+}
+
+function parseStyleElement(e) {
+	var v = e.innerHTML;
+	var p, i, r;
+
+	v = v.replace(/<!--/gi, '');
+	v = v.replace(/-->/gi, '');
+	v = v.replace(/[\n\r]/gi, '');
+	v = v.replace(/\s+/gi, ' ');
+
+	r = new Array();
+	p = v.split(/{|}/);
+
+	for (i=0; i<p.length; i+=2) {
+		if (p[i] != "")
+			r[r.length] = {rule : tinyMCE.trim(p[i]), data : tinyMCE.parseStyle(p[i+1])};
+	}
+
+	return r;
+}
+
+function serializeStyleElement(d) {
+	var i, s, st;
+
+	s = '<!--\n';
+
+	for (i=0; i<d.length; i++) {
+		s += d[i].rule + ' {\n';
+
+		st = tinyMCE.serializeStyle(d[i].data);
+
+		if (st != '')
+			st += ';';
+
+		s += st.replace(/;/g, ';\n');
+		s += '}\n';
+
+		if (i != d.length - 1)
+			s += '\n';
+	}
+
+	s += '\n-->';
+
+	return s;
+}
+
+function getReItem(r, s, i) {
+	var c = r.exec(s);
+
+	if (c && c.length > i)
+		return c[i];
+
+	return '';
+}
+
+function changedStyleField(field) {
+	//alert(field.id);
+}
+
+function showAddMenu() {
+	var re = document.getElementById('addbutton');
+
+	addMenuLayer.moveRelativeTo(re, 'tr');
+	if (addMenuLayer.isMSIE)
+		addMenuLayer.moveBy(2, 0);
+
+	addMenuLayer.show();
+	addMenuLayer.setAutoHide(true, hideAddMenu);
+	addMenuLayer.addCSSClass(re, 'selected');
+}
+
+function hideAddMenu(l, e, mx, my) {
+	var re = document.getElementById('addbutton');
+	addMenuLayer.removeCSSClass(re, 'selected');
+}
+
+function addHeadElm(type) {
+	var le = document.getElementById('headlist');
+	var re = document.getElementById('addbutton');
+	var te = document.getElementById(type + '_element');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	te.style.display = 'block';
+
+	lastElementType = te;
+
+	addMenuLayer.hide();
+	addMenuLayer.removeCSSClass(re, 'selected');
+
+	document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_insert', 'Insert', true);
+
+	le.size = 10;
+}
+
+function updateHeadElm(item) {
+	var type = item.substring(0, item.indexOf('_'));
+	var le = document.getElementById('headlist');
+	var re = document.getElementById('addbutton');
+	var te = document.getElementById(type + '_element');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	te.style.display = 'block';
+
+	lastElementType = te;
+
+	addMenuLayer.hide();
+	addMenuLayer.removeCSSClass(re, 'selected');
+
+	document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_update', 'Update', true);
+
+	le.size = 10;
+}
+
+function cancelElementUpdate() {
+	var le = document.getElementById('headlist');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	le.size = 26;
+}
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,92 @@
+// UK lang variables
+
+tinyMCE.addToLang('fullpage',{
+	title : 'Document properties',
+	desc : 'Document properties',
+	meta_tab : 'General',
+	appearance_tab : 'Appearance',
+	advanced_tab : 'Advanced',
+	meta_props : 'Meta information',
+	langprops : 'Language and encoding',
+	meta_title : 'Title',
+	meta_keywords : 'Keywords',
+	meta_description : 'Description',
+	meta_robots : 'Robots',
+	doctypes : 'Doctype',
+	langcode : 'Language code',
+	langdir : 'Language direction',
+	ltr : 'Left to right',
+	rtl : 'Right to left',
+	xml_pi : 'XML declaration',
+	encoding : 'Character encoding',
+	appearance_bgprops : 'Background properties',
+	appearance_marginprops : 'Body margins',
+	appearance_linkprops : 'Link colors',
+	appearance_textprops : 'Text properties',
+	bgcolor : 'Background color',
+	bgimage : 'Background image',
+	left_margin : 'Left margin',
+	right_margin : 'Right margin',
+	top_margin : 'Top margin',
+	bottom_margin : 'Bottom margin',
+	text_color : 'Text color',
+	font_size : 'Font size',
+	font_face : 'Font face',
+	link_color : 'Link color',
+	hover_color : 'Hover color',
+	visited_color : 'Visited color',
+	active_color : 'Active color',
+	textcolor : 'Color',
+	fontsize : 'Font size',
+	fontface : 'Font family',
+	meta_index_follow : 'Index and follow the links',
+	meta_index_nofollow : 'Index and don\'t follow the links',
+	meta_noindex_follow : 'Do not index but follow the links',
+	meta_noindex_nofollow : 'Do not index and don\'t follow the links',
+	appearance_style : 'Stylesheet and style properties',
+	stylesheet : 'Stylesheet',
+	style : 'Style',
+	author : 'Author',
+	copyright : 'Copyright',
+	add : 'Add new element',
+	remove : 'Remove selected element',
+	moveup : 'Move selected element up',
+	movedown : 'Move selected element down',
+	head_elements : 'Head elements',
+	info : 'Information',
+	info_text : '',
+	add_title : 'Title element',
+	add_meta : 'Meta element',
+	add_script : 'Script element',
+	add_style : 'Style element',
+	add_link : 'Link element',
+	add_base : 'Base element',
+	add_comment : 'Comment node',
+	title_element : 'Title element',
+	script_element : 'Script element',
+	style_element : 'Style element',
+	base_element : 'Base element',
+	link_element : 'Link element',
+	meta_element : 'Meta element',
+	comment_element : 'Comment',
+	src : 'Src',
+	language : 'Language',
+	href : 'Href',
+	target : 'Target',
+	rel : 'Rel',
+	type : 'Type',
+	charset : 'Charset',
+	defer : 'Defer',
+	media : 'Media',
+	properties : 'Properties',
+	name : 'Name',
+	value : 'Value',
+	content : 'Content',
+	rel : 'Rel',
+	rev : 'Rev',
+	hreflang : 'Href lang',
+	general_props : 'General',
+	advanced_props : 'Advanced',
+	delta_width : 0,
+	delta_height : 0
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('fullscreen','en,tr,sv,cs,fr_ca,zh_cn,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,pl,nl,fr,pt_br');var TinyMCE_FullScreenPlugin={getInfo:function(){return{longname:'Fullscreen',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullscreen.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"fullscreen":return tinyMCE.getButtonHTML(cn,'lang_fullscreen_desc','{$pluginurl}/images/fullscreen.gif','mceFullScreen');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFullScreen":if(tinyMCE.getParam('fullscreen_is_enabled')){window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'),'mceSetContent',false,tinyMCE.getContent(editor_id));top.close();}else{tinyMCE.setWindowArg('editor_id',editor_id);var win=window.open(tinyMCE.baseURL+"/plugins/fullscreen/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{win.resizeTo(screen.availWidth,screen.availHeight);}catch(e){}}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(tinyMCE.getParam('fullscreen_is_enabled'))tinyMCE.switchClass(editor_id+'_fullscreen','mceButtonSelected');return true;}};tinyMCE.addPlugin("fullscreen",TinyMCE_FullScreenPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,63 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.16 $
+ * $Date: 2006/03/14 17:33:39 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('fullscreen', 'en,tr,sv,cs,fr_ca,zh_cn,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,pl,nl,fr,pt_br');
+
+var TinyMCE_FullScreenPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Fullscreen',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullscreen.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "fullscreen":
+				return tinyMCE.getButtonHTML(cn, 'lang_fullscreen_desc', '{$pluginurl}/images/fullscreen.gif', 'mceFullScreen');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceFullScreen":
+				if (tinyMCE.getParam('fullscreen_is_enabled')) {
+					// In fullscreen mode
+					window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent(editor_id));
+					top.close();
+				} else {
+					tinyMCE.setWindowArg('editor_id', editor_id);
+
+					var win = window.open(tinyMCE.baseURL + "/plugins/fullscreen/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
+					try { win.resizeTo(screen.availWidth, screen.availHeight); } catch (e) {}
+				}
+		
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (tinyMCE.getParam('fullscreen_is_enabled'))
+			tinyMCE.switchClass(editor_id + '_fullscreen', 'mceButtonSelected');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("fullscreen", TinyMCE_FullScreenPlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,91 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_fullscreen_title}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script>
+	<script language="javascript" type="text/javascript">
+		function patchCallback(settings, key) {
+			if (settings[key])
+				settings[key] = "window.opener." + settings[key];
+		}
+
+		var settings = new Array();
+
+		// Clone array
+		for (var name in window.opener.tinyMCE.settings)
+			settings[name] = window.opener.tinyMCE.settings[name];
+
+		// Override options for fullscreen
+		for (var name in window.opener.tinyMCE.settings.fullscreen_settings)
+			settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];
+
+		// Patch callbacks, make them point to window.opener
+		patchCallback(settings, 'urlconverter_callback');
+		patchCallback(settings, 'insertlink_callback');
+		patchCallback(settings, 'insertimage_callback');
+		patchCallback(settings, 'setupcontent_callback');
+		patchCallback(settings, 'save_callback');
+		patchCallback(settings, 'onchange_callback');
+		patchCallback(settings, 'init_instance_callback');
+		patchCallback(settings, 'file_browser_callback');
+		patchCallback(settings, 'cleanup_callback');
+		patchCallback(settings, 'execcommand_callback');
+		patchCallback(settings, 'oninit');
+
+		// Set options
+		settings['mode'] = 'exact';
+		settings['elements'] = 'fullscreenarea';
+		settings['ask'] = false;
+		settings['setupcontent_callback'] = 'setupContent';
+		settings['fullscreen_is_enabled'] = true;
+		settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");
+		settings['theme_advanced_resizing'] = false;
+
+		// Init
+		tinyMCE.init(settings);
+		tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;
+
+		function setupContent(editor_id, body, doc) {
+			var inst = tinyMCE.getInstanceById(editor_id);
+			var content = window.opener.tinyMCE.getContent(tinyMCE.getParam('fullscreen_editor_id'));
+
+			// Setup title
+			var divElm = document.createElement("div");
+			divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];
+			document.title = divElm.innerHTML;
+
+			// Get content
+			inst.execCommand('mceSetContent', false, content);
+		}
+
+		function unloadHandler(e) {
+			moveContent();
+		}
+
+		function moveContent() {
+			var doc = tinyMCE.isMSIE ? window.frames['mce_editor_0'].window.document : document.getElementById('mce_editor_0').contentDocument;
+			window.opener.tinyMCE.setInnerHTML(window.opener.tinyMCE.selectedInstance.getBody(), doc.body.innerHTML);
+		}
+
+		// Add onunload
+		tinyMCE.addEvent(window, "beforeunload", unloadHandler);
+
+		function doParentSubmit() {
+			moveContent();
+
+			if (window.opener.tinyMCE.selectedInstance.formElement.form)
+				window.opener.tinyMCE.selectedInstance.formElement.form.submit();
+
+			window.close();
+
+			return false;
+		}
+	</script>
+	<base target="_self" />
+</head>
+<body style="margin: 0; overflow: hidden; height: 100%" scrolling="no" scroll="no">
+<form onsubmit="doParentSubmit();" style="height: 100%">
+<textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea>
+</form>
+</body>
+</html>
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,6 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+fullscreen_title : 'Fullscreen mode',
+fullscreen_desc : 'Toggle fullscreen mode'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('iespell','en,tr,cs,el,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl,da,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_IESpellPlugin={getInfo:function(){return{longname:'IESpell (MSIE Only)',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_iespell.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){if(cn=="iespell"&&(tinyMCE.isMSIE&&!tinyMCE.isOpera))return tinyMCE.getButtonHTML(cn,'lang_iespell_desc','{$pluginurl}/images/iespell.gif','mceIESpell');return"";},execCommand:function(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','');}else alert("Error Loading ieSpell: Exception "+e.number);}return true;}return false;}};tinyMCE.addPlugin("iespell",TinyMCE_IESpellPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,60 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.20 $
+ * $Date: 2006/02/10 16:29:39 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('iespell', 'en,tr,cs,el,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl,da,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk');
+
+var TinyMCE_IESpellPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'IESpell (MSIE Only)',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_iespell.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the iespell control.
+	 */
+	getControlHTML : function(cn) {
+		// Is it the iespell control and is the brower MSIE.
+		if (cn == "iespell" && (tinyMCE.isMSIE && !tinyMCE.isOpera))
+			return tinyMCE.getButtonHTML(cn, 'lang_iespell_desc', '{$pluginurl}/images/iespell.gif', 'mceIESpell');
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceIESpell command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle ieSpellCommand
+		if (command == "mceIESpell") {
+			try {
+				var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension");
+				ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);
+			} catch (e) {
+				if (e.number == -2146827859) {
+					if (confirm(tinyMCE.getLang("lang_iespell_download", "", true)))
+						window.open('http://www.iespell.com/download.php', 'ieSpellDownload', '');
+				} else
+					alert("Error Loading ieSpell: Exception " + e.number);
+			}
+
+			return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("iespell", TinyMCE_IESpellPlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,7 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Run spell checking',
+iespell_download : "ieSpell not detected. Click OK to go to download page."
+});
+
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,69 @@
+/* Window classes */
+
+.mceWindow {
+	position: absolute;
+	left: 0;
+	top: 0;
+	border: 1px solid black;
+	background-color: #D4D0C8;
+}
+
+.mceWindowHead {
+	background-color: #334F8D;
+	width: 100%;
+	height: 18px;
+	cursor: move;
+	overflow: hidden;
+}
+
+.mceWindowBody {
+	clear: both;
+	background-color: white;
+}
+
+.mceWindowStatusbar {
+	background-color: #D4D0C8;
+	height: 12px;
+	border-top: 1px solid black;
+}
+
+.mceWindowTitle {
+	float: left;
+	font-family: "MS Sans Serif";
+	font-size: 9pt;
+	font-weight: bold;
+	line-height: 18px;
+	color: white;
+	margin-left: 2px;
+	overflow: hidden;
+}
+
+.mceWindowHeadTools {
+	margin-right: 2px;
+}
+
+.mceWindowClose, .mceWindowMinimize, .mceWindowMaximize {
+	display: block;
+	float: right;
+	overflow: hidden;
+	margin-top: 2px;
+}
+
+.mceWindowClose {
+	margin-left: 2px;
+}
+
+.mceWindowMinimize {
+}
+
+.mceWindowMaximize {
+}
+
+.mceWindowResize {
+	display: block;
+	float: right;
+	overflow: hidden;
+	cursor: se-resize;
+	width: 12px;
+	height: 12px;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+var TinyMCE_InlinePopupsPlugin={getInfo:function(){return{longname:'Inline Popups',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_inlinepopups.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};}};tinyMCE.addPlugin("inlinepopups",TinyMCE_InlinePopupsPlugin);TinyMCE_Engine.prototype.orgOpenWindow=TinyMCE_Engine.prototype.openWindow;TinyMCE_Engine.prototype.openWindow=function(template,args){if(args['inline']!="yes"||tinyMCE.isOpera||tinyMCE.getParam("plugins").indexOf('inlinepopups')==-1){mcWindows.selectedWindow=null;args['mce_inside_iframe']=false;this.orgOpenWindow(template,args);return;}var url,resizable,scrollbars;args['mce_inside_iframe']=true;tinyMCE.windowArgs=args;if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";height+=18;for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]));}var elm=document.getElementById(this.selectedInstance.editorId+'_parent');var pos=tinyMCE.getAbsPosition(elm);pos.absLeft+=Math.round((elm.firstChild.clientWidth/2)-(width/2));pos.absTop+=Math.round((elm.firstChild.clientHeight/2)-(height/2));mcWindows.open(url,mcWindows.idCounter++,"modal=yes,width="+width+",height="+height+",resizable="+resizable+",scrollbars="+scrollbars+",statusbar="+resizable+",left="+pos.absLeft+",top="+pos.absTop);};TinyMCE_Engine.prototype.orgCloseWindow=TinyMCE_Engine.prototype.closeWindow;TinyMCE_Engine.prototype.closeWindow=function(win){if(mcWindows.selectedWindow!=null)mcWindows.selectedWindow.close();else this.orgCloseWindow(win);};TinyMCE_Engine.prototype.setWindowTitle=function(win_ref,title){for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win_ref.name==win.id+"_iframe")window.frames[win.id+"_iframe"].document.getElementById(win.id+'_title').innerHTML=title;}};function TinyMCE_Windows(){this.settings=new Array();this.windows=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;this.isMac=navigator.userAgent.indexOf('Mac')!=-1;this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.action="none";this.selectedWindow=null;this.lastSelectedWindow=null;this.zindex=100;this.mouseDownScreenX=0;this.mouseDownScreenY=0;this.mouseDownLayerX=0;this.mouseDownLayerY=0;this.mouseDownWidth=0;this.mouseDownHeight=0;this.idCounter=0;};TinyMCE_Windows.prototype.init=function(settings){this.settings=settings;if(this.isMSIE)this.addEvent(document,"mousemove",mcWindows.eventDispatcher);else this.addEvent(window,"mousemove",mcWindows.eventDispatcher);this.addEvent(document,"mouseup",mcWindows.eventDispatcher);this.doc=document;};TinyMCE_Windows.prototype.getParam=function(name,default_value){var value=null;value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");return value;};TinyMCE_Windows.prototype.eventDispatcher=function(e){e=typeof(e)=="undefined"?window.event:e;if(mcWindows.selectedWindow==null)return;if(mcWindows.isGecko&&e.type=="mousedown"){var elm=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win.headElement==elm||win.resizeElement==elm){win.focus();break;}}}switch(e.type){case"mousemove":mcWindows.selectedWindow.onMouseMove(e);break;case"mouseup":mcWindows.selectedWindow.onMouseUp(e);break;case"mousedown":mcWindows.selectedWindow.onMouseDown(e);break;case"focus":mcWindows.selectedWindow.onFocus(e);break;}};TinyMCE_Windows.prototype.addEvent=function(obj,name,handler){if(this.isMSIE)obj.attachEvent("on"+name,handler);else obj.addEventListener(name,handler,true);};TinyMCE_Windows.prototype.cancelEvent=function(e){if(this.isMSIE){e.returnValue=false;e.cancelBubble=true;}else e.preventDefault();};TinyMCE_Windows.prototype.parseFeatures=function(opts){opts=opts.toLowerCase();opts=opts.replace(/;/g,",");opts=opts.replace(/[^0-9a-z=,]/g,"");var optionChunks=opts.split(',');var options=new Array();options['left']="10";options['top']="10";options['width']="300";options['height']="300";options['resizable']="yes";options['minimizable']="yes";options['maximizable']="yes";options['close']="yes";options['movable']="yes";options['statusbar']="yes";options['scrollbars']="auto";options['modal']="no";if(opts=="")return options;for(var i=0;i<optionChunks.length;i++){var parts=optionChunks[i].split('=');if(parts.length==2)options[parts[0]]=parts[1];}options['left']=parseInt(options['left']);options['top']=parseInt(options['top']);options['width']=parseInt(options['width']);options['height']=parseInt(options['height']);return options;};TinyMCE_Windows.prototype.open=function(url,name,features){this.lastSelectedWindow=this.selectedWindow;var win=new TinyMCE_Window();var winDiv,html="",id;var imgPath=this.getParam("images_path");features=this.parseFeatures(features);id="mcWindow_"+name;win.deltaHeight=18;if(features['statusbar']=="yes"){win.deltaHeight+=13;if(this.isMSIE)win.deltaHeight+=1;}width=parseInt(features['width']);height=parseInt(features['height'])-win.deltaHeight;if(this.isMSIE)width-=2;win.id=id;win.url=url;win.name=name;win.features=features;this.windows[name]=win;iframeWidth=width;iframeHeight=height;html+='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';html+='<html>';html+='<head>';html+='<title>Wrapper iframe</title>';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';html+='<link href="'+this.getParam("css_file")+'" rel="stylesheet" type="text/css" />';html+='</head>';html+='<body onload="parent.mcWindows.onLoad(\''+name+'\');">';html+='<div id="'+id+'_container" class="mceWindow">';html+='<div id="'+id+'_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';html+='  <div id="'+id+'_title" class="mceWindowTitle"';html+='  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';html+='    <div class="mceWindowHeadTools">';html+='      <a href="javascript:parent.mcWindows.windows[\''+name+'\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="'+imgPath+'/window_close.gif" /></a>';html+='    </div>';html+='</div><div id="'+id+'_body" class="mceWindowBody" style="width: '+width+'px; height: '+height+'px;">';html+='<iframe id="'+id+'_iframe" name="'+id+'_iframe" frameborder="0" width="'+iframeWidth+'" height="'+iframeHeight+'" src="'+url+'" class="mceWindowBodyIframe" scrolling="'+features['scrollbars']+'"></iframe></div>';if(features['statusbar']=="yes"){html+='<div id="'+id+'_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';if(features['resizable']=="yes"){if(this.isGecko)html+='<div id="'+id+'_resize" class="mceWindowResize"><div style="background-image: url(\''+imgPath+'/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';else html+='<div id="'+id+'_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();" border="0" src="'+imgPath+'/window_resize.gif" /></div>';}html+='</div>';}html+='</div>';html+='</body>';html+='</html>';this.createFloatingIFrame(id,features['left'],features['top'],features['width'],features['height'],html);};TinyMCE_Windows.prototype.setDocumentLock=function(state){if(state){var elm=document.getElementById('mcWindowEventBlocker');if(elm==null){elm=document.createElement("div");elm.id="mcWindowEventBlocker";elm.style.position="absolute";elm.style.left="0";elm.style.top="0";document.body.appendChild(elm);}elm.style.display="none";var imgPath=this.getParam("images_path");var width=document.body.clientWidth;var height=document.body.clientHeight;elm.style.width=width;elm.style.height=height;elm.innerHTML='<img src="'+imgPath+'/spacer.gif" width="'+width+'" height="'+height+'" />';elm.style.zIndex=mcWindows.zindex-1;elm.style.display="block";}else{var elm=document.getElementById('mcWindowEventBlocker');if(mcWindows.windows.length==0)elm.parentNode.removeChild(elm);else elm.style.zIndex=mcWindows.zindex-1;}};TinyMCE_Windows.prototype.onLoad=function(name){var win=mcWindows.windows[name];var id="mcWindow_"+name;var wrapperIframe=window.frames[id+"_iframe"].frames[0];var wrapperDoc=window.frames[id+"_iframe"].document;var doc=window.frames[id+"_iframe"].document;var winDiv=document.getElementById("mcWindow_"+name+"_div");var realIframe=window.frames[id+"_iframe"].frames[0];win.id="mcWindow_"+name;win.winElement=winDiv;win.bodyElement=doc.getElementById(id+'_body');win.iframeElement=doc.getElementById(id+'_iframe');win.headElement=doc.getElementById(id+'_head');win.titleElement=doc.getElementById(id+'_title');win.resizeElement=doc.getElementById(id+'_resize');win.containerElement=doc.getElementById(id+'_container');win.left=win.features['left'];win.top=win.features['top'];win.frame=window.frames[id+'_iframe'].frames[0];win.wrapperFrame=window.frames[id+'_iframe'];win.wrapperIFrameElement=document.getElementById(id+"_iframe");mcWindows.addEvent(win.headElement,"mousedown",mcWindows.eventDispatcher);if(win.resizeElement!=null)mcWindows.addEvent(win.resizeElement,"mousedown",mcWindows.eventDispatcher);if(mcWindows.isMSIE){mcWindows.addEvent(realIframe.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe.document,"mouseup",mcWindows.eventDispatcher);}else{mcWindows.addEvent(realIframe,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"focus",mcWindows.eventDispatcher);}for(var i=0;i<window.frames.length;i++){if(!window.frames[i]._hasMouseHandlers){if(mcWindows.isMSIE){mcWindows.addEvent(window.frames[i].document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i].document,"mouseup",mcWindows.eventDispatcher);}else{mcWindows.addEvent(window.frames[i],"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i],"mouseup",mcWindows.eventDispatcher);}window.frames[i]._hasMouseHandlers=true;}}if(mcWindows.isMSIE){mcWindows.addEvent(win.frame.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame.document,"mouseup",mcWindows.eventDispatcher);}else{mcWindows.addEvent(win.frame,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"focus",mcWindows.eventDispatcher);}var func=this.getParam("on_open_window","");if(func!="")eval(func+"(win);");win.focus();if(win.features['modal']=="yes")mcWindows.setDocumentLock(true);};TinyMCE_Windows.prototype.createFloatingIFrame=function(id_prefix,left,top,width,height,html){var iframe=document.createElement("iframe");var div=document.createElement("div");width=parseInt(width);height=parseInt(height)+1;div.setAttribute("id",id_prefix+"_div");div.setAttribute("width",width);div.setAttribute("height",(height));div.style.position="absolute";div.style.left=left+"px";div.style.top=top+"px";div.style.width=width+"px";div.style.height=(height)+"px";div.style.backgroundColor="white";div.style.display="none";if(this.isGecko){iframeWidth=width+2;iframeHeight=height+2;}else{iframeWidth=width;iframeHeight=height+1;}iframe.setAttribute("id",id_prefix+"_iframe");iframe.setAttribute("name",id_prefix+"_iframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",iframeWidth);iframe.setAttribute("height",iframeHeight);iframe.setAttribute("scrolling","no");iframe.style.width=iframeWidth+"px";iframe.style.height=iframeHeight+"px";iframe.style.backgroundColor="white";div.appendChild(iframe);document.body.appendChild(div);div.innerHTML=div.innerHTML;if(this.isSafari){window.setTimeout(function(){doc=window.frames[id_prefix+'_iframe'].document;doc.open();doc.write(html);doc.close();},10);}else{doc=window.frames[id_prefix+'_iframe'].window.document;doc.open();doc.write(html);doc.close();}div.style.display="block";return div;};function TinyMCE_Window(){};TinyMCE_Window.prototype.focus=function(){if(this!=mcWindows.selectedWindow){this.winElement.style.zIndex=++mcWindows.zindex;mcWindows.lastSelectedWindow=mcWindows.selectedWindow;mcWindows.selectedWindow=this;}};TinyMCE_Window.prototype.minimize=function(){};TinyMCE_Window.prototype.maximize=function(){};TinyMCE_Window.prototype.startResize=function(){mcWindows.action="resize";};TinyMCE_Window.prototype.startMove=function(e){mcWindows.action="move";};TinyMCE_Window.prototype.close=function(){if(this.frame&&this.frame['tinyMCEPopup'])this.frame['tinyMCEPopup'].restoreSelection();if(mcWindows.lastSelectedWindow!=null)mcWindows.lastSelectedWindow.focus();var mcWindowsNew=new Array();for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win.name!=this.name)mcWindowsNew[n]=win;}mcWindows.windows=mcWindowsNew;var e=mcWindows.doc.getElementById(this.id+"_iframe");e.parentNode.removeChild(e);var e=mcWindows.doc.getElementById(this.id+"_div");e.parentNode.removeChild(e);mcWindows.setDocumentLock(false);};TinyMCE_Window.prototype.onMouseMove=function(e){var scrollX=0;var scrollY=0;var dx=e.screenX-mcWindows.mouseDownScreenX;var dy=e.screenY-mcWindows.mouseDownScreenY;switch(mcWindows.action){case"resize":width=mcWindows.mouseDownWidth+(e.screenX-mcWindows.mouseDownScreenX);height=mcWindows.mouseDownHeight+(e.screenY-mcWindows.mouseDownScreenY);width=width<100?100:width;height=height<100?100:height;this.wrapperIFrameElement.style.width=width+2;this.wrapperIFrameElement.style.height=height+2;this.wrapperIFrameElement.width=width+2;this.wrapperIFrameElement.height=height+2;this.winElement.style.width=width;this.winElement.style.height=height;height=height-this.deltaHeight;this.containerElement.style.width=width;this.iframeElement.style.width=width;this.iframeElement.style.height=height;this.bodyElement.style.width=width;this.bodyElement.style.height=height;this.headElement.style.width=width;mcWindows.cancelEvent(e);break;case"move":this.left=mcWindows.mouseDownLayerX+(e.screenX-mcWindows.mouseDownScreenX);this.top=mcWindows.mouseDownLayerY+(e.screenY-mcWindows.mouseDownScreenY);this.winElement.style.left=this.left+"px";this.winElement.style.top=this.top+"px";mcWindows.cancelEvent(e);break;}};function debug(msg){document.getElementById('debug').value+=msg+"\n";}TinyMCE_Window.prototype.onMouseUp=function(e){mcWindows.action="none";};TinyMCE_Window.prototype.onFocus=function(e){var winRef=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(winRef.name==win.id+"_iframe"){win.focus();return;}}};TinyMCE_Window.prototype.onMouseDown=function(e){var elm=mcWindows.isMSIE?this.wrapperFrame.event.srcElement:e.target;var scrollX=0;var scrollY=0;mcWindows.mouseDownScreenX=e.screenX;mcWindows.mouseDownScreenY=e.screenY;mcWindows.mouseDownLayerX=this.left;mcWindows.mouseDownLayerY=this.top;mcWindows.mouseDownWidth=parseInt(this.winElement.style.width);mcWindows.mouseDownHeight=parseInt(this.winElement.style.height);if(this.resizeElement!=null&&elm==this.resizeElement.firstChild)this.startResize(e);else this.startMove(e);mcWindows.cancelEvent(e);};var mcWindows=new TinyMCE_Windows();mcWindows.init({images_path:tinyMCE.baseURL+"/plugins/inlinepopups/images",css_file:tinyMCE.baseURL+"/plugins/inlinepopups/css/inlinepopup.css"});
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,662 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.8 $
+ * $Date: 2006/02/06 20:02:38 $
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Patch openWindow, closeWindow TinyMCE functions
+
+var TinyMCE_InlinePopupsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Inline Popups',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_inlinepopups.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	}
+};
+
+tinyMCE.addPlugin("inlinepopups", TinyMCE_InlinePopupsPlugin);
+
+// Patch openWindow, closeWindow TinyMCE functions
+
+TinyMCE_Engine.prototype.orgOpenWindow = TinyMCE_Engine.prototype.openWindow;
+
+TinyMCE_Engine.prototype.openWindow = function(template, args) {
+	// Does the caller support inline
+	if (args['inline'] != "yes" || tinyMCE.isOpera || tinyMCE.getParam("plugins").indexOf('inlinepopups') == -1) {
+		mcWindows.selectedWindow = null;
+		args['mce_inside_iframe'] = false;
+		this.orgOpenWindow(template, args);
+		return;
+	}
+
+	var url, resizable, scrollbars;
+
+	args['mce_inside_iframe'] = true;
+	tinyMCE.windowArgs = args;
+
+	if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+		url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+	else
+		url = template['file'];
+
+	if (!(width = parseInt(template['width'])))
+		width = 320;
+
+	if (!(height = parseInt(template['height'])))
+		height = 200;
+
+	resizable = (args && args['resizable']) ? args['resizable'] : "no";
+	scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+	height += 18;
+
+	// Replace all args as variables in URL
+	for (var name in args) {
+		if (typeof(args[name]) == 'function')
+			continue;
+
+		url = tinyMCE.replaceVar(url, name, escape(args[name]));
+	}
+
+	var elm = document.getElementById(this.selectedInstance.editorId + '_parent');
+	var pos = tinyMCE.getAbsPosition(elm);
+
+	// Center div in editor area
+	pos.absLeft += Math.round((elm.firstChild.clientWidth / 2) - (width / 2));
+	pos.absTop += Math.round((elm.firstChild.clientHeight / 2) - (height / 2));
+
+	mcWindows.open(url, mcWindows.idCounter++, "modal=yes,width=" + width+ ",height=" + height + ",resizable=" + resizable + ",scrollbars=" + scrollbars + ",statusbar=" + resizable + ",left=" + pos.absLeft + ",top=" + pos.absTop);
+};
+
+TinyMCE_Engine.prototype.orgCloseWindow = TinyMCE_Engine.prototype.closeWindow;
+
+TinyMCE_Engine.prototype.closeWindow = function(win) {
+	if (mcWindows.selectedWindow != null)
+		mcWindows.selectedWindow.close();
+	else
+		this.orgCloseWindow(win);
+};
+
+TinyMCE_Engine.prototype.setWindowTitle = function(win_ref, title) {
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (win_ref.name == win.id + "_iframe")
+			window.frames[win.id + "_iframe"].document.getElementById(win.id + '_title').innerHTML = title;
+	}
+};
+
+// * * * * * TinyMCE_Windows classes below
+
+// Windows handler
+function TinyMCE_Windows() {
+	this.settings = new Array();
+	this.windows = new Array();
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+	this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+	this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+	this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+	this.action = "none";
+	this.selectedWindow = null;
+	this.lastSelectedWindow = null;
+	this.zindex = 100;
+	this.mouseDownScreenX = 0;
+	this.mouseDownScreenY = 0;
+	this.mouseDownLayerX = 0;
+	this.mouseDownLayerY = 0;
+	this.mouseDownWidth = 0;
+	this.mouseDownHeight = 0;
+	this.idCounter = 0;
+};
+
+TinyMCE_Windows.prototype.init = function(settings) {
+	this.settings = settings;
+
+	if (this.isMSIE)
+		this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+	else
+		this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+	this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+
+	this.doc = document;
+};
+
+TinyMCE_Windows.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+TinyMCE_Windows.prototype.eventDispatcher = function(e) {
+	e = typeof(e) == "undefined" ? window.event : e;
+
+	if (mcWindows.selectedWindow == null)
+		return;
+
+	// Switch focus
+	if (mcWindows.isGecko && e.type == "mousedown") {
+		var elm = e.currentTarget;
+
+		for (var n in mcWindows.windows) {
+			var win = mcWindows.windows[n];
+
+			if (win.headElement == elm || win.resizeElement == elm) {
+				win.focus();
+				break;
+			}
+		}
+	}
+
+	switch (e.type) {
+		case "mousemove":
+			mcWindows.selectedWindow.onMouseMove(e);
+			break;
+
+		case "mouseup":
+			mcWindows.selectedWindow.onMouseUp(e);
+			break;
+
+		case "mousedown":
+			mcWindows.selectedWindow.onMouseDown(e);
+			break;
+
+		case "focus":
+			mcWindows.selectedWindow.onFocus(e);
+			break;
+	}
+};
+
+TinyMCE_Windows.prototype.addEvent = function(obj, name, handler) {
+	if (this.isMSIE)
+		obj.attachEvent("on" + name, handler);
+	else
+		obj.addEventListener(name, handler, true);
+};
+
+TinyMCE_Windows.prototype.cancelEvent = function(e) {
+	if (this.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else
+		e.preventDefault();
+};
+
+TinyMCE_Windows.prototype.parseFeatures = function(opts) {
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	options['left'] = "10";
+	options['top'] = "10";
+	options['width'] = "300";
+	options['height'] = "300";
+	options['resizable'] = "yes";
+	options['minimizable'] = "yes";
+	options['maximizable'] = "yes";
+	options['close'] = "yes";
+	options['movable'] = "yes";
+	options['statusbar'] = "yes";
+	options['scrollbars'] = "auto";
+	options['modal'] = "no";
+
+	if (opts == "")
+		return options;
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	options['left'] = parseInt(options['left']);
+	options['top'] = parseInt(options['top']);
+	options['width'] = parseInt(options['width']);
+	options['height'] = parseInt(options['height']);
+
+	return options;
+};
+
+TinyMCE_Windows.prototype.open = function(url, name, features) {
+	this.lastSelectedWindow = this.selectedWindow;
+
+	var win = new TinyMCE_Window();
+	var winDiv, html = "", id;
+	var imgPath = this.getParam("images_path");
+
+	features = this.parseFeatures(features);
+
+	// Create div
+	id = "mcWindow_" + name;
+	win.deltaHeight = 18;
+
+	if (features['statusbar'] == "yes") {
+		win.deltaHeight += 13;
+
+		if (this.isMSIE)
+			win.deltaHeight += 1;
+	}
+
+	width = parseInt(features['width']);
+	height = parseInt(features['height'])-win.deltaHeight;
+
+	if (this.isMSIE)
+		width -= 2;
+
+	// Setup first part of window
+	win.id = id;
+	win.url = url;
+	win.name = name;
+	win.features = features;
+	this.windows[name] = win;
+
+	iframeWidth = width;
+	iframeHeight = height;
+
+	// Create inner content
+	html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+	html += '<html>';
+	html += '<head>';
+	html += '<title>Wrapper iframe</title>';
+	html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+	html += '<link href="' + this.getParam("css_file") + '" rel="stylesheet" type="text/css" />';
+	html += '</head>';
+	html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+	html += '<div id="' + id + '_container" class="mceWindow">';
+	html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+	html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';
+	html += '    <div class="mceWindowHeadTools">';
+	html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="' + imgPath + '/window_close.gif" /></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" target="_self" onmousedown="return false;" class="mceWindowMinimize"></a>';
+	html += '    </div>';
+	html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+	html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe" scrolling="' + features['scrollbars'] + '"></iframe></div>';
+
+	if (features['statusbar'] == "yes") {
+		html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+
+		if (features['resizable'] == "yes") {
+			if (this.isGecko)
+				html += '<div id="' + id + '_resize" class="mceWindowResize"><div style="background-image: url(\'' + imgPath + '/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';
+			else
+				html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="' + imgPath + '/window_resize.gif" /></div>';
+		}
+
+		html += '</div>';
+	}
+
+	html += '</div>';
+
+	html += '</body>';
+	html += '</html>';
+
+	// Create iframe
+	this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Blocks the document events by placing a image over the whole document
+TinyMCE_Windows.prototype.setDocumentLock = function(state) {
+	if (state) {
+		var elm = document.getElementById('mcWindowEventBlocker');
+		if (elm == null) {
+			elm = document.createElement("div");
+
+			elm.id = "mcWindowEventBlocker";
+			elm.style.position = "absolute";
+			elm.style.left = "0";
+			elm.style.top = "0";
+
+			document.body.appendChild(elm);
+		}
+
+		elm.style.display = "none";
+
+		var imgPath = this.getParam("images_path");
+		var width = document.body.clientWidth;
+		var height = document.body.clientHeight;
+
+		elm.style.width = width;
+		elm.style.height = height;
+		elm.innerHTML = '<img src="' + imgPath + '/spacer.gif" width="' + width + '" height="' + height + '" />';
+
+		elm.style.zIndex = mcWindows.zindex-1;
+		elm.style.display = "block";
+	} else {
+		var elm = document.getElementById('mcWindowEventBlocker');
+
+		if (mcWindows.windows.length == 0)
+			elm.parentNode.removeChild(elm);
+		else
+			elm.style.zIndex = mcWindows.zindex-1;
+	}
+};
+
+// Gets called when wrapper iframe is initialized
+TinyMCE_Windows.prototype.onLoad = function(name) {
+	var win = mcWindows.windows[name];
+	var id = "mcWindow_" + name;
+	var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+	var wrapperDoc = window.frames[id + "_iframe"].document;
+	var doc = window.frames[id + "_iframe"].document;
+	var winDiv = document.getElementById("mcWindow_" + name + "_div");
+	var realIframe = window.frames[id + "_iframe"].frames[0];
+
+	// Set window data
+	win.id = "mcWindow_" + name;
+	win.winElement = winDiv;
+	win.bodyElement = doc.getElementById(id + '_body');
+	win.iframeElement = doc.getElementById(id + '_iframe');
+	win.headElement = doc.getElementById(id + '_head');
+	win.titleElement = doc.getElementById(id + '_title');
+	win.resizeElement = doc.getElementById(id + '_resize');
+	win.containerElement = doc.getElementById(id + '_container');
+	win.left = win.features['left'];
+	win.top = win.features['top'];
+	win.frame = window.frames[id + '_iframe'].frames[0];
+	win.wrapperFrame = window.frames[id + '_iframe'];
+	win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+	// Add event handlers
+	mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (win.resizeElement != null)
+		mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+	}
+
+	for (var i=0; i<window.frames.length; i++) {
+		if (!window.frames[i]._hasMouseHandlers) {
+			if (mcWindows.isMSIE) {
+				mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+			} else {
+				mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+			}
+
+			window.frames[i]._hasMouseHandlers = true;
+		}
+	}
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+	}
+
+	// Dispatch open window event
+	var func = this.getParam("on_open_window", "");
+	if (func != "")
+		eval(func + "(win);");
+
+	win.focus();
+
+	if (win.features['modal'] == "yes")
+		mcWindows.setDocumentLock(true);
+};
+
+TinyMCE_Windows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+	var iframe = document.createElement("iframe");
+	var div = document.createElement("div");
+
+	width = parseInt(width);
+	height = parseInt(height)+1;
+
+	// Create wrapper div
+	div.setAttribute("id", id_prefix + "_div");
+	div.setAttribute("width", width);
+	div.setAttribute("height", (height));
+	div.style.position = "absolute";
+	div.style.left = left + "px";
+	div.style.top = top + "px";
+	div.style.width = width + "px";
+	div.style.height = (height) + "px";
+	div.style.backgroundColor = "white";
+	div.style.display = "none";
+
+	if (this.isGecko) {
+		iframeWidth = width + 2;
+		iframeHeight = height + 2;
+	} else {
+		iframeWidth = width;
+		iframeHeight = height + 1;
+	}
+
+	// Create iframe
+	iframe.setAttribute("id", id_prefix + "_iframe");
+	iframe.setAttribute("name", id_prefix + "_iframe");
+	iframe.setAttribute("border", "0");
+	iframe.setAttribute("frameBorder", "0");
+	iframe.setAttribute("marginWidth", "0");
+	iframe.setAttribute("marginHeight", "0");
+	iframe.setAttribute("leftMargin", "0");
+	iframe.setAttribute("topMargin", "0");
+	iframe.setAttribute("width", iframeWidth);
+	iframe.setAttribute("height", iframeHeight);
+//	iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+	// iframe.setAttribute("allowtransparency", "false");
+	iframe.setAttribute("scrolling", "no");
+	iframe.style.width = iframeWidth + "px";
+	iframe.style.height = iframeHeight + "px";
+	iframe.style.backgroundColor = "white";
+	div.appendChild(iframe);
+
+	document.body.appendChild(div);
+
+	// Fixed MSIE 5.0 issue
+	div.innerHTML = div.innerHTML;
+
+	if (this.isSafari) {
+		// Give Safari some time to setup
+		window.setTimeout(function() {
+			doc = window.frames[id_prefix + '_iframe'].document;
+			doc.open();
+			doc.write(html);
+			doc.close();
+		}, 10);
+	} else {
+		doc = window.frames[id_prefix + '_iframe'].window.document;
+		doc.open();
+		doc.write(html);
+		doc.close();
+	}
+
+	div.style.display = "block";
+
+	return div;
+};
+
+// Window instance
+function TinyMCE_Window() {
+};
+
+TinyMCE_Window.prototype.focus = function() {
+	if (this != mcWindows.selectedWindow) {
+		this.winElement.style.zIndex = ++mcWindows.zindex;
+		mcWindows.lastSelectedWindow = mcWindows.selectedWindow;
+		mcWindows.selectedWindow = this;
+	}
+};
+
+TinyMCE_Window.prototype.minimize = function() {
+};
+
+TinyMCE_Window.prototype.maximize = function() {
+	
+};
+
+TinyMCE_Window.prototype.startResize = function() {
+	mcWindows.action = "resize";
+};
+
+TinyMCE_Window.prototype.startMove = function(e) {
+	mcWindows.action = "move";
+};
+
+TinyMCE_Window.prototype.close = function() {
+	if (this.frame && this.frame['tinyMCEPopup'])
+		this.frame['tinyMCEPopup'].restoreSelection();
+
+	if (mcWindows.lastSelectedWindow != null)
+		mcWindows.lastSelectedWindow.focus();
+
+	var mcWindowsNew = new Array();
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (win.name != this.name)
+			mcWindowsNew[n] = win;
+	}
+
+	mcWindows.windows = mcWindowsNew;
+
+//	alert(mcWindows.doc.getElementById(this.id + "_iframe"));
+
+	var e = mcWindows.doc.getElementById(this.id + "_iframe");
+	e.parentNode.removeChild(e);
+
+	var e = mcWindows.doc.getElementById(this.id + "_div");
+	e.parentNode.removeChild(e);
+
+	mcWindows.setDocumentLock(false);
+};
+
+TinyMCE_Window.prototype.onMouseMove = function(e) {
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	// Calculate real X, Y
+	var dx = e.screenX - mcWindows.mouseDownScreenX;
+	var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+	switch (mcWindows.action) {
+		case "resize":
+			width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
+			height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
+
+			width = width < 100 ? 100 : width;
+			height = height < 100 ? 100 : height;
+
+			this.wrapperIFrameElement.style.width = width+2;
+			this.wrapperIFrameElement.style.height = height+2;
+			this.wrapperIFrameElement.width = width+2;
+			this.wrapperIFrameElement.height = height+2;
+			this.winElement.style.width = width;
+			this.winElement.style.height = height;
+
+			height = height - this.deltaHeight;
+
+			this.containerElement.style.width = width;
+
+			this.iframeElement.style.width = width;
+			this.iframeElement.style.height = height;
+			this.bodyElement.style.width = width;
+			this.bodyElement.style.height = height;
+			this.headElement.style.width = width;
+			//this.statusElement.style.width = width;
+
+			mcWindows.cancelEvent(e);
+			break;
+
+		case "move":
+			this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+			this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+			this.winElement.style.left = this.left + "px";
+			this.winElement.style.top = this.top + "px";
+
+			mcWindows.cancelEvent(e);
+			break;
+	}
+};
+
+function debug(msg) {
+	document.getElementById('debug').value += msg + "\n";
+}
+
+TinyMCE_Window.prototype.onMouseUp = function(e) {
+	mcWindows.action = "none";
+};
+
+TinyMCE_Window.prototype.onFocus = function(e) {
+	// Gecko only handler
+	var winRef = e.currentTarget;
+
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (winRef.name == win.id + "_iframe") {
+			win.focus();
+			return;
+		}
+	}
+};
+
+TinyMCE_Window.prototype.onMouseDown = function(e) {
+	var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	mcWindows.mouseDownScreenX = e.screenX;
+	mcWindows.mouseDownScreenY = e.screenY;
+	mcWindows.mouseDownLayerX = this.left;
+	mcWindows.mouseDownLayerY = this.top;
+	mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+	mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+	if (this.resizeElement != null && elm == this.resizeElement.firstChild)
+		this.startResize(e);
+	else
+		this.startMove(e);
+
+	mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new TinyMCE_Windows();
+
+// Initialize windows
+mcWindows.init({
+	images_path : tinyMCE.baseURL + "/plugins/inlinepopups/images",
+	css_file : tinyMCE.baseURL + "/plugins/inlinepopups/css/inlinepopup.css"
+});
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/spacer.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/spacer.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/window_close.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/window_close.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,455 @@
+/**
+ * $RCSfile: mcwindows.js,v $
+ * $Revision: 1.2 $
+ * $Date: 2005/10/18 13:59:43 $
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Windows handler
+function MCWindows() {
+	this.settings = new Array();
+	this.windows = new Array();
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+	this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+	this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+	this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+	this.action = "none";
+	this.selectedWindow = null;
+	this.zindex = 100;
+	this.mouseDownScreenX = 0;
+	this.mouseDownScreenY = 0;
+	this.mouseDownLayerX = 0;
+	this.mouseDownLayerY = 0;
+	this.mouseDownWidth = 0;
+	this.mouseDownHeight = 0;
+};
+
+MCWindows.prototype.init = function(settings) {
+	this.settings = settings;
+
+	if (this.isMSIE)
+		this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+	else
+		this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+	this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+};
+
+MCWindows.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+MCWindows.prototype.eventDispatcher = function(e) {
+	e = typeof(e) == "undefined" ? window.event : e;
+
+	if (mcWindows.selectedWindow == null)
+		return;
+
+	// Switch focus
+	if (mcWindows.isGecko && e.type == "mousedown") {
+		var elm = e.currentTarget;
+
+		for (var n in mcWindows.windows) {
+			var win = mcWindows.windows[n];
+			if (typeof(win) == 'function')
+				continue;
+
+			if (win.headElement == elm || win.resizeElement == elm) {
+				win.focus();
+				break;
+			}
+		}
+	}
+
+	switch (e.type) {
+		case "mousemove":
+			mcWindows.selectedWindow.onMouseMove(e);
+			break;
+
+		case "mouseup":
+			mcWindows.selectedWindow.onMouseUp(e);
+			break;
+
+		case "mousedown":
+			mcWindows.selectedWindow.onMouseDown(e);
+			break;
+
+		case "focus":
+			mcWindows.selectedWindow.onFocus(e);
+			break;
+	}
+}
+
+MCWindows.prototype.addEvent = function(obj, name, handler) {
+	if (this.isMSIE)
+		obj.attachEvent("on" + name, handler);
+	else
+		obj.addEventListener(name, handler, true);
+};
+
+MCWindows.prototype.cancelEvent = function(e) {
+	if (this.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else
+		e.preventDefault();
+};
+
+MCWindows.prototype.parseFeatures = function(opts) {
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	options['left'] = 10;
+	options['top'] = 10;
+	options['width'] = 300;
+	options['height'] = 300;
+	options['resizable'] = true;
+	options['minimizable'] = true;
+	options['maximizable'] = true;
+	options['close'] = true;
+	options['movable'] = true;
+
+	if (opts == "")
+		return options;
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	return options;
+};
+
+MCWindows.prototype.open = function(url, name, features) {
+	var win = new MCWindow();
+	var winDiv, html = "", id;
+
+	features = this.parseFeatures(features);
+
+	// Create div
+	id = "mcWindow_" + name;
+
+	width = parseInt(features['width']);
+	height = parseInt(features['height'])-12-19;
+
+	if (this.isMSIE)
+		width -= 2;
+
+	// Setup first part of window
+	win.id = id;
+	win.url = url;
+	win.name = name;
+	win.features = features;
+	this.windows[name] = win;
+
+	iframeWidth = width;
+	iframeHeight = height;
+
+	// Create inner content
+	html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+	html += '<html>';
+	html += '<head>';
+	html += '<title>Wrapper iframe</title>';
+	html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+	html += '<link href="../jscripts/tiny_mce/themes/advanced/css/editor_ui.css" rel="stylesheet" type="text/css" />';
+	html += '</head>';
+	html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+	html += '<div id="' + id + '_container" class="mceWindow">';
+	html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+	html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;">No name window</div>';
+	html += '    <div class="mceWindowHeadTools">';
+	html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" onmousedown="return false;" class="mceWindowClose"><img border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_close.gif" /></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" onmousedown="return false;" class="mceWindowMaximize"></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" onmousedown="return false;" class="mceWindowMinimize"></a>';
+	html += '    </div>';
+	html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+	html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" onfocus="parent.mcWindows.windows[\'' + name + '\'].focus();" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe"></iframe></div>';
+	html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_resize.gif" /></div>';
+	html += '</div>';
+	html += '</div>';
+
+	html += '</body>';
+	html += '</html>';
+
+	// Create iframe
+	this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Gets called when wrapper iframe is initialized
+MCWindows.prototype.onLoad = function(name) {
+	var win = mcWindows.windows[name];
+	var id = "mcWindow_" + name;
+	var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+	var wrapperDoc = window.frames[id + "_iframe"].document;
+	var doc = window.frames[id + "_iframe"].document;
+	var winDiv = document.getElementById("mcWindow_" + name + "_div");
+	var realIframe = window.frames[id + "_iframe"].frames[0];
+
+	// Set window data
+	win.id = "mcWindow_" + name + "_iframe";
+	win.winElement = winDiv;
+	win.bodyElement = doc.getElementById(id + '_body');
+	win.iframeElement = doc.getElementById(id + '_iframe');
+	win.headElement = doc.getElementById(id + '_head');
+	win.titleElement = doc.getElementById(id + '_title');
+	win.resizeElement = doc.getElementById(id + '_resize');
+	win.containerElement = doc.getElementById(id + '_container');
+	win.left = win.features['left'];
+	win.top = win.features['top'];
+	win.frame = window.frames[id + '_iframe'].frames[0];
+	win.wrapperFrame = window.frames[id + '_iframe'];
+	win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+	// Add event handlers
+	mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+	mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+	}
+
+	for (var i=0; i<window.frames.length; i++) {
+		if (!window.frames[i]._hasMouseHandlers) {
+			if (mcWindows.isMSIE) {
+				mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+			} else {
+				mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+			}
+
+			window.frames[i]._hasMouseHandlers = true;
+		}
+	}
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+	}
+
+	this.selectedWindow = win;
+};
+
+MCWindows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+	var iframe = document.createElement("iframe");
+	var div = document.createElement("div");
+
+	width = parseInt(width);
+	height = parseInt(height)+1;
+
+	// Create wrapper div
+	div.setAttribute("id", id_prefix + "_div");
+	div.setAttribute("width", width);
+	div.setAttribute("height", (height));
+	div.style.position = "absolute";
+	div.style.left = left + "px";
+	div.style.top = top + "px";
+	div.style.width = width + "px";
+	div.style.height = (height) + "px";
+	div.style.backgroundColor = "white";
+	div.style.display = "none";
+
+	if (this.isGecko) {
+		iframeWidth = width + 2;
+		iframeHeight = height + 2;
+	} else {
+		iframeWidth = width;
+		iframeHeight = height + 1;
+	}
+
+	// Create iframe
+	iframe.setAttribute("id", id_prefix + "_iframe");
+	iframe.setAttribute("name", id_prefix + "_iframe");
+	iframe.setAttribute("border", "0");
+	iframe.setAttribute("frameBorder", "0");
+	iframe.setAttribute("marginWidth", "0");
+	iframe.setAttribute("marginHeight", "0");
+	iframe.setAttribute("leftMargin", "0");
+	iframe.setAttribute("topMargin", "0");
+	iframe.setAttribute("width", iframeWidth);
+	iframe.setAttribute("height", iframeHeight);
+//	iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+	// iframe.setAttribute("allowtransparency", "false");
+	iframe.setAttribute("scrolling", "no");
+	iframe.style.width = iframeWidth + "px";
+	iframe.style.height = iframeHeight + "px";
+	iframe.style.backgroundColor = "white";
+	div.appendChild(iframe);
+
+	document.body.appendChild(div);
+
+	// Fixed MSIE 5.0 issue
+	div.innerHTML = div.innerHTML;
+
+	if (this.isSafari) {
+		// Give Safari some time to setup
+		window.setTimeout(function() {
+			doc = window.frames[id_prefix + '_iframe'].document;
+			doc.open();
+			doc.write(html);
+			doc.close();
+		}, 10);
+	} else {
+		doc = window.frames[id_prefix + '_iframe'].window.document
+		doc.open();
+		doc.write(html);
+		doc.close();
+	}
+
+	div.style.display = "block";
+
+	return div;
+};
+
+// Window instance
+function MCWindow() {
+};
+
+MCWindow.prototype.focus = function() {
+	this.winElement.style.zIndex = mcWindows.zindex++;
+	mcWindows.selectedWindow = this;
+};
+
+MCWindow.prototype.minimize = function() {
+};
+
+MCWindow.prototype.maximize = function() {
+	
+};
+
+MCWindow.prototype.startResize = function() {
+	mcWindows.action = "resize";
+};
+
+MCWindow.prototype.startMove = function(e) {
+	mcWindows.action = "move";
+};
+
+MCWindow.prototype.close = function() {
+	document.body.removeChild(this.winElement);
+	mcWindows.windows[this.name] = null;
+};
+
+MCWindow.prototype.onMouseMove = function(e) {
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	// Calculate real X, Y
+	var dx = e.screenX - mcWindows.mouseDownScreenX;
+	var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+	switch (mcWindows.action) {
+		case "resize":
+			width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
+			height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
+
+			width = width < 100 ? 100 : width;
+			height = height < 100 ? 100 : height;
+
+			this.wrapperIFrameElement.style.width = width+2;
+			this.wrapperIFrameElement.style.height = height+2;
+			this.wrapperIFrameElement.width = width+2;
+			this.wrapperIFrameElement.height = height+2;
+			this.winElement.style.width = width;
+			this.winElement.style.height = height;
+
+			height = height-12-19;
+
+			this.containerElement.style.width = width;
+
+			this.iframeElement.style.width = width;
+			this.iframeElement.style.height = height;
+			this.bodyElement.style.width = width;
+			this.bodyElement.style.height = height;
+			this.headElement.style.width = width;
+			//this.statusElement.style.width = width;
+
+			mcWindows.cancelEvent(e);
+			break;
+
+		case "move":
+			this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+			this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+			this.winElement.style.left = this.left + "px";
+			this.winElement.style.top = this.top + "px";
+
+			mcWindows.cancelEvent(e);
+			break;
+	}
+};
+
+MCWindow.prototype.onMouseUp = function(e) {
+	mcWindows.action = "none";
+};
+
+MCWindow.prototype.onFocus = function(e) {
+	// Gecko only handler
+	var winRef = e.currentTarget;
+
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (winRef.name == win.id) {
+			win.focus();
+			return;
+		}
+	}
+};
+
+MCWindow.prototype.onMouseDown = function(e) {
+	var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	mcWindows.mouseDownScreenX = e.screenX;
+	mcWindows.mouseDownScreenY = e.screenY;
+	mcWindows.mouseDownLayerX = this.left;
+	mcWindows.mouseDownLayerY = this.top;
+	mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+	mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+	if (elm == this.resizeElement.firstChild)
+		this.startResize(e);
+	else
+		this.startMove(e);
+
+	mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new MCWindows();
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('insertdatetime','en,tr,cs,el,fr_ca,it,ko,sv,zh_cn,fa,fr,de,pl,pt_br,nl,da,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,pl');var TinyMCE_InsertDateTimePlugin={getInfo:function(){return{longname:'Insert date/time',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_insertdatetime.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"insertdate":return tinyMCE.getButtonHTML(cn,'lang_insertdate_desc','{$pluginurl}/images/insertdate.gif','mceInsertDate');case"inserttime":return tinyMCE.getButtonHTML(cn,'lang_inserttime_desc','{$pluginurl}/images/inserttime.gif','mceInsertTime');}return"";},execCommand:function(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length<len){for(var i=0;i<(len-value.length);i++)value="0"+value;}return value;}function getDateTime(date,format){format=tinyMCE.regexpReplace(format,"%D","%m/%d/%y");format=tinyMCE.regexpReplace(format,"%r","%I:%M:%S %p");format=tinyMCE.regexpReplace(format,"%Y",""+date.getFullYear());format=tinyMCE.regexpReplace(format,"%y",""+date.getYear());format=tinyMCE.regexpReplace(format,"%m",addZeros(date.getMonth()+1,2));format=tinyMCE.regexpReplace(format,"%d",addZeros(date.getDate(),2));format=tinyMCE.regexpReplace(format,"%H",""+addZeros(date.getHours(),2));format=tinyMCE.regexpReplace(format,"%M",""+addZeros(date.getMinutes(),2));format=tinyMCE.regexpReplace(format,"%S",""+addZeros(date.getSeconds(),2));format=tinyMCE.regexpReplace(format,"%I",""+((date.getHours()+11)%12+1));format=tinyMCE.regexpReplace(format,"%p",""+(date.getHours()<12?"AM":"PM"));format=tinyMCE.regexpReplace(format,"%B",""+tinyMCE.getLang("lang_inserttime_months_long")[date.getMonth()]);format=tinyMCE.regexpReplace(format,"%b",""+tinyMCE.getLang("lang_inserttime_months_short")[date.getMonth()]);format=tinyMCE.regexpReplace(format,"%A",""+tinyMCE.getLang("lang_inserttime_day_long")[date.getDay()]);format=tinyMCE.regexpReplace(format,"%a",""+tinyMCE.getLang("lang_inserttime_day_short")[date.getDay()]);format=tinyMCE.regexpReplace(format,"%%","%");return format;}switch(command){case"mceInsertDate":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_dateFormat",tinyMCE.getLang('lang_insertdate_def_fmt'))));return true;case"mceInsertTime":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_timeFormat",tinyMCE.getLang('lang_inserttime_def_fmt'))));return true;}return false;}};tinyMCE.addPlugin("insertdatetime",TinyMCE_InsertDateTimePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,93 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.22 $
+ * $Date: 2006/02/10 16:29:39 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('insertdatetime', 'en,tr,cs,el,fr_ca,it,ko,sv,zh_cn,fa,fr,de,pl,pt_br,nl,da,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,pl');
+
+var TinyMCE_InsertDateTimePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Insert date/time',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_insertdatetime.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the insertdate, inserttime controls.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "insertdate":
+				return tinyMCE.getButtonHTML(cn, 'lang_insertdate_desc', '{$pluginurl}/images/insertdate.gif', 'mceInsertDate');
+
+			case "inserttime":
+				return tinyMCE.getButtonHTML(cn, 'lang_inserttime_desc', '{$pluginurl}/images/inserttime.gif', 'mceInsertTime');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceInsertDate command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		/* Adds zeros infront of value */
+		function addZeros(value, len) {
+			value = "" + value;
+
+			if (value.length < len) {
+				for (var i=0; i<(len-value.length); i++)
+					value = "0" + value;
+			}
+
+			return value;
+		}
+
+		/* Returns the date object in the specified format */
+		function getDateTime(date, format) {
+			format = tinyMCE.regexpReplace(format, "%D", "%m/%d/%y");
+			format = tinyMCE.regexpReplace(format, "%r", "%I:%M:%S %p");
+			format = tinyMCE.regexpReplace(format, "%Y", "" + date.getFullYear());
+			format = tinyMCE.regexpReplace(format, "%y", "" + date.getYear());
+			format = tinyMCE.regexpReplace(format, "%m", addZeros(date.getMonth()+1, 2));
+			format = tinyMCE.regexpReplace(format, "%d", addZeros(date.getDate(), 2));
+			format = tinyMCE.regexpReplace(format, "%H", "" + addZeros(date.getHours(), 2));
+			format = tinyMCE.regexpReplace(format, "%M", "" + addZeros(date.getMinutes(), 2));
+			format = tinyMCE.regexpReplace(format, "%S", "" + addZeros(date.getSeconds(), 2));
+			format = tinyMCE.regexpReplace(format, "%I", "" + ((date.getHours() + 11) % 12 + 1));
+			format = tinyMCE.regexpReplace(format, "%p", "" + (date.getHours() < 12 ? "AM" : "PM"));
+			format = tinyMCE.regexpReplace(format, "%B", "" + tinyMCE.getLang("lang_inserttime_months_long")[date.getMonth()]);
+			format = tinyMCE.regexpReplace(format, "%b", "" + tinyMCE.getLang("lang_inserttime_months_short")[date.getMonth()]);
+			format = tinyMCE.regexpReplace(format, "%A", "" + tinyMCE.getLang("lang_inserttime_day_long")[date.getDay()]);
+			format = tinyMCE.regexpReplace(format, "%a", "" + tinyMCE.getLang("lang_inserttime_day_short")[date.getDay()]);
+			format = tinyMCE.regexpReplace(format, "%%", "%");
+
+			return format;
+		}
+
+		// Handle commands
+		switch (command) {
+			case "mceInsertDate":
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_dateFormat", tinyMCE.getLang('lang_insertdate_def_fmt'))));
+				return true;
+
+			case "mceInsertTime":
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_timeFormat", tinyMCE.getLang('lang_inserttime_def_fmt'))));
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("insertdatetime", TinyMCE_InsertDateTimePlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,12 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Insert date',
+inserttime_desc : 'Insert time',
+inserttime_months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
+inserttime_months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
+inserttime_day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
+inserttime_day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('layer','en');var TinyMCE_LayerPlugin={getInfo:function(){return{longname:'Layer',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_layer.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isMSIE&&!tinyMCE.isOpera)inst.getDoc().execCommand('2D-Position');},handleEvent:function(e){var inst=tinyMCE.selectedInstance,self=TinyMCE_LayerPlugin;var w=inst.getWin(),le=inst._lastStyleElm,e;if(tinyMCE.isGecko){e=self._getParentLayer(inst.getFocusElement());if(e){if(!inst._lastStyleElm){e.style.overflow='auto';inst._lastStyleElm=e;}}else if(le){le=inst._lastStyleElm;le.style.width=le.scrollWidth+'px';le.style.height=le.scrollHeight+'px';le.style.overflow='';inst._lastStyleElm=null;}}return true;},handleVisualAid:function(el,deep,state,inst){var nl=inst.getDoc().getElementsByTagName("div"),i;for(i=0;i<nl.length;i++){if(new RegExp('absolute|relative|static','gi').test(nl[i].style.position)){if(state)tinyMCE.addCSSClass(nl[i],'mceVisualAid');else tinyMCE.removeCSSClass(nl[i],'mceVisualAid');}}},getControlHTML:function(cn){switch(cn){case"moveforward":return tinyMCE.getButtonHTML(cn,'lang_layer_forward_desc','{$pluginurl}/images/forward.gif','mceMoveForward',true);case"movebackward":return tinyMCE.getButtonHTML(cn,'lang_layer_backward_desc','{$pluginurl}/images/backward.gif','mceMoveBackward',true);case"absolute":return tinyMCE.getButtonHTML(cn,'lang_layer_absolute_desc','{$pluginurl}/images/absolute.gif','mceMakeAbsolute',true);case"insertlayer":return tinyMCE.getButtonHTML(cn,'lang_layer_insertlayer_desc','{$pluginurl}/images/insert_layer.gif','mceInsertLayer',true);}return"";},execCommand:function(editor_id,element,command,user_interface,value){var self=TinyMCE_LayerPlugin;switch(command){case"mceInsertLayer":self._insertLayer();return true;case"mceMoveForward":self._move(1);return true;case"mceMoveBackward":self._move(-1);return true;case"mceMakeAbsolute":self._toggleAbsolute();return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst=tinyMCE.getInstanceById(editor_id),self=TinyMCE_LayerPlugin;var le=self._getParentLayer(inst.getFocusElement());var p=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');tinyMCE.switchClass(editor_id+'_absolute','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonDisabled');if(p)tinyMCE.switchClass(editor_id+'_absolute','mceButtonNormal');if(le&&le.style.position.toLowerCase()=="absolute"){tinyMCE.switchClass(editor_id+'_absolute','mceButtonSelected');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonNormal');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonNormal');}},_move:function(d){var inst=tinyMCE.selectedInstance,self=TinyMCE_LayerPlugin,i,z=new Array();var le=self._getParentLayer(inst.getFocusElement()),ci=-1,fi=-1;var nl=tinyMCE.selectNodes(inst.getBody(),function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position);});for(i=0;i<nl.length;i++){z[i]=nl[i].style.zIndex?parseInt(nl[i].style.zIndex):0;if(ci<0&&nl[i]==le)ci=i;}if(d<0){for(i=0;i<z.length;i++){if(z[i]<z[ci]){fi=i;break;}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else{if(z[ci]>0)nl[ci].style.zIndex=z[ci]-1;}}else{for(i=0;i<z.length;i++){if(z[i]>z[ci]){fi=i;break;}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else nl[ci].style.zIndex=z[ci]+1;}inst.repaint();},_getParentLayer:function(n){return tinyMCE.getParentNode(n,function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position);});},_insertLayer:function(){var inst=tinyMCE.selectedInstance;var e=tinyMCE.getParentElement(inst.getFocusElement());var p=tinyMCE.getAbsPosition(e);var d=inst.getDoc();var ne=d.createElement('div');var h=inst.selection.getSelectedHTML();ne.style.position='absolute';ne.style.left=p.absLeft+'px';ne.style.top=(p.absTop>20?p.absTop:20)+'px';ne.style.width='100px';ne.style.height='100px';ne.className='mceVisualAid';if(!h)h=tinyMCE.getLang('lang_layer_content');ne.innerHTML=h;d.body.appendChild(ne);},_toggleAbsolute:function(){var inst=tinyMCE.selectedInstance,self=TinyMCE_LayerPlugin;var le=self._getParentLayer(inst.getFocusElement());if(le==null)le=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');if(le){if(le.style.position.toLowerCase()=="absolute"){le.style.position="";le.style.left="";le.style.top="";}else{le.style.position="absolute";if(le.style.left=="")le.style.left=20+'px';if(le.style.top=="")le.style.top=20+'px';if(le.style.width=="")le.style.width=le.width?(le.width+'px'):'100px';if(le.style.height=="")le.style.height=le.height?(le.height+'px'):'100px';tinyMCE.handleVisualAid(inst.getBody(),true,inst.visualAid,inst);}inst.repaint();tinyMCE.triggerNodeChange();}}};tinyMCE.addPlugin("layer",TinyMCE_LayerPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,252 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.2 $
+ * $Date: 2006/05/03 14:12:12 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('layer', 'en');
+
+var TinyMCE_LayerPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Layer',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_layer.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			inst.getDoc().execCommand('2D-Position');
+	},
+
+	handleEvent : function(e) {
+		var inst = tinyMCE.selectedInstance, self = TinyMCE_LayerPlugin;
+		var w = inst.getWin(), le = inst._lastStyleElm, e;
+
+		if (tinyMCE.isGecko) {
+			e = self._getParentLayer(inst.getFocusElement());
+
+			if (e) {
+				if (!inst._lastStyleElm) {
+					e.style.overflow = 'auto';
+					inst._lastStyleElm = e;
+				}
+			} else if (le) {
+				le = inst._lastStyleElm;
+				le.style.width = le.scrollWidth + 'px';
+				le.style.height = le.scrollHeight + 'px';
+				le.style.overflow = '';
+				inst._lastStyleElm = null;
+			}
+		}
+
+		return true;
+	},
+
+	handleVisualAid : function(el, deep, state, inst) {
+		var nl = inst.getDoc().getElementsByTagName("div"), i;
+
+		for (i=0; i<nl.length; i++) {
+			if (new RegExp('absolute|relative|static', 'gi').test(nl[i].style.position)) {
+				if (state)
+					tinyMCE.addCSSClass(nl[i], 'mceVisualAid');
+				else
+					tinyMCE.removeCSSClass(nl[i], 'mceVisualAid');					
+			}
+		}
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "moveforward":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_forward_desc', '{$pluginurl}/images/forward.gif', 'mceMoveForward', true);
+
+			case "movebackward":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_backward_desc', '{$pluginurl}/images/backward.gif', 'mceMoveBackward', true);
+
+			case "absolute":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_absolute_desc', '{$pluginurl}/images/absolute.gif', 'mceMakeAbsolute', true);
+
+			case "insertlayer":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_insertlayer_desc', '{$pluginurl}/images/insert_layer.gif', 'mceInsertLayer', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var self = TinyMCE_LayerPlugin;
+
+		// Handle commands
+		switch (command) {
+			case "mceInsertLayer":
+				self._insertLayer();
+				return true;
+
+			case "mceMoveForward":
+				self._move(1);
+				return true;
+
+			case "mceMoveBackward":
+				self._move(-1);
+				return true;
+
+			case "mceMakeAbsolute":
+				self._toggleAbsolute();
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var inst = tinyMCE.getInstanceById(editor_id), self = TinyMCE_LayerPlugin;
+		var le = self._getParentLayer(inst.getFocusElement());
+		var p = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
+
+		tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonDisabled');
+
+		if (p)
+			tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonNormal');
+
+		if (le && le.style.position.toLowerCase() == "absolute") {
+			tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonNormal');
+		}
+	},
+
+	// Private plugin specific methods
+
+	_move : function(d) {
+		var inst = tinyMCE.selectedInstance, self = TinyMCE_LayerPlugin, i, z = new Array();
+		var le = self._getParentLayer(inst.getFocusElement()), ci = -1, fi = -1;
+		var nl = tinyMCE.selectNodes(inst.getBody(), function(n) {
+			return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
+		});
+
+		// Find z-indexes
+		for (i=0; i<nl.length; i++) {
+			z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex) : 0;
+
+			if (ci < 0 && nl[i] == le)
+				ci = i;
+		}
+
+		if (d < 0) {
+			// Move back
+
+			// Try find a lower one
+			for (i=0; i<z.length; i++) {
+				if (z[i] < z[ci]) {
+					fi = i;
+					break;
+				}
+			}
+
+			if (fi > -1) {
+				nl[ci].style.zIndex = z[fi];
+				nl[fi].style.zIndex = z[ci];
+			} else {
+				if (z[ci] > 0)
+					nl[ci].style.zIndex = z[ci] - 1;
+			}
+		} else {
+			// Move forward
+
+			// Try find a higher one
+			for (i=0; i<z.length; i++) {
+				if (z[i] > z[ci]) {
+					fi = i;
+					break;
+				}
+			}
+
+			if (fi > -1) {
+				nl[ci].style.zIndex = z[fi];
+				nl[fi].style.zIndex = z[ci];
+			} else
+				nl[ci].style.zIndex = z[ci] + 1;
+		}
+
+		inst.repaint();
+	},
+
+	_getParentLayer : function(n) {
+		return tinyMCE.getParentNode(n, function(n) {
+			return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
+		});
+	},
+
+	_insertLayer : function() {
+		var inst = tinyMCE.selectedInstance;
+		var e = tinyMCE.getParentElement(inst.getFocusElement());
+		var p = tinyMCE.getAbsPosition(e);
+		var d = inst.getDoc();
+		var ne = d.createElement('div');
+		var h = inst.selection.getSelectedHTML();
+
+		// Move div
+		ne.style.position = 'absolute';
+		ne.style.left = p.absLeft + 'px';
+		ne.style.top = (p.absTop > 20 ? p.absTop : 20) + 'px';
+		ne.style.width = '100px';
+		ne.style.height = '100px';
+		ne.className = 'mceVisualAid';
+
+		if (!h)
+			h = tinyMCE.getLang('lang_layer_content');
+
+		ne.innerHTML = h;
+
+		// Add it
+		d.body.appendChild(ne);
+	},
+
+	_toggleAbsolute : function() {
+		var inst = tinyMCE.selectedInstance, self = TinyMCE_LayerPlugin;
+		var le = self._getParentLayer(inst.getFocusElement());
+
+		if (le == null)
+			le = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
+
+		if (le) {
+			if (le.style.position.toLowerCase() == "absolute") {
+				le.style.position = "";
+				le.style.left = "";
+				le.style.top = "";
+			} else {
+				le.style.position = "absolute";
+
+				if (le.style.left == "")
+					le.style.left = 20 + 'px';
+
+				if (le.style.top == "")
+					le.style.top = 20 + 'px';
+
+				if (le.style.width == "")
+					le.style.width = le.width ? (le.width + 'px') : '100px';
+
+				if (le.style.height == "")
+					le.style.height = le.height ? (le.height + 'px') : '100px';
+
+				tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+			}
+
+			inst.repaint();
+			tinyMCE.triggerNodeChange();
+		}
+	}
+};
+
+tinyMCE.addPlugin("layer", TinyMCE_LayerPlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/images/absolute.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/images/absolute.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/images/backward.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/images/backward.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/images/forward.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/images/forward.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/images/insert_layer.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/images/insert_layer.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,9 @@
+// UK lang variables
+
+tinyMCE.addToLang('layer',{
+insertlayer_desc : 'Insert new layer',
+forward_desc : 'Move forward',
+backward_desc : 'Move backward',
+absolute_desc : 'Toggle absolute positioning',
+content : 'New layer...'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/layer/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,17 @@
+/* This is the CSS file for the noneditable elements plugin */
+
+.mceEditable {
+	/*border: 1px dotted #0000cc;*/
+	-moz-user-focus: none;
+	-moz-user-input: auto;
+	-moz-user-modify: auto;
+	-moz-user-select: text;
+}
+
+.mceNonEditable {
+	/*border: 1px dotted #cc0000;*/
+	-moz-user-focus: ignore;
+	/*-moz-user-input: disabled;*/
+	-moz-user-modify: read-only;
+	-moz-user-select: all;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+var TinyMCE_NonEditablePlugin={getInfo:function(){return{longname:'Non editable elements',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_noneditable.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/noneditable/css/noneditable.css");if(tinyMCE.isMSIE5_0)tinyMCE.settings['plugins']=tinyMCE.settings['plugins'].replace(/noneditable/gi,'Noneditable');if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"keyup",TinyMCE_NonEditablePlugin._fixKeyUp);}},cleanup:function(type,content,inst){switch(type){case"insert_to_editor_dom":var nodes=tinyMCE.getNodeTree(content,new Array(),1);var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");for(var i=0;i<nodes.length;i++){var elm=nodes[i];var editable=tinyMCE.getAttrib(elm,"contenteditable");if(new RegExp("true|false","gi").test(editable))TinyMCE_NonEditablePlugin._setEditable(elm,editable=="true");if(tinyMCE.isMSIE){var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1)elm.contentEditable=true;if(className.indexOf(nonEditClass)!=-1)elm.contentEditable=false;}}break;case"insert_to_editor":if(tinyMCE.isMSIE){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");content=content.replace(new RegExp("class=\"(.*)("+editClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="true"');content=content.replace(new RegExp("class=\"(.*)("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="false"');}break;case"get_from_editor_dom":if(tinyMCE.getParam("noneditable_leave_contenteditable",false)){var nodes=tinyMCE.getNodeTree(content,new Array(),1);for(var i=0;i<nodes.length;i++)nodes[i].removeAttribute("contenteditable");}break;}return content;},_fixKeyUp:function(e){var inst=tinyMCE.selectedInstance;var sel=inst.getSel();var rng=inst.getRng();var an=sel.anchorNode;if((e.keyCode==38||e.keyCode==37||e.keyCode==40||e.keyCode==39)&&(elm=TinyMCE_NonEditablePlugin._isNonEditable(an))!=null){rng=inst.getDoc().createRange();rng.selectNode(elm);rng.collapse(true);sel.removeAllRanges();sel.addRange(rng);tinyMCE.cancelEvent(e);}},_isNonEditable:function(elm){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");if(!elm)return;do{var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1)return null;if(className.indexOf(nonEditClass)!=-1)return elm;}while(elm=elm.parentNode);return null;},_setEditable:function(elm,state){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1||className.indexOf(nonEditClass)!=-1)return;if((className=tinyMCE.getAttrib(elm,"class"))!="")className+=" ";className+=state?editClass:nonEditClass;elm.setAttribute("class",className);elm.className=className;}};tinyMCE.addPlugin("noneditable",TinyMCE_NonEditablePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,164 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.7 $
+ * $Date: 2006/02/06 20:02:38 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_NonEditablePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Non editable elements',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_noneditable.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/noneditable/css/noneditable.css");
+
+		// Ugly hack
+		if (tinyMCE.isMSIE5_0)
+			tinyMCE.settings['plugins'] = tinyMCE.settings['plugins'].replace(/noneditable/gi, 'Noneditable');
+
+		if (tinyMCE.isGecko) {
+			tinyMCE.addEvent(inst.getDoc(), "keyup", TinyMCE_NonEditablePlugin._fixKeyUp);
+	//		tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_NonEditablePlugin._selectAll);
+	//		tinyMCE.addEvent(inst.getDoc(), "mouseup", TinyMCE_NonEditablePlugin._selectAll);
+		}
+	},
+
+	cleanup : function(type, content, inst) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
+				var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+				var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+				for (var i=0; i<nodes.length; i++) {
+					var elm = nodes[i];
+
+					// Convert contenteditable to classes
+					var editable = tinyMCE.getAttrib(elm, "contenteditable");
+					if (new RegExp("true|false","gi").test(editable))
+						TinyMCE_NonEditablePlugin._setEditable(elm, editable == "true");
+
+					if (tinyMCE.isMSIE) {
+						var className = elm.className ? elm.className : "";
+
+						if (className.indexOf(editClass) != -1)
+							elm.contentEditable = true;
+
+						if (className.indexOf(nonEditClass) != -1)
+							elm.contentEditable = false;
+					}
+				}
+
+				break;
+
+			case "insert_to_editor":
+				if (tinyMCE.isMSIE) {
+					var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+					var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+					content = content.replace(new RegExp("class=\"(.*)(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(.*)(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="false"');
+				}
+
+				break;
+
+			case "get_from_editor_dom":
+				if (tinyMCE.getParam("noneditable_leave_contenteditable", false)) {
+					var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
+
+					for (var i=0; i<nodes.length; i++)
+						nodes[i].removeAttribute("contenteditable");
+				}
+
+				break;
+		}
+
+		return content;
+	},
+
+	// Private internal plugin methods
+
+	_fixKeyUp : function(e) {
+		var inst = tinyMCE.selectedInstance;
+		var sel = inst.getSel();
+		var rng = inst.getRng();
+		var an = sel.anchorNode;
+
+		// Move cursor outside non editable fields
+		if ((e.keyCode == 38 || e.keyCode == 37 || e.keyCode == 40 || e.keyCode == 39) && (elm = TinyMCE_NonEditablePlugin._isNonEditable(an)) != null) {
+			rng = inst.getDoc().createRange();
+			rng.selectNode(elm);
+			rng.collapse(true);
+			sel.removeAllRanges();
+			sel.addRange(rng);
+			tinyMCE.cancelEvent(e);
+		}
+	},
+/*
+	_selectAll : function(e) {
+		var inst = tinyMCE.selectedInstance;
+		var sel = inst.getSel();
+		var doc = inst.getDoc();
+
+		if ((elm = TinyMCE_NonEditablePlugin._isNonEditable(sel.focusNode)) != null) {
+			inst.selection.selectNode(elm, false);
+			tinyMCE.cancelEvent(e);
+			return;
+		}
+
+		if ((elm = TinyMCE_NonEditablePlugin._isNonEditable(sel.anchorNode)) != null) {
+			inst.selection.selectNode(elm, false);
+			tinyMCE.cancelEvent(e);
+			return;
+		}
+	},*/
+
+	_isNonEditable : function(elm) {
+		var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+		var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+		if (!elm)
+			return;
+
+		do {
+			var className = elm.className ? elm.className : "";
+
+			if (className.indexOf(editClass) != -1)
+				return null;
+
+			if (className.indexOf(nonEditClass) != -1)
+				return elm;
+		} while (elm = elm.parentNode);
+
+		return null;
+	},
+
+	_setEditable : function(elm, state) {
+		var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+		var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+		var className = elm.className ? elm.className : "";
+
+		if (className.indexOf(editClass) != -1 || className.indexOf(nonEditClass) != -1)
+			return;
+
+		if ((className = tinyMCE.getAttrib(elm, "class")) != "")
+			className += " ";
+
+		className += state ? editClass : nonEditClass;
+
+		elm.setAttribute("class", className);
+		elm.className = className;
+	}
+};
+
+tinyMCE.addPlugin("noneditable", TinyMCE_NonEditablePlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/noneditable/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,19 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<script language="javascript">
+		function init() {
+			document.body.contentEditable = true;
+			document.designMode = 'on';
+			parent.initIframe(document);
+			window.focus();
+		}
+	</script>
+	<link href="css/blank.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="init();">
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+body {
+	background-color: #FFFFFF;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,3 @@
+.sourceIframe {
+	border: 1px solid #808080;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('paste','en,tr,sv,cs,zh_cn,fr_ca,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,pl,nl,fr,pt_br');var TinyMCE_PastePlugin={getInfo:function(){return{longname:'Paste text/word',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_paste.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isMSIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false))tinyMCE.addEvent(inst.getBody(),"paste",TinyMCE_PastePlugin._handlePasteEvent);},getControlHTML:function(cn){switch(cn){case"pastetext":return tinyMCE.getButtonHTML(cn,'lang_paste_text_desc','{$pluginurl}/images/pastetext.gif','mcePasteText',true);case"pasteword":return tinyMCE.getButtonHTML(cn,'lang_paste_word_desc','{$pluginurl}/images/pasteword.gif','mcePasteWord',true);case"selectall":return tinyMCE.getButtonHTML(cn,'lang_selectall_desc','{$pluginurl}/images/selectall.gif','mceSelectAll',true);}return'';},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePasteText":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false))TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"),true);else{var template=new Array();template['file']='../../plugins/paste/pastetext.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'});}}else TinyMCE_PastePlugin._insertText(value['html'],value['linebreaks']);return true;case"mcePasteWord":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false)){var html=TinyMCE_PastePlugin._clipboardHTML();if(html&&html.length>0)TinyMCE_PastePlugin._insertWordContent(html);}else{var template=new Array();template['file']='../../plugins/paste/pasteword.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'});}}else TinyMCE_PastePlugin._insertWordContent(value);return true;case"mceSelectAll":tinyMCE.execInstanceCommand(editor_id,'selectall');return true;}return false;},_handlePasteEvent:function(e){switch(e.type){case"paste":var html=TinyMCE_PastePlugin._clipboardHTML();var r,inst=tinyMCE.selectedInstance;if(inst&&(r=inst.getRng())&&r.text.length>0)tinyMCE.execCommand('delete');if(html&&html.length>0)tinyMCE.execCommand('mcePasteWord',false,html);tinyMCE.cancelEvent(e);return false;}return true;},_insertText:function(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(tinyMCE.getParam("paste_create_paragraphs",true)){var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);content=tinyMCE.regexpReplace(content,"\r\n\r\n","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\r\r","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\n\n","</p><p>","gi");if((pos=content.indexOf('</p><p>'))!=-1){tinyMCE.execCommand("Delete");var node=tinyMCE.selectedInstance.getFocusElement();var breakElms=new Array();do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node;}}while(node=node.parentNode);var before="",after="</p>";before+=content.substring(0,pos);for(var i=0;i<breakElms.length;i++){before+="</"+breakElms[i].nodeName+">";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">";}before+="<p>";content=before+content.substring(pos+7)+after;}}if(tinyMCE.getParam("paste_create_linebreaks",true)){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi");}}tinyMCE.execCommand("mceInsertRawHTML",false,content);}},_insertWordContent:function(content){if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);var cb;if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('before', content)");var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>','gi'),'<p><b>$1</b></p>');}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)<BR>","gi"),"<p>"+middot+"$1</p>");content=content.replace(new RegExp('<SPAN style="mso-list: Ignore">','gi'),"<span>"+bull);content=content.replace(/<o:p><\/o:p>/gi,"");content=content.replace(new RegExp('<br style="page-break-before: always;.*>','gi'),'-- page break --');content=content.replace(new RegExp('<(!--)([^>]*)(--)>','g'),"");if(tinyMCE.getParam("paste_remove_spans",true))content=content.replace(/<\/?span[^>]*>/gi,"");if(tinyMCE.getParam("paste_remove_styles",true))content=content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");switch(tinyMCE.getParam("paste_strip_class_attributes","all")){case"all":content=content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");break;case"mso":content=content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)','gi'),"<$1$3");break;}content=content.replace(new RegExp('href="?'+TinyMCE_PastePlugin._reEscape(""+document.location)+'','gi'),'href="'+tinyMCE.settings['document_base_url']);content=content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi,"");content=content.replace(/-- page break --/gi,"");if(!tinyMCE.settings['force_p_newlines']){content=content.replace('','','gi');content=content.replace('</p>','<br /><br />','gi');}if(!tinyMCE.isMSIE&&!tinyMCE.settings['force_p_newlines']){content=content.replace(/<\/?p[^>]*>/gi,"");}content=content.replace(/<\/?div[^>]*>/gi,"");if(tinyMCE.getParam("paste_convert_middot_lists",true)){var div=document.createElement("div");div.innerHTML=content;var className=tinyMCE.getParam("paste_unindented_list_class","unIndentedList");while(TinyMCE_PastePlugin._convertMiddots(div,"--list--"));while(TinyMCE_PastePlugin._convertMiddots(div,middot,className));while(TinyMCE_PastePlugin._convertMiddots(div,bull));content=div.innerHTML;}if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi,'<p>&nbsp;&nbsp;</p>');content=content.replace(/<h[1-6]>/gi,'<p><b>');content=content.replace(/<\/h[1-6]>/gi,'</b></p>');content=content.replace(/<b>&nbsp;<\/b>/gi,'<b>&nbsp;&nbsp;</b>');content=content.replace(/^(&nbsp;)*/gi,'');}content=content.replace(/--list--/gi,"");if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('after', content)");tinyMCE.execCommand("mceInsertContent",false,content);window.setTimeout('tinyMCE.execCommand("mceCleanup");',1);}},_reEscape:function(s){var l="?.\\*[](){}+^$:";var o="";for(var i=0;i<s.length;i++){var c=s.charAt(i);if(l.indexOf(c)!=-1)o+='\\'+c;else o+=c;}return o;},_convertMiddots:function(div,search,class_name){var mdot=String.fromCharCode(183);var bull=String.fromCharCode(8226);var nodes=div.getElementsByTagName("p");var prevul;for(var i=0;i<nodes.length;i++){var p=nodes[i];if(p.innerHTML.indexOf(search)==0){var ul=document.createElement("ul");if(class_name)ul.className=class_name;var li=document.createElement("li");li.innerHTML=p.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');ul.appendChild(li);var np=p.nextSibling;while(np){if(np.nodeType==3&&new RegExp('^\\s$','m').test(np.nodeValue)){np=np.nextSibling;continue;}if(search==mdot){if(np.nodeType==1&&new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)){if(!prevul){prevul=ul;ul=document.createElement("ul");prevul.appendChild(ul);}np.innerHTML=np.innerHTML.replace(/^o/,'');}else{if(prevul){ul=prevul;prevul=null;}if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break;}}else{if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break;}var cp=np.nextSibling;var li=document.createElement("li");li.innerHTML=np.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');np.parentNode.removeChild(np);ul.appendChild(li);np=cp;}p.parentNode.replaceChild(ul,p);return true;}}return false;},_clipboardHTML:function(){var div=document.getElementById('_TinyMCE_clipboardHTML');if(!div){var div=document.createElement('DIV');div.id='_TinyMCE_clipboardHTML';with(div.style){visibility='hidden';overflow='hidden';position='absolute';width=1;height=1;}document.body.appendChild(div);}div.innerHTML='';var rng=document.body.createTextRange();rng.moveToElementText(div);rng.execCommand('Paste');var html=div.innerHTML;div.innerHTML='';return html;}};tinyMCE.addPlugin("paste",TinyMCE_PastePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,388 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.37 $
+ * $Date: 2006/03/27 10:07:08 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */ 
+tinyMCE.importPluginLanguagePack('paste', 'en,tr,sv,cs,zh_cn,fr_ca,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,pl,nl,fr,pt_br');
+
+var TinyMCE_PastePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Paste text/word',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_paste.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isMSIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false))
+			tinyMCE.addEvent(inst.getBody(), "paste", TinyMCE_PastePlugin._handlePasteEvent);
+	},
+
+	getControlHTML : function(cn) { 
+		switch (cn) { 
+			case "pastetext":
+				return tinyMCE.getButtonHTML(cn, 'lang_paste_text_desc', '{$pluginurl}/images/pastetext.gif', 'mcePasteText', true);
+
+			case "pasteword":
+				return tinyMCE.getButtonHTML(cn, 'lang_paste_word_desc', '{$pluginurl}/images/pasteword.gif', 'mcePasteWord', true);
+
+			case "selectall":
+				return tinyMCE.getButtonHTML(cn, 'lang_selectall_desc', '{$pluginurl}/images/selectall.gif', 'mceSelectAll', true);
+		} 
+
+		return ''; 
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) { 
+		switch (command) { 
+			case "mcePasteText": 
+				if (user_interface) {
+					if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false))
+						TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"), true); 
+					else { 
+						var template = new Array(); 
+						template['file']	= '../../plugins/paste/pastetext.htm'; // Relative to theme 
+						template['width']  = 450; 
+						template['height'] = 400; 
+						var plain_text = ""; 
+						tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'}); 
+					}
+				} else
+					TinyMCE_PastePlugin._insertText(value['html'], value['linebreaks']);
+
+				return true;
+
+			case "mcePasteWord": 
+				if (user_interface) {
+					if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false)) {
+						var html = TinyMCE_PastePlugin._clipboardHTML();
+
+						if (html && html.length > 0)
+							TinyMCE_PastePlugin._insertWordContent(html);
+					} else { 
+						var template = new Array(); 
+						template['file']	= '../../plugins/paste/pasteword.htm'; // Relative to theme 
+						template['width']  = 450; 
+						template['height'] = 400; 
+						var plain_text = ""; 
+						tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'});
+					}
+				} else
+					TinyMCE_PastePlugin._insertWordContent(value);
+
+				return true;
+
+			case "mceSelectAll":
+				tinyMCE.execInstanceCommand(editor_id, 'selectall'); 
+				return true; 
+
+		} 
+
+		// Pass to next handler in chain 
+		return false; 
+	},
+
+	// Private plugin internal methods
+
+	_handlePasteEvent : function(e) {
+		switch (e.type) {
+			case "paste":
+				var html = TinyMCE_PastePlugin._clipboardHTML();
+				var r, inst = tinyMCE.selectedInstance;
+
+				// Removes italic, strong etc, the if was needed due to bug #1437114
+				if (inst && (r = inst.getRng()) && r.text.length > 0)
+					tinyMCE.execCommand('delete');
+
+				if (html && html.length > 0)
+					tinyMCE.execCommand('mcePasteWord', false, html);
+
+				tinyMCE.cancelEvent(e);
+				return false;
+		}
+
+		return true;
+	},
+
+	_insertText : function(content, bLinebreaks) { 
+		if (content && content.length > 0) {
+			if (bLinebreaks) { 
+				// Special paragraph treatment 
+				if (tinyMCE.getParam("paste_create_paragraphs", true)) {
+					var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+					for (var i=0; i<rl.length; i+=2)
+						content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
+
+					content = tinyMCE.regexpReplace(content, "\r\n\r\n", "</p><p>", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\r\r", "</p><p>", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\n\n", "</p><p>", "gi"); 
+
+					// Has paragraphs 
+					if ((pos = content.indexOf('</p><p>')) != -1) { 
+						tinyMCE.execCommand("Delete"); 
+
+						var node = tinyMCE.selectedInstance.getFocusElement(); 
+
+						// Get list of elements to break 
+						var breakElms = new Array(); 
+
+						do { 
+							if (node.nodeType == 1) { 
+								// Don't break tables and break at body 
+								if (node.nodeName == "TD" || node.nodeName == "BODY") 
+									break; 
+		
+								breakElms[breakElms.length] = node; 
+							} 
+						} while(node = node.parentNode); 
+
+						var before = "", after = "</p>"; 
+						before += content.substring(0, pos); 
+
+						for (var i=0; i<breakElms.length; i++) { 
+							before += "</" + breakElms[i].nodeName + ">"; 
+							after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; 
+						} 
+
+						before += "<p>"; 
+						content = before + content.substring(pos+7) + after; 
+					} 
+				} 
+
+				if (tinyMCE.getParam("paste_create_linebreaks", true)) {
+					content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi"); 
+				}
+			} 
+		
+			tinyMCE.execCommand("mceInsertRawHTML", false, content); 
+		}
+	},
+
+	_insertWordContent : function(content) { 
+		if (content && content.length > 0) {
+			// Cleanup Word content
+			var bull = String.fromCharCode(8226);
+			var middot = String.fromCharCode(183);
+			var cb;
+
+			if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+				content = eval(cb + "('before', content)");
+
+			var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+			for (var i=0; i<rl.length; i+=2)
+				content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
+
+			if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+				content = content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>', 'gi'), '<p><b>$1</b></p>');
+			}
+
+			content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
+			content = content.replace(new RegExp(bull + "(.*?)<BR>", "gi"), "<p>" + middot + "$1</p>");
+			content = content.replace(new RegExp('<SPAN style="mso-list: Ignore">', 'gi'), "<span>" + bull); // Covert to bull list
+			content = content.replace(/<o:p><\/o:p>/gi, "");
+			content = content.replace(new RegExp('<br style="page-break-before: always;.*>', 'gi'), '-- page break --'); // Replace pagebreaks
+			content = content.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), "");  // Word comments
+
+			if (tinyMCE.getParam("paste_remove_spans", true))
+				content = content.replace(/<\/?span[^>]*>/gi, "");
+
+			if (tinyMCE.getParam("paste_remove_styles", true))
+				content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
+
+			content = content.replace(/<\/?font[^>]*>/gi, "");
+
+			// Strips class attributes.
+			switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) {
+				case "all":
+					content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
+					break;
+
+				case "mso":
+					content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3");
+					break;
+			}
+
+			content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']);
+			content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
+			content = content.replace(/<\\?\?xml[^>]*>/gi, "");
+			content = content.replace(/<\/?\w+:[^>]*>/gi, "");
+			content = content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi, ""); // Remove pagebreaks
+			content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
+
+	//		content = content.replace(/\/?&nbsp;*/gi, ""); &nbsp;
+	//		content = content.replace(/<p>&nbsp;<\/p>/gi, '');
+
+			if (!tinyMCE.settings['force_p_newlines']) {
+				content = content.replace('', '' ,'gi');
+				content = content.replace('</p>', '<br /><br />' ,'gi');
+			}
+
+			if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) {
+				content = content.replace(/<\/?p[^>]*>/gi, "");
+			}
+
+			content = content.replace(/<\/?div[^>]*>/gi, "");
+
+			// Convert all middlot lists to UL lists
+			if (tinyMCE.getParam("paste_convert_middot_lists", true)) {
+				var div = document.createElement("div");
+				div.innerHTML = content;
+
+				// Convert all middot paragraphs to li elements
+				var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList");
+
+				while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull
+				while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot
+				while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull
+
+				content = div.innerHTML;
+			}
+
+			// Replace all headers with strong and fix some other issues
+			if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+				content = content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi, '<p>&nbsp;&nbsp;</p>');
+				content = content.replace(/<h[1-6]>/gi, '<p><b>');
+				content = content.replace(/<\/h[1-6]>/gi, '</b></p>');
+				content = content.replace(/<b>&nbsp;<\/b>/gi, '<b>&nbsp;&nbsp;</b>');
+				content = content.replace(/^(&nbsp;)*/gi, '');
+			}
+
+			content = content.replace(/--list--/gi, ""); // Remove --list--
+
+			if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+				content = eval(cb + "('after', content)");
+
+			// Insert cleaned content
+			tinyMCE.execCommand("mceInsertContent", false, content);
+			window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread
+		}
+	},
+
+	_reEscape : function(s) {
+		var l = "?.\\*[](){}+^$:";
+		var o = "";
+
+		for (var i=0; i<s.length; i++) {
+			var c = s.charAt(i);
+
+			if (l.indexOf(c) != -1)
+				o += '\\' + c;
+			else
+				o += c;
+		}
+
+		return o;
+	},
+
+	_convertMiddots : function(div, search, class_name) {
+		var mdot = String.fromCharCode(183);
+		var bull = String.fromCharCode(8226);
+
+		var nodes = div.getElementsByTagName("p");
+		var prevul;
+		for (var i=0; i<nodes.length; i++) {
+			var p = nodes[i];
+
+			// Is middot
+			if (p.innerHTML.indexOf(search) == 0) {
+				var ul = document.createElement("ul");
+
+				if (class_name)
+					ul.className = class_name;
+
+				// Add the first one
+				var li = document.createElement("li");
+				li.innerHTML = p.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+				ul.appendChild(li);
+
+				// Add the rest
+				var np = p.nextSibling;
+				while (np) {
+			        // If the node is whitespace, then
+			        // ignore it and continue on.
+			        if (np.nodeType == 3 && new RegExp('^\\s$', 'm').test(np.nodeValue)) {
+			                np = np.nextSibling;
+			                continue;
+			        }
+
+					if (search == mdot) {
+					        if (np.nodeType == 1 && new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)) {
+					                // Second level of nesting
+					                if (!prevul) {
+					                        prevul = ul;
+					                        ul = document.createElement("ul");
+					                        prevul.appendChild(ul);
+					                }
+					                np.innerHTML = np.innerHTML.replace(/^o/, '');
+					        } else {
+					                // Pop the stack if we're going back up to the first level
+					                if (prevul) {
+					                        ul = prevul;
+					                        prevul = null;
+					                }
+					                // Not element or middot paragraph
+					                if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
+					                        break;
+					        }
+					} else {
+					        // Not element or middot paragraph
+					        if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
+					                break;
+				        }
+
+					var cp = np.nextSibling;
+					var li = document.createElement("li");
+					li.innerHTML = np.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+					np.parentNode.removeChild(np);
+					ul.appendChild(li);
+					np = cp;
+				}
+
+				p.parentNode.replaceChild(ul, p);
+
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	_clipboardHTML : function() {
+		var div = document.getElementById('_TinyMCE_clipboardHTML');
+
+		if (!div) {
+			var div = document.createElement('DIV');
+			div.id = '_TinyMCE_clipboardHTML';
+
+			with (div.style) {
+				visibility = 'hidden';
+				overflow = 'hidden';
+				position = 'absolute';
+				width = 1;
+				height = 1;
+			}
+
+			document.body.appendChild(div);
+		}
+
+		div.innerHTML = '';
+		var rng = document.body.createTextRange();
+		rng.moveToElementText(div);
+		rng.execCommand('Paste');
+		var html = div.innerHTML;
+		div.innerHTML = '';
+		return html;
+	}
+};
+
+tinyMCE.addPlugin("paste", TinyMCE_PastePlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/images/selectall.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/images/selectall.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,34 @@
+function saveContent() {
+	if (document.forms[0].htmlSource.value == '') {
+		tinyMCEPopup.close();
+		return false;
+	}
+
+	tinyMCEPopup.execCommand('mcePasteText', false, {
+		html : document.forms[0].htmlSource.value,
+		linebreaks : document.forms[0].linebreaks.checked
+	});
+
+	tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	resizeInputs();
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+	if (!tinyMCE.isMSIE) {
+		wHeight = self.innerHeight-80;
+		wWidth = self.innerWidth-17;
+	} else {
+		wHeight = document.body.clientHeight-80;
+		wWidth = document.body.clientWidth-17;
+	}
+
+	document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
+	document.forms[0].htmlSource.style.width  = Math.abs(wWidth) + 'px';
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,46 @@
+function saveContent() {
+	var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
+
+	if (html == ''){
+		tinyMCEPopup.close();
+		return false;
+	}
+
+	tinyMCEPopup.execCommand('mcePasteWord', false, html);
+	tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Fix for endless reloading in FF
+	window.setTimeout('createIFrame();', 10);
+}
+
+function createIFrame() {
+	document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function initIframe(doc) {
+	var dir = tinyMCE.selectedInstance.settings['directionality'];
+	doc.body.dir = dir;
+	resizeInputs();
+}
+
+function resizeInputs() {
+	if (!tinyMCE.isMSIE) {
+		wHeight = self.innerHeight - 80;
+		wWidth = self.innerWidth - 18;
+	} else {
+		wHeight = document.body.clientHeight - 80;
+		wWidth = document.body.clientWidth - 18;
+	}
+
+	var elm = document.getElementById('frmData');
+	if (elm) {
+		elm.style.height = Math.abs(wHeight) + 'px';
+		elm.style.width  = Math.abs(wWidth) + 'px';
+	}
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,10 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+paste_text_desc : 'Paste as Plain Text',
+paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+paste_text_linebreaks : 'Keep linebreaks',
+paste_word_desc : 'Paste from Word',
+paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+selectall_desc : 'Select All'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_paste_text_desc}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/pastetext.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+<form name="source" onsubmit="saveContent();">
+	<div style="float: left" class="title">{$lang_paste_text_desc}</div>
+
+	<div style="float: right">
+		<input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{$lang_paste_text_linebreaks}</label>
+	</div>
+
+	<br style="clear: both" />
+
+	<div>{$lang_paste_text_title}</div>
+
+	<textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" name="insert" value="{$lang_insert}" onclick="saveContent();" id="insert" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+		</div>
+	</div>
+</form>
+</body> 
+</html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,29 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>{$lang_paste_word_desc}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/pasteword.js"></script>
+	<link href="css/pasteword.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+	<form name="source" onsubmit="saveContent();" action="#">
+		<div class="title">{$lang_paste_word_desc}</div>
+
+		<div>{$lang_paste_word_title}</div>
+
+		<div id="iframecontainer"></div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="saveContent();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('preview','en,tr,cs,de,el,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_PreviewPlugin={getInfo:function(){return{longname:'Preview',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_preview.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"preview":return tinyMCE.getButtonHTML(cn,'lang_preview_desc','{$pluginurl}/images/preview.gif','mcePreview');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",inline:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")});}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="";var c=tinyMCE.getContent();var pos=c.indexOf('<body'),pos2;if(pos!=-1){pos=c.indexOf('>',pos);pos2=c.lastIndexOf('</body>');c=c.substring(pos+1,pos2);}html+=tinyMCE.getParam('doctype');html+='<html xmlns="http://www.w3.org/1999/xhtml">';html+='<head>';html+='<title>'+tinyMCE.getLang('lang_preview_desc')+'</title>';html+='<base href="'+tinyMCE.settings['base_href']+'" />';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';html+='<link href="'+tinyMCE.getParam("content_css")+'" rel="stylesheet" type="text/css" />';html+='</head>';html+='<body dir="'+tinyMCE.getParam("directionality")+'">';html+=c;html+='</body>';html+='</html>';win.document.write(html);win.document.close();}return true;}return false;}};tinyMCE.addPlugin("preview",TinyMCE_PreviewPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,92 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.23 $
+ * $Date: 2006/03/20 12:03:44 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('preview', 'en,tr,cs,de,el,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk');
+
+var TinyMCE_PreviewPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Preview',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_preview.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the preview control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "preview":
+				return tinyMCE.getButtonHTML(cn, 'lang_preview_desc', '{$pluginurl}/images/preview.gif', 'mcePreview');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mcePreview command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mcePreview":
+				var previewPage = tinyMCE.getParam("plugin_preview_pageurl", null);
+				var previewWidth = tinyMCE.getParam("plugin_preview_width", "550");
+				var previewHeight = tinyMCE.getParam("plugin_preview_height", "600");
+
+				// Use a custom preview page
+				if (previewPage) {
+					var template = new Array();
+
+					template['file'] = previewPage;
+					template['width'] = previewWidth;
+					template['height'] = previewHeight;
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "yes", inline : "yes", content : tinyMCE.getContent(), content_css : tinyMCE.getParam("content_css")});
+				} else {
+					var win = window.open("", "mcePreview", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width=" + previewWidth + ",height="  + previewHeight);
+					var html = "";
+					var c = tinyMCE.getContent();
+					var pos = c.indexOf('<body'), pos2;
+
+					if (pos != -1) {
+						pos = c.indexOf('>', pos);
+						pos2 = c.lastIndexOf('</body>');
+						c = c.substring(pos + 1, pos2);
+					}
+
+					html += tinyMCE.getParam('doctype');
+					html += '<html xmlns="http://www.w3.org/1999/xhtml">';
+					html += '<head>';
+					html += '<title>' + tinyMCE.getLang('lang_preview_desc') + '</title>';
+					html += '<base href="' + tinyMCE.settings['base_href'] + '" />';
+					html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
+					html += '<link href="' + tinyMCE.getParam("content_css") + '" rel="stylesheet" type="text/css" />';
+					html += '</head>';
+					html += '<body dir="' + tinyMCE.getParam("directionality") + '">';
+					html += c;
+					html += '</body>';
+					html += '</html>';
+
+					win.document.write(html);
+					win.document.close();
+				}
+
+				return true;
+		}
+
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("preview", TinyMCE_PreviewPlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/example.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/example.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/example.html	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/example.html	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<script language="javascript" src="../../tiny_mce_popup.js"></script>
+<title>Example of a custom preview page</title>
+<link href="{$content_css}" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+Editor contents: <br />
+{$content}
+
+</body>
+</html>
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/images/preview.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/images/preview.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Preview'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('print','en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_PrintPlugin={getInfo:function(){return{longname:'Print',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_print.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"print":return tinyMCE.getButtonHTML(cn,'lang_print_desc','{$pluginurl}/images/print.gif','mcePrint');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true;}return false;}};tinyMCE.addPlugin("print",TinyMCE_PrintPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,49 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.19 $
+ * $Date: 2006/02/10 16:29:40 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import theme	specific language pack */
+tinyMCE.importPluginLanguagePack('print', 'en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk');
+
+var TinyMCE_PrintPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Print',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_print.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn)	{
+		switch (cn) {
+			case "print":
+				return tinyMCE.getButtonHTML(cn, 'lang_print_desc', '{$pluginurl}/images/print.gif', 'mcePrint');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes	the	search/replace commands.
+	 */
+	execCommand : function(editor_id, element, command,	user_interface,	value) {
+		// Handle commands
+		switch (command) {
+			case "mcePrint":
+				tinyMCE.getInstanceById(editor_id).contentWindow.print();
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("print", TinyMCE_PrintPlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/images/print.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/images/print.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+print_desc : 'Print'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+This is the location you place TinyMCE plugins.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('save','en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,da,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_SavePlugin={getInfo:function(){return{longname:'Save',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_save.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){inst.addShortcut('ctrl','s','lang_save_desc','mceSave');},getControlHTML:function(cn){switch(cn){case"save":return tinyMCE.getButtonHTML(cn,'lang_save_desc','{$pluginurl}/images/save.gif','mceSave');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceSave":if(tinyMCE.getParam("fullscreen_is_enabled"))return true;var inst=tinyMCE.selectedInstance;var formObj=inst.formElement.form;if(tinyMCE.getParam("save_enablewhendirty")&&!inst.isDirty())return true;if(formObj){tinyMCE.triggerSave();var os;if((os=tinyMCE.getParam("save_onsavecallback"))){if(eval(os+'(inst);')){inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);tinyMCE.triggerNodeChange(false,true);}return true;}for(var i=0;i<formObj.elements.length;i++){var elementId=formObj.elements[i].name?formObj.elements[i].name:formObj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)formObj.elements[i].disabled=true;}tinyMCE.isNotDirty=true;if(formObj.onsubmit==null||formObj.onsubmit()!=false)inst.formElement.form.submit();}else alert("Error: No form element found.");return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(tinyMCE.getParam("fullscreen_is_enabled")){tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled');return true;}if(tinyMCE.getParam("save_enablewhendirty")){var inst=tinyMCE.getInstanceById(editor_id);if(inst.isDirty()){tinyMCE.switchClass(editor_id+'_save','mceButtonNormal');return true;}tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled');}return true;}};tinyMCE.addPlugin("save",TinyMCE_SavePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,117 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.26 $
+ * $Date: 2006/02/13 15:09:28 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('save', 'en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,da,es,cy,is,zh_tw,zh_tw_utf8,sk');
+
+var TinyMCE_SavePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Save',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_save.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.addShortcut('ctrl', 's', 'lang_save_desc', 'mceSave');
+	},
+
+	/**
+	 * Returns the HTML contents of the save control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "save":
+				return tinyMCE.getButtonHTML(cn, 'lang_save_desc', '{$pluginurl}/images/save.gif', 'mceSave');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the save command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceSave":
+				if (tinyMCE.getParam("fullscreen_is_enabled"))
+					return true;
+
+				var inst = tinyMCE.selectedInstance;
+				var formObj = inst.formElement.form;
+
+				if (tinyMCE.getParam("save_enablewhendirty") && !inst.isDirty())
+					return true;
+
+				if (formObj) {
+					tinyMCE.triggerSave();
+
+					// Use callback instead
+					var os;
+					if ((os = tinyMCE.getParam("save_onsavecallback"))) {
+						if (eval(os + '(inst);')) {
+							inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+							/*inst.undoLevels = new Array();
+							inst.undoIndex = 0;
+							inst.typingUndoIndex = -1;
+							inst.undoRedo = true;
+							inst.undoLevels[inst.undoLevels.length] = inst.startContent;*/
+							tinyMCE.triggerNodeChange(false, true);
+						}
+
+						return true;
+					}
+
+					// Disable all UI form elements that TinyMCE created
+					for (var i=0; i<formObj.elements.length; i++) {
+						var elementId = formObj.elements[i].name ? formObj.elements[i].name : formObj.elements[i].id;
+
+						if (elementId.indexOf('mce_editor_') == 0)
+							formObj.elements[i].disabled = true;
+					}
+
+					tinyMCE.isNotDirty = true;
+
+					if (formObj.onsubmit == null || formObj.onsubmit() != false)
+						inst.formElement.form.submit();
+				} else
+					alert("Error: No form element found.");
+
+				return true;
+		}
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (tinyMCE.getParam("fullscreen_is_enabled")) {
+			tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
+			return true;
+		}
+
+		if (tinyMCE.getParam("save_enablewhendirty")) {
+			var inst = tinyMCE.getInstanceById(editor_id);
+
+			if (inst.isDirty()) {
+				tinyMCE.switchClass(editor_id + '_save', 'mceButtonNormal');
+				return true;
+			}
+
+			tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
+		}
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("save", TinyMCE_SavePlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/images/save.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/images/save.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+save_desc : 'Save'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('searchreplace','en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_SearchReplacePlugin={getInfo:function(){return{longname:'Search/Replace',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_searchreplace.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){inst.addShortcut('ctrl','f','lang_searchreplace_search_desc','mceSearch',true);},getControlHTML:function(cn){switch(cn){case"search":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_search_desc','{$pluginurl}/images/search.gif','mceSearch',true);case"replace":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_replace_desc','{$pluginurl}/images/replace.gif','mceSearchReplace',true);}return"";},execCommand:function(editor_id,element,command,user_interface,value){var instance=tinyMCE.getInstanceById(editor_id);function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key];}function replaceSel(search_str,str,back){instance.execCommand('mceInsertContent',false,str);}if(!value)value=new Array();defValue("editor_id",editor_id);defValue("searchstring","");defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);defValue("inline","yes");switch(command){case"mceResetSearch":tinyMCE.lastSearchRng=null;return true;case"mceSearch":if(user_interface){var template=new Array();if(value['replacestring']!=null){template['file']='../../plugins/searchreplace/replace.htm';template['width']=320;template['height']=100+(tinyMCE.isNS7?20:0);template['width']+=tinyMCE.getLang('lang_searchreplace_replace_delta_width',0);template['height']+=tinyMCE.getLang('lang_searchreplace_replace_delta_height',0);}else{template['file']='../../plugins/searchreplace/search.htm';template['width']=310;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_searchreplace_search_delta_width',0);template['height']+=tinyMCE.getLang('lang_searchreplace_replace_delta_height',0);}instance.execCommand('SelectAll');if(tinyMCE.isMSIE){var r=instance.selection.getRng();r.collapse(true);r.select();}else instance.selection.getSel().collapseToStart();tinyMCE.openWindow(template,value);}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;var body=tinyMCE.getInstanceById(editor_id).contentWindow.document.body;if(body.innerHTML==""){alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true;}if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring'],value['backwards']);value['replacemode']="none";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}if(tinyMCE.isMSIE){var rng=tinyMCE.lastSearchRng?tinyMCE.lastSearchRng:doc.selection.createRange();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(!rng.findText){alert('This operation is currently not supported by this browser.');return true;}if(value['replacemode']=="all"){while(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(false);replaceSel(value['string'],value['replacestring'],value['backwards']);}alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(value['backwards']);tinyMCE.lastSearchRng=rng;}else alert(tinyMCE.getLang('lang_searchreplace_notfound'));}else{if(value['replacemode']=="all"){while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))replaceSel(value['string'],value['replacestring'],value['backwards']);alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))alert(tinyMCE.getLang('lang_searchreplace_notfound'));}}return true;case"mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}return false;}};tinyMCE.addPlugin("searchreplace",TinyMCE_SearchReplacePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,185 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.27 $
+ * $Date: 2006/02/13 15:09:28 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import theme	specific language pack */
+tinyMCE.importPluginLanguagePack('searchreplace', 'en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk');
+
+var TinyMCE_SearchReplacePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Search/Replace',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_searchreplace.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.addShortcut('ctrl', 'f', 'lang_searchreplace_search_desc', 'mceSearch', true);
+	},
+
+	getControlHTML : function(cn)	{
+		switch (cn) {
+			case "search":
+				return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_search_desc', '{$pluginurl}/images/search.gif', 'mceSearch', true);
+			case "replace":
+				return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_replace_desc', '{$pluginurl}/images/replace.gif', 'mceSearchReplace', true);
+		}
+		return "";
+	},
+
+	/**
+	 * Executes	the	search/replace commands.
+	 */
+	execCommand : function(editor_id, element, command,	user_interface,	value) {
+		var instance = tinyMCE.getInstanceById(editor_id);
+
+		function defValue(key, default_value) {
+			value[key] = typeof(value[key]) == "undefined" ? default_value : value[key];
+		}
+
+		function replaceSel(search_str, str, back) {
+			instance.execCommand('mceInsertContent', false, str);
+		}
+
+		if (!value)
+			value = new Array();
+
+		// Setup defualt values
+		defValue("editor_id", editor_id);
+		defValue("searchstring", "");
+		defValue("replacestring", null);
+		defValue("replacemode", "none");
+		defValue("casesensitive", false);
+		defValue("backwards", false);
+		defValue("wrap", false);
+		defValue("wholeword", false);
+		defValue("inline", "yes");
+
+		// Handle commands
+		switch (command) {
+			case "mceResetSearch":
+				tinyMCE.lastSearchRng = null;
+				return true;
+
+			case "mceSearch":
+				if (user_interface) {
+					// Open search dialog
+					var template = new Array();
+
+					if (value['replacestring'] != null) {
+						template['file'] = '../../plugins/searchreplace/replace.htm'; // Relative to theme
+						template['width'] = 320;
+						template['height'] = 100 + (tinyMCE.isNS7 ? 20 : 0);
+						template['width'] += tinyMCE.getLang('lang_searchreplace_replace_delta_width', 0);
+						template['height'] += tinyMCE.getLang('lang_searchreplace_replace_delta_height', 0);
+					} else {
+						template['file'] = '../../plugins/searchreplace/search.htm'; // Relative to theme
+						template['width'] = 310;
+						template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0);
+						template['width'] += tinyMCE.getLang('lang_searchreplace_search_delta_width', 0);
+						template['height'] += tinyMCE.getLang('lang_searchreplace_replace_delta_height', 0);
+					}
+
+					instance.execCommand('SelectAll');
+
+					if (tinyMCE.isMSIE) {
+						var r = instance.selection.getRng();
+						r.collapse(true);
+						r.select();
+					} else
+						instance.selection.getSel().collapseToStart();
+
+					tinyMCE.openWindow(template, value);
+				} else {
+					var win = tinyMCE.getInstanceById(editor_id).contentWindow;
+					var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document;
+					var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body;
+
+					// Whats the point
+					if (body.innerHTML == "") {
+						alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+						return true;
+					}
+
+					// Handle replace current
+					if (value['replacemode'] == "current") {
+						replaceSel(value['string'], value['replacestring'], value['backwards']);
+
+						// Search next one
+						value['replacemode'] = "none";
+						tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false);
+
+						return true;
+					}
+
+					if (tinyMCE.isMSIE) {
+						var rng = tinyMCE.lastSearchRng ? tinyMCE.lastSearchRng : doc.selection.createRange();
+						var flags = 0;
+
+						if (value['wholeword'])
+							flags = flags | 2;
+
+						if (value['casesensitive'])
+							flags = flags | 4;
+
+						if (!rng.findText) {
+							alert('This operation is currently not supported by this browser.');
+							return true;
+						}
+
+						// Handle replace all mode
+						if (value['replacemode'] == "all") {
+							while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+								rng.scrollIntoView();
+								rng.select();
+								rng.collapse(false);
+								replaceSel(value['string'], value['replacestring'], value['backwards']);
+							}
+
+							alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+							return true;
+						}
+
+						if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+							rng.scrollIntoView();
+							rng.select();
+							rng.collapse(value['backwards']);
+							tinyMCE.lastSearchRng = rng;
+						} else
+							alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+					} else {
+						if (value['replacemode'] == "all") {
+							while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false))
+								replaceSel(value['string'], value['replacestring'], value['backwards']);
+
+							alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+							return true;
+						}
+
+						if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false))
+							alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+					}
+				}
+				return true;
+
+			case "mceSearchReplace":
+				value['replacestring'] = "";
+
+				tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false);
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("searchreplace", TinyMCE_SearchReplacePlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,40 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+
+	formObj.searchstring.value = tinyMCE.getWindowArg("searchstring");
+	formObj.replacestring.value = tinyMCE.getWindowArg("replacestring");
+	formObj.casesensitivebox.checked = tinyMCE.getWindowArg("casesensitive");
+//	formObj.backwards[0].checked = tinyMCE.getWindowArg("backwards");
+//	formObj.backwards[1].checked = !tinyMCE.getWindowArg("backwards");
+//		formObj.wrapatend.checked = tinyMCE.getWindowArg("wrap");
+//		formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword");
+
+	tinyMCEPopup.execCommand("mceResetSearch", false, {dummy : ""}, false);
+}
+
+function searchNext(replacemode) {
+	var formObj = document.forms[0];
+
+	// Whats the point?
+	if (formObj.searchstring.value == "" || formObj.searchstring.value == formObj.replacestring.value)
+		return;
+
+	// Do search
+	tinyMCEPopup.execCommand('mceSearch', false, { 
+		string : formObj.searchstring.value,
+		replacestring : formObj.replacestring.value,
+		replacemode : replacemode,
+		casesensitive : formObj.casesensitivebox.checked,
+		backwards : false
+//			wrap : formObj.wrapatend.checked,
+//			wholeword : formObj.wholeword.checked
+		}, false);
+
+	window.focus();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,36 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+
+	formObj.searchstring.value = tinyMCE.getWindowArg("searchstring");
+	formObj.casesensitivebox.checked = tinyMCE.getWindowArg("casesensitive");
+	formObj.backwards[0].checked = tinyMCE.getWindowArg("backwards");
+	formObj.backwards[1].checked = !tinyMCE.getWindowArg("backwards");
+//		formObj.wrapatend.checked = tinyMCE.getWindowArg("wrap");
+//		formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword");
+
+	tinyMCEPopup.execCommand("mceResetSearch", false, {dummy : ""}, false);
+}
+
+function searchNext() {
+	var formObj = document.forms[0];
+
+	if (formObj.searchstring.value == "")
+		return;
+
+	// Do search
+	tinyMCEPopup.execCommand('mceSearch', false, { 
+		string : formObj.searchstring.value,
+		casesensitive : formObj.casesensitivebox.checked,
+		backwards : formObj.backwards[0].checked
+//			wrap : formObj.wrapatend.checked,
+//			wholeword : formObj.wholeword.checked
+		}, false);
+
+	window.focus();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,21 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Find',
+searchreplace_searchnext_desc : 'Find again',
+searchreplace_replace_desc : 'Find/Replace',
+searchreplace_notfound : 'The search has been completed. The search string could not be found.',
+searchreplace_search_title : 'Find',
+searchreplace_replace_title : 'Find/Replace',
+searchreplace_allreplaced : 'All occurrences of the search string were replaced.',
+searchreplace_findwhat : 'Find what',
+searchreplace_replacewith : 'Replace with',
+searchreplace_direction : 'Direction',
+searchreplace_up : 'Up',
+searchreplace_down : 'Down',
+searchreplace_case : 'Match case',
+searchreplace_findnext : 'Find&nbsp;next',
+searchreplace_replace : 'Replace',
+searchreplace_replaceall : 'Replace&nbsp;all',
+searchreplace_cancel : 'Cancel'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/replace.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/replace.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/replace.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/replace.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,49 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_searchreplace_replace_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/replace.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none; margin: 4px;">
+<form onsubmit="searchNext('none');return false;" action="#">
+  <table border="0" cellspacing="0" cellpadding="2">
+	  <tr>
+		<td><label for="searchstring">{$lang_searchreplace_findwhat}</label></td>
+		<td><input type="text" id="searchstring" name="searchstring" style="width: 200px" /></td>
+	  </tr>
+	  <tr>
+		<td><label for="replacestring">{$lang_searchreplace_replacewith}</label></td>
+		<td><input type="text" id="replacestring" name="replacestring" style="width: 200px" /></td>
+	  </tr>
+        <tr>
+          <td colspan="2"><!--<table border="0" cellspacing="0" cellpadding="0">
+            <tr>
+              <td><label>{$lang_searchreplace_direction}</label></td>
+              <td><input id="backwardsu" name="backwards" class="radio" type="radio" value="true" /></td>
+              <td><label for="backwardsu">{$lang_searchreplace_up}</label></td>
+              <td><input id="backwardsd" name="backwards" class="radio" type="radio" value="false" /></td>
+              <td><label for="backwardsd">{$lang_searchreplace_down}</label></td>
+            </tr>
+          </table>--></td>
+        </tr>
+        <tr>
+<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
+  <tr>
+    <td><input id="casesensitivebox" name="casesensitivebox" class="checkbox" type="checkbox" value="true" /></td>
+    <td><label for="casesensitivebox">{$lang_searchreplace_case}</label></td>
+  </tr>
+</table></td>
+</tr>
+      </table>
+  <table border="0" width="300" cellspacing="0" cellpadding="4">
+    <tr>
+      <td><input id="insertBtn" name="insertBtn" type="button" value="{$lang_searchreplace_findnext}" onclick="searchNext('none');" /></td>
+      <td><input name="replaceBtn" type="button" id="replaceBtn" value="{$lang_searchreplace_replace}" onclick="searchNext('current');" /></td>
+      <td><input name="replaceBtn" type="button" id="replaceAllBtn" value="{$lang_searchreplace_replaceall}" onclick="searchNext('all');" /></td>
+     <td align="right"><input name="cancelBtn" type="button" id="cancelBtn" value="{$lang_searchreplace_cancel}" onclick="cancelAction();" /></td>
+    </tr>
+  </table>
+</form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,42 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_searchreplace_search_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/search.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none; margin: 4px;">
+<form onsubmit="searchNext();return false;" action="#">
+  <table border="0" cellspacing="0" cellpadding="2">
+        <tr>
+          <td><label for="searchstring">{$lang_searchreplace_findwhat}</label>&nbsp;<input type="text" id="searchstring" name="searchstring" style="width: 200px" /></td>
+        </tr>
+        <tr>
+          <td><table border="0" cellspacing="0" cellpadding="0">
+            <tr>
+              <td><label>{$lang_searchreplace_direction}</label></td>
+              <td><input id="backwardsu" name="backwards" class="radio" type="radio" value="true" /></td>
+              <td><label for="backwardsu">{$lang_searchreplace_up}</label></td>
+              <td><input id="backwardsd" name="backwards" class="radio" type="radio" value="false" /></td>
+              <td><label for="backwardsd">{$lang_searchreplace_down}</label></td>
+            </tr>
+          </table></td>
+        </tr>
+        <tr>
+<td><table border="0" cellspacing="0" cellpadding="0">
+  <tr>
+    <td><input id="casesensitivebox" name="casesensitivebox" class="checkbox" type="checkbox" value="true" /></td>
+    <td><label for="casesensitivebox">{$lang_searchreplace_case}</label></td>
+  </tr>
+</table></td>
+</tr>
+      </table>
+  <table border="0" width="300" cellspacing="0" cellpadding="4">
+    <tr>
+      <td><input id="insert" name="insert" type="submit" value="{$lang_searchreplace_findnext}" /></td>
+      <td align="right"><input id="cancel" name="cancel" type="button" value="{$lang_searchreplace_cancel}" onclick="cancelAction();" /></td>
+    </tr>
+  </table>
+</form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/css/props.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/css/props.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/css/props.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/css/props.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,63 @@
+#text_font {
+	width: 250px;
+}
+
+#text_size {
+	width: 70px;
+}
+
+.mceAddSelectValue {
+	background-color: #DDDDDD;
+}
+
+select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {
+	width: 70px;
+}
+
+#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {
+	width: 70px;
+}
+
+#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {
+	width: 70px;
+}
+
+#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {
+	width: 70px;
+}
+
+.panel_wrapper div.current {
+	padding-top: 10px;
+	height: 230px;
+}
+
+.delim {
+	b2ackground-color: #DDDDDD;
+	border-left: 1px solid gray;
+}
+
+.tdelim {
+	border-bottom: 1px solid gray;	
+}
+
+#block_display {
+	width: 145px;
+}
+
+#list_type {
+	width: 115px;
+}
+
+.disabled {
+	background-color: #EEEEEE;
+}
+
+#apply {
+	font-weight: bold;
+	width: 78px;
+	height: 21px;
+	border: 0;
+	background-image: url('../images/apply_button_bg.gif');
+	cursor: pointer;
+}
+
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('style','en');var TinyMCE_StylePlugin={getInfo:function(){return{longname:'Style',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_style.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"styleprops":return tinyMCE.getButtonHTML(cn,'lang_style_styleinfo_desc','{$pluginurl}/images/style_info.gif','mceStyleProps',true);}return"";},execCommand:function(editor_id,element,command,user_interface,value){var e,inst;switch(command){case"mceStyleProps":TinyMCE_StylePlugin._styleProps();return true;case"mceSetElementStyle":inst=tinyMCE.getInstanceById(editor_id);e=inst.selection.getFocusElement();if(e){e.style.cssText=value;inst.repaint();}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){},_styleProps:function(){var e=tinyMCE.selectedInstance.selection.getFocusElement();if(!e)return;tinyMCE.openWindow({file:'../../plugins/style/props.htm',width:480+tinyMCE.getLang('lang_style_props_delta_width',0),height:320+tinyMCE.getLang('lang_style_props_delta_height',0)},{editor_id:tinyMCE.selectedInstance.editorId,inline:"yes",style_text:e.style.cssText});}};tinyMCE.addPlugin("style",TinyMCE_StylePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,81 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.1 $
+ * $Date: 2006/05/03 10:46:42 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('style', 'en');
+
+var TinyMCE_StylePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Style',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_style.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "styleprops":
+				return tinyMCE.getButtonHTML(cn, 'lang_style_styleinfo_desc', '{$pluginurl}/images/style_info.gif', 'mceStyleProps', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var e, inst;
+
+		// Handle commands
+		switch (command) {
+			case "mceStyleProps":
+				TinyMCE_StylePlugin._styleProps();
+				return true;
+
+			case "mceSetElementStyle":
+				inst = tinyMCE.getInstanceById(editor_id);
+				e = inst.selection.getFocusElement();
+
+				if (e) {
+					e.style.cssText = value;
+					inst.repaint();
+				}
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+	},
+
+	// Private plugin specific methods
+
+	_styleProps : function() {
+		var e = tinyMCE.selectedInstance.selection.getFocusElement();
+
+		if (!e)
+			return;
+
+		tinyMCE.openWindow({
+			file : '../../plugins/style/props.htm',
+			width : 480 + tinyMCE.getLang('lang_style_props_delta_width', 0),
+			height : 320 + tinyMCE.getLang('lang_style_props_delta_height', 0)
+		}, {
+			editor_id : tinyMCE.selectedInstance.editorId,
+			inline : "yes",
+			style_text : e.style.cssText
+		});
+	}
+};
+
+tinyMCE.addPlugin("style", TinyMCE_StylePlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/images/apply_button_bg.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/images/apply_button_bg.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/images/style_info.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/images/style_info.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/jscripts/props.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/jscripts/props.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/jscripts/props.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/jscripts/props.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,630 @@
+var defaultFonts = "" + 
+	"Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + 
+	"Times New Roman, Times, serif=Times New Roman, Times, serif;" + 
+	"Courier New, Courier, mono=Courier New, Courier, mono;" + 
+	"Times New Roman, Times, serif=Times New Roman, Times, serif;" + 
+	"Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + 
+	"Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + 
+	"Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";
+
+var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
+var defaultMeasurement = "+pixels=px;points=pt;in;cm;mm;picas;ems;exs;%";
+var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%";
+var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%";
+var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
+var defaultTextStyle = "normal;italic;oblique";
+var defaultVariant = "normal;small-caps";
+var defaultLineHeight = "normal";
+var defaultAttachment = "fixed;scroll";
+var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y";
+var defaultPosH = "left;center;right";
+var defaultPosV = "top;center;bottom";
+var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom";
+var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none";
+var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset";
+var defaultBorderWidth = "thin;medium;thick";
+var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none";
+
+function init() {
+	var ce = document.getElementById('container');
+
+	ce.style.cssText = tinyMCEPopup.getWindowArg('style_text');
+
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color');
+	document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color');
+	document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top');
+	document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right');
+	document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom');
+	document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left');
+
+	fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true);
+	fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true);
+	fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true);
+	fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true);
+	fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true);
+	fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true);
+	fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true);
+	fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true);
+	fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true);
+
+	fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true);
+	fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true);
+
+	fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true);
+	fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true);
+	fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true);
+	fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true);
+	fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true);
+	fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true);
+	fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true);
+	fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true);
+	fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true);
+
+	fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true);
+	fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true);
+	fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true);
+
+	fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true);
+
+	fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true);
+	fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true);
+
+	fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true);
+	fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true);
+
+	fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true);
+
+	fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true);
+
+	TinyMCE_EditableSelects.init();
+	setupFormData();
+	showDisabledControls();
+}
+
+function setupFormData() {
+	var ce = document.getElementById('container'), f = document.forms[0], s, b, i;
+
+	// Setup text fields
+
+	selectByValue(f, 'text_font', ce.style.fontFamily, true, true);
+	selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true);
+	selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize));
+	selectByValue(f, 'text_weight', ce.style.fontWeight, true, true);
+	selectByValue(f, 'text_style', ce.style.fontStyle, true, true);
+	selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true);
+	selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight));
+	selectByValue(f, 'text_case', ce.style.textTransform, true, true);
+	selectByValue(f, 'text_variant', ce.style.fontVariant, true, true);
+	f.text_color.value = ce.style.color;
+	updateColor('text_color_pick', 'text_color');
+	f.text_underline.checked = inStr(ce.style.textDecoration, 'underline');
+	f.text_overline.checked = inStr(ce.style.textDecoration, 'overline');
+	f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through');
+	f.text_blink.checked = inStr(ce.style.textDecoration, 'blink');
+
+	// Setup background fields
+
+	f.background_color.value = ce.style.backgroundColor;
+	updateColor('background_color_pick', 'background_color');
+	f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true);
+	selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true);
+	selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true);
+	selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0)));
+	selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true);
+	selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1)));
+
+	// Setup block fields
+
+	selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true);
+	selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing));
+	selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true);
+	selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing));
+	selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true);
+	selectByValue(f, 'block_text_align', ce.style.textAlign, true, true);
+	f.block_text_indent.value = getNum(ce.style.textIndent);
+	selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent));
+	selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true);
+	selectByValue(f, 'block_display', ce.style.display, true, true);
+
+	// Setup box fields
+
+	f.box_width.value = getNum(ce.style.width);
+	selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width));
+
+	f.box_height.value = getNum(ce.style.height);
+	selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height));
+
+	if (tinyMCE.isGecko)
+		selectByValue(f, 'box_float', ce.style.cssFloat, true, true);
+	else
+		selectByValue(f, 'box_float', ce.style.styleFloat, true, true);
+
+	selectByValue(f, 'box_clear', ce.style.clear, true, true);
+
+	setupBox(f, ce, 'box_padding', 'padding', '');
+	setupBox(f, ce, 'box_margin', 'margin', '');
+
+	// Setup border fields
+
+	setupBox(f, ce, 'border_style', 'border', 'Style');
+	setupBox(f, ce, 'border_width', 'border', 'Width');
+	setupBox(f, ce, 'border_color', 'border', 'Color');
+
+	updateColor('border_color_top_pick', 'border_color_top');
+	updateColor('border_color_right_pick', 'border_color_right');
+	updateColor('border_color_bottom_pick', 'border_color_bottom');
+	updateColor('border_color_left_pick', 'border_color_left');
+
+	// Setup list fields
+
+	selectByValue(f, 'list_type', ce.style.listStyleType, true, true);
+	selectByValue(f, 'list_position', ce.style.listStylePosition, true, true);
+	f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+	// Setup box fields
+
+	selectByValue(f, 'positioning_type', ce.style.position, true, true);
+	selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true);
+	selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true);
+	f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : "";
+
+	f.positioning_width.value = getNum(ce.style.width);
+	selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width));
+
+	f.positioning_height.value = getNum(ce.style.height);
+	selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height));
+
+	setupBox(f, ce, 'positioning_placement', '', '', new Array('top', 'right', 'bottom', 'left'));
+
+	s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1");
+	s = s.replace(/,/g, ' ');
+
+	if (!hasEqualValues(new Array(getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)))) {
+		f.positioning_clip_top.value = getNum(getVal(s, 0));
+		selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
+		f.positioning_clip_right.value = getNum(getVal(s, 1));
+		selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1)));
+		f.positioning_clip_bottom.value = getNum(getVal(s, 2));
+		selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2)));
+		f.positioning_clip_left.value = getNum(getVal(s, 3));
+		selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3)));
+	} else {
+		f.positioning_clip_top.value = getNum(getVal(s, 0));
+		selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
+		f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value;
+	}
+
+//	setupBox(f, ce, '', 'border', 'Color');
+}
+
+function getMeasurement(s) {
+	return s.replace(/^([0-9]+)(.*)$/, "$2");
+}
+
+function getNum(s) {
+	if (new RegExp('^[0-9]+[a-z%]+$', 'gi').test(s))
+		return s.replace(/[^0-9]/g, '');
+
+	return s;
+}
+
+function inStr(s, n) {
+	return new RegExp(n, 'gi').test(s);
+}
+
+function getVal(s, i) {
+	var a = tinyMCE.explode(' ', s);
+
+	if (a.length > 1)
+		return a[i];
+
+	return "";
+}
+
+function setValue(f, n, v) {
+	if (f.elements[n].type == "text")
+		f.elements[n].value = v;
+	else
+		selectByValue(f, n, v, true, true);
+}
+
+function setupBox(f, ce, fp, pr, sf, b) {
+	if (typeof(b) == "undefined")
+		b = new Array('Top', 'Right', 'Bottom', 'Left');
+
+	if (isSame(ce, pr, sf, b)) {
+		f.elements[fp + "_same"].checked = true;
+
+		setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
+		f.elements[fp + "_top"].disabled = false;
+
+		f.elements[fp + "_right"].value = "";
+		f.elements[fp + "_right"].disabled = true;
+		f.elements[fp + "_bottom"].value = "";
+		f.elements[fp + "_bottom"].disabled = true;
+		f.elements[fp + "_left"].value = "";
+		f.elements[fp + "_left"].disabled = true;
+
+		if (f.elements[fp + "_top_measurement"]) {
+			selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
+			f.elements[fp + "_left_measurement"].disabled = true;
+			f.elements[fp + "_bottom_measurement"].disabled = true;
+			f.elements[fp + "_right_measurement"].disabled = true;
+		}
+	} else {
+		f.elements[fp + "_same"].checked = false;
+
+		setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
+		f.elements[fp + "_top"].disabled = false;
+
+		setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf]));
+		f.elements[fp + "_right"].disabled = false;
+
+		setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf]));
+		f.elements[fp + "_bottom"].disabled = false;
+
+		setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf]));
+		f.elements[fp + "_left"].disabled = false;
+
+		if (f.elements[fp + "_top_measurement"]) {
+			selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
+			selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf]));
+			selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf]));
+			selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf]));
+			f.elements[fp + "_left_measurement"].disabled = false;
+			f.elements[fp + "_bottom_measurement"].disabled = false;
+			f.elements[fp + "_right_measurement"].disabled = false;
+		}
+	}
+}
+
+function isSame(e, pr, sf, b) {
+	var a = new Array(), i, x;
+
+	if (typeof(b) == "undefined")
+		b = new Array('Top', 'Right', 'Bottom', 'Left');
+
+	if (typeof(sf) == "undefined" || sf == null)
+		sf = "";
+
+	a[0] = e.style[pr + b[0] + sf];
+	a[1] = e.style[pr + b[1] + sf];
+	a[2] = e.style[pr + b[2] + sf];
+	a[3] = e.style[pr + b[3] + sf];
+
+	for (i=0; i<a.length; i++) {
+		if (a[i] == null)
+			return false;
+
+		for (x=0; x<a.length; x++) {
+			if (a[x] != a[i])
+				return false;
+		}
+	}
+
+	return true;
+};
+
+function hasEqualValues(a) {
+	var i, x;
+
+	for (i=0; i<a.length; i++) {
+		if (a[i] == null)
+			return false;
+
+		for (x=0; x<a.length; x++) {
+			if (a[x] != a[i])
+				return false;
+		}
+	}
+
+	return true;
+}
+
+function applyAction() {
+	var ce = document.getElementById('container');
+
+	generateCSS();
+
+	tinyMCEPopup.execCommand('mceSetElementStyle', false, tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText)));
+}
+
+function updateAction() {
+	applyAction();
+	tinyMCEPopup.close();
+}
+
+function generateCSS() {
+	var ce = document.getElementById('container'), f = document.forms[0], num = new RegExp('[0-9]+', 'g'), s, t;
+
+	ce.style.cssText = "";
+
+	// Build text styles
+	ce.style.fontFamily = f.text_font.value;
+	ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? f.text_size_measurement.value : "");
+	ce.style.fontStyle = f.text_style.value;
+	ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : "");
+	ce.style.textTransform = f.text_case.value;
+	ce.style.fontWeight = f.text_weight.value;
+	ce.style.fontVariant = f.text_variant.value;
+	ce.style.color = f.text_color.value;
+
+	s = "";
+	s += f.text_underline.checked ? " underline" : "";
+	s += f.text_overline.checked ? " overline" : "";
+	s += f.text_linethrough.checked ? " line-through" : "";
+	s += f.text_blink.checked ? " blink" : "";
+	s = s.length > 0 ? s.substring(1) : s;
+
+	if (f.text_none.checked)
+		s = "none";
+
+	ce.style.textDecoration = s;
+
+	// Build background styles
+
+	ce.style.backgroundColor = f.background_color.value;
+	ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : "";
+	ce.style.backgroundRepeat = f.background_repeat.value;
+	ce.style.backgroundAttachment = f.background_attachment.value;
+
+	if (f.background_hpos.value != "") {
+		s = "";
+		s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " ";
+		s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : "");
+		ce.style.backgroundPosition = s;
+	}
+
+	// Build block styles
+
+	ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : "");
+	ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : "");
+	ce.style.verticalAlign = f.block_vertical_alignment.value;
+	ce.style.textAlign = f.block_text_align.value;
+	ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : "");
+	ce.style.whiteSpace = f.block_whitespace.value;
+	ce.style.display = f.block_display.value;
+
+	// Build box styles
+
+	ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : "");
+	ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : "");
+	ce.style.styleFloat = f.box_float.value;
+
+	if (tinyMCE.isGecko)
+		ce.style.cssFloat = f.box_float.value;
+
+	ce.style.clear = f.box_clear.value;
+
+	if (!f.box_padding_same.checked) {
+		ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");
+		ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : "");
+		ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : "");
+		ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : "");
+	} else
+		ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");		
+
+	if (!f.box_margin_same.checked) {
+		ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");
+		ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : "");
+		ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : "");
+		ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : "");
+	} else
+		ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");		
+
+	// Build border styles
+
+	if (!f.border_style_same.checked) {
+		ce.style.borderTopStyle = f.border_style_top.value;
+		ce.style.borderRightStyle = f.border_style_right.value;
+		ce.style.borderBottomStyle = f.border_style_bottom.value;
+		ce.style.borderLeftStyle = f.border_style_left.value;
+	} else
+		ce.style.borderStyle = f.border_style_top.value;
+
+	if (!f.border_width_same.checked) {
+		ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : "");
+		ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : "");
+		ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : "");
+		ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : "");
+	} else
+		ce.style.borderWidth = f.border_width_top.value;
+
+	if (!f.border_color_same.checked) {
+		ce.style.borderTopColor = f.border_color_top.value;
+		ce.style.borderRightColor = f.border_color_right.value;
+		ce.style.borderBottomColor = f.border_color_bottom.value;
+		ce.style.borderLeftColor = f.border_color_left.value;
+	} else
+		ce.style.borderColor = f.border_color_top.value;
+
+	// Build list styles
+
+	ce.style.listStyleType = f.list_type.value;
+	ce.style.listStylePosition = f.list_position.value;
+	ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : "";
+
+	// Build positioning styles
+
+	ce.style.position = f.positioning_type.value;
+	ce.style.visibility = f.positioning_visibility.value;
+
+	if (ce.style.width == "")
+		ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : "");
+
+	if (ce.style.height == "")
+		ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : "");
+
+	ce.style.zIndex = f.positioning_zindex.value;
+	ce.style.overflow = f.positioning_overflow.value;
+
+	if (!f.positioning_placement_same.checked) {
+		ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
+		ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : "");
+		ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : "");
+		ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : "");
+	} else {
+		s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
+		ce.style.top = s;
+		ce.style.right = s;
+		ce.style.bottom = s;
+		ce.style.left = s;
+	}
+
+	if (!f.positioning_clip_same.checked) {
+		s = "rect(";
+		s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto");
+		s += ")";
+
+		if (s != "rect(auto auto auto auto)")
+			ce.style.clip = s;
+	} else {
+		s = "rect(";
+		t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto";
+		s += t + " ";
+		s += t + " ";
+		s += t + " ";
+		s += t + ")";
+
+		if (s != "rect(auto auto auto auto)")
+			ce.style.clip = s;
+	}
+
+	ce.style.cssText = tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText));
+}
+
+function isNum(s) {
+	return new RegExp('[0-9]+', 'g').test(s);
+}
+
+function showDisabledControls() {
+	var f = document.forms, i, a;
+
+	for (i=0; i<f.length; i++) {
+		for (a=0; a<f[i].elements.length; a++) {
+			if (f[i].elements[a].disabled)
+				tinyMCE.addCSSClass(f[i].elements[a], "disabled");
+			else
+				tinyMCE.removeCSSClass(f[i].elements[a], "disabled");
+		}
+	}
+}
+
+function fillSelect(f, s, param, dval, sep, em) {
+	var i, ar, p, se;
+
+	f = document.forms[f];
+	sep = typeof(sep) == "undefined" ? ";" : sep;
+
+	if (em)
+		addSelectValue(f, s, "", "");
+
+	ar = tinyMCE.getParam(param, dval).split(sep);
+	for (i=0; i<ar.length; i++) {
+		se = false;
+
+		if (ar[i].charAt(0) == '+') {
+			ar[i] = ar[i].substring(1);
+			se = true;
+		}
+
+		p = ar[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, s, p[0], p[1]);
+
+			if (se)
+				selectByValue(f, s, p[1]);
+		} else {
+			addSelectValue(f, s, p[0], p[0]);
+
+			if (se)
+				selectByValue(f, s, p[0]);
+		}
+	}
+}
+
+function toggleSame(ce, pre) {
+	var el = document.forms[0].elements, i;
+
+	if (ce.checked) {
+		el[pre + "_top"].disabled = false;
+		el[pre + "_right"].disabled = true;
+		el[pre + "_bottom"].disabled = true;
+		el[pre + "_left"].disabled = true;
+
+		if (el[pre + "_top_measurement"]) {
+			el[pre + "_top_measurement"].disabled = false;
+			el[pre + "_right_measurement"].disabled = true;
+			el[pre + "_bottom_measurement"].disabled = true;
+			el[pre + "_left_measurement"].disabled = true;
+		}
+	} else {
+		el[pre + "_top"].disabled = false;
+		el[pre + "_right"].disabled = false;
+		el[pre + "_bottom"].disabled = false;
+		el[pre + "_left"].disabled = false;
+
+		if (el[pre + "_top_measurement"]) {
+			el[pre + "_top_measurement"].disabled = false;
+			el[pre + "_right_measurement"].disabled = false;
+			el[pre + "_bottom_measurement"].disabled = false;
+			el[pre + "_left_measurement"].disabled = false;
+		}
+	}
+
+	showDisabledControls();
+}
+
+function synch(fr, to) {
+	var f = document.forms[0];
+
+	f.elements[to].value = f.elements[fr].value;
+
+	if (f.elements[fr + "_measurement"])
+		selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value);
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,60 @@
+// UK lang variables
+
+tinyMCE.addToLang('style',{
+title : 'Edit CSS Style',
+styleinfo_desc : 'Edit CSS Style',
+text_tab : 'Text',
+background_tab : 'Background',
+block_tab : 'Block',
+box_tab : 'Box',
+border_tab : 'Border',
+list_tab : 'List',
+positioning_tab : 'Positioning',
+text_props : 'Text',
+text_font : 'Font',
+text_size : 'Size',
+text_weight : 'Weight',
+text_style : 'Style',
+text_variant : 'Variant',
+text_lineheight : 'Line height',
+text_case : 'Case',
+text_color : 'Color',
+text_decoration : 'Decoration',
+background_color : 'Background color',
+background_image : 'Background image',
+background_repeat : 'Repeat',
+background_attachment : 'Attachment',
+background_hpos : 'Horizontal position',
+background_vpos : 'Vertical position',
+block_wordspacing : 'Word spacing',
+block_letterspacing : 'Letter spacing',
+block_vertical_alignment : 'Vertical alignment',
+block_text_align : 'Text align',
+block_text_indent : 'Text indent',
+block_whitespace : 'Whitespace',
+block_display : 'Display',
+box_width : 'Width',
+box_height : 'Height',
+box_float : 'Float',
+box_clear : 'Clear',
+padding : 'Padding',
+same : 'Same for all',
+top : 'Top',
+right : 'Right',
+bottom : 'Bottom',
+left : 'Left',
+margin : 'Margin',
+style : 'Style',
+width : 'Width',
+height : 'Height',
+color : 'Color',
+list_type : 'Type',
+bullet_image : 'Bullet image',
+position : 'Position',
+positioning_type : 'Type',
+visibility : 'Visibility',
+zindex : 'Z-index',
+overflow : 'Overflow',
+placement : 'Placement',
+clip : 'Clip'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/props.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/props.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/props.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/props.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,580 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_style_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/props.js"></script>
+	<link href="css/props.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="styleprops" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="updateAction();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="text_tab" class="current"><span><a href="javascript:mcTabs.displayTab('text_tab','text_panel');" onmousedown="return false;">{$lang_style_text_tab}</a></span></li>
+				<li id="background_tab"><span><a href="javascript:mcTabs.displayTab('background_tab','background_panel');" onmousedown="return false;">{$lang_style_background_tab}</a></span></li>
+				<li id="block_tab"><span><a href="javascript:mcTabs.displayTab('block_tab','block_panel');" onmousedown="return false;">{$lang_style_block_tab}</a></span></li>
+				<li id="box_tab"><span><a href="javascript:mcTabs.displayTab('box_tab','box_panel');" onmousedown="return false;">{$lang_style_box_tab}</a></span></li>
+				<li id="border_tab"><span><a href="javascript:mcTabs.displayTab('border_tab','border_panel');" onmousedown="return false;">{$lang_style_border_tab}</a></span></li>
+				<li id="list_tab"><span><a href="javascript:mcTabs.displayTab('list_tab','list_panel');" onmousedown="return false;">{$lang_style_list_tab}</a></span></li>
+				<li id="positioning_tab"><span><a href="javascript:mcTabs.displayTab('positioning_tab','positioning_panel');" onmousedown="return false;">{$lang_style_positioning_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="text_panel" class="panel current">
+				<table border="0" width="100%">
+					<tr>
+						<td><label for="text_font">{$lang_style_text_font}</label></td>
+						<td colspan="3">
+							<select id="text_font" name="text_font" class="mceEditableSelect" onchange="alert(this.options[this.selectedIndex].value);"></select>
+						</td>
+					</tr>
+					<tr>
+						<td><label for="text_size">{$lang_style_text_size}</label></td>
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><select id="text_size" name="text_size" class="mceEditableSelect"></select></td>
+								<td>&nbsp;<select id="text_size_measurement" name="text_size_measurement"></select>
+							</tr></table>
+						</td>
+						<td><label for="text_weight">{$lang_style_text_weight}</label></td>
+						<td>
+							<select id="text_weight" name="text_weight"></select>
+						</td>
+					</tr>
+					<tr>
+						<td><label for="text_style">{$lang_style_text_style}</label></td>
+						<td>
+							<select id="text_style" name="text_style" class="mceEditableSelect"></select>
+						</td>
+						<td><label for="text_variant">{$lang_style_text_variant}</label></td>
+						<td>
+							<select id="text_variant" name="text_variant"></select>
+						</td>
+					</tr>
+					<tr>
+						<td><label for="text_lineheight">{$lang_style_text_lineheight}</label></td>
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0"><tr><td>
+							<select id="text_lineheight" name="text_lineheight" class="mceEditableSelect"></select>
+							</td><td>&nbsp;<select id="text_lineheight_measurement" name="text_lineheight_measurement"></select>
+							</tr></table>
+						</td>
+						<td><label for="text_case">{$lang_style_text_case}</label></td>
+						<td>
+							<select id="text_case" name="text_case"></select>
+						</td>
+					</tr>
+					<tr>
+						<td><label for="text_color">{$lang_style_text_color}</label></td>
+						<td colspan="2">
+							<table border="0" cellpadding="0" cellspacing="0">
+								<tr>
+									<td><input id="text_color" name="text_color" type="text" value="" size="9" onchange="updateColor('text_color_pick','text_color');" /></td>
+									<td id="text_color_pickcontainer">&nbsp;</td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+					<tr>
+						<td>{$lang_style_text_decoration}</td>
+						<td colspan="2">
+							<table border="0" cellspacing="0" cellpadding="0">
+								<tr><td><input id="text_underline" name="text_underline" class="checkbox" type="checkbox" /></td><td><label for="text_underline">underline</label></td></tr>
+								<tr><td><input id="text_overline" name="text_overline" class="checkbox" type="checkbox" /></td><td><label for="text_overline">overline</label></td></tr>
+								<tr><td><input id="text_linethrough" name="text_linethrough" class="checkbox" type="checkbox" /></td><td><label for="text_linethrough">line-through</label></td></tr>
+								<tr><td><input id="text_blink" name="text_blink" class="checkbox" type="checkbox" /></td><td><label for="text_blink">blink</label></td></tr>
+								<tr><td><input id="text_none" name="text_none" class="checkbox" type="checkbox" /></td><td><label for="text_none">none</label></td></tr>
+							</table>
+						</td>
+					</tr>
+				</table>
+			</div>
+
+			<div id="background_panel" class="panel">
+				<table border="0">
+					<tr>
+						<td><label for="background_color">{$lang_style_background_color}</label></td>
+						<td>
+							<table border="0" cellpadding="0" cellspacing="0">
+								<tr>
+									<td><input id="background_color" name="background_color" type="text" value="" size="9" onchange="updateColor('background_color_pick','background_color');" /></td>
+									<td id="background_color_pickcontainer">&nbsp;</td>
+								</tr>
+							</table>
+						</td>	
+					</tr>
+
+					<tr>
+						<td><label for="background_image">{$lang_style_background_image}</label></td>
+						<td><input id="background_image" name="background_image" type="text" /></td>	
+					</tr>
+
+					<tr>
+						<td><label for="background_repeat">{$lang_style_background_repeat}</label></td>
+						<td><select id="background_repeat" name="background_repeat" class="mceEditableSelect"></select></td>	
+					</tr>
+
+					<tr>
+						<td><label for="background_attachment">{$lang_style_background_attachment}</label></td>
+						<td><select id="background_attachment" name="background_attachment" class="mceEditableSelect"></select></td>	
+					</tr>
+
+					<tr>
+						<td><label for="background_hpos">{$lang_style_background_hpos}</label></td>
+						<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><select id="background_hpos" name="background_hpos" class="mceEditableSelect"></select></td>
+								<td>&nbsp;<select id="background_hpos_measurement" name="background_hpos_measurement"></select>
+							</tr></table>
+						</td>
+					</tr>
+
+					<tr>
+						<td><label for="background_vpos">{$lang_style_background_vpos}</label></td>
+						<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><select id="background_vpos" name="background_vpos" class="mceEditableSelect"></select></td>
+								<td>&nbsp;<select id="background_vpos_measurement" name="background_vpos_measurement"></select>
+							</tr></table>
+						</td>
+					</tr>
+				</table>
+			</div>
+
+			<div id="block_panel" class="panel">
+				<table border="0">
+					<tr>
+						<td><label for="block_wordspacing">{$lang_style_block_wordspacing}</label></td>
+						<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><select id="block_wordspacing" name="block_wordspacing" class="mceEditableSelect"></select></td>
+								<td>&nbsp;<select id="block_wordspacing_measurement" name="block_wordspacing_measurement"></select>
+							</tr></table>
+						</td>
+					</tr>
+
+					<tr>
+						<td><label for="block_letterspacing">{$lang_style_block_letterspacing}</label></td>
+						<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><select id="block_letterspacing" name="block_letterspacing" class="mceEditableSelect"></select></td>
+								<td>&nbsp;<select id="block_letterspacing_measurement" name="block_letterspacing_measurement"></select>
+							</tr></table>
+						</td>
+					</tr>
+
+					<tr>
+						<td><label for="block_vertical_alignment">{$lang_style_block_vertical_alignment}</label></td>
+						<td><select id="block_vertical_alignment" name="block_vertical_alignment" class="mceEditableSelect"></select></td>	
+					</tr>
+
+					<tr>
+						<td><label for="block_text_align">{$lang_style_block_text_align}</label></td>
+						<td><select id="block_text_align" name="block_text_align" class="mceEditableSelect"></select></td>	
+					</tr>
+
+					<tr>
+						<td><label for="block_text_indent">{$lang_style_block_text_indent}</label></td>
+						<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><input type="text" id="block_text_indent" name="block_text_indent" /></td>
+								<td>&nbsp;<select id="block_text_indent_measurement" name="block_text_indent_measurement"></select>
+							</tr></table>
+						</td>
+					</tr>
+
+					<tr>
+						<td><label for="block_whitespace">{$lang_style_block_whitespace}</label></td>
+						<td><select id="block_whitespace" name="block_whitespace" class="mceEditableSelect"></select></td>	
+					</tr>
+
+					<tr>
+						<td><label for="block_display">{$lang_style_block_display}</label></td>
+						<td><select id="block_display" name="block_display" class="mceEditableSelect"></select></td>	
+					</tr>
+				</table>
+			</div>
+
+			<div id="box_panel" class="panel">
+				<table border="0">
+					<tr>
+						<td><label for="box_width">{$lang_style_box_width}</label></td>
+						<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><input type="text" id="box_width" name="box_width" class="mceEditableSelect" onchange="synch('box_width','positioning_width');" /></td>
+								<td>&nbsp;<select id="box_width_measurement" name="box_width_measurement"></select>
+							</tr></table>
+						</td>
+						<td>&nbsp;&nbsp;&nbsp;<label for="box_float">{$lang_style_box_float}</label></td>
+						<td><select id="box_float" name="box_float" class="mceEditableSelect"></select></td>							
+					</tr>
+
+					<tr>
+						<td><label for="box_height">{$lang_style_box_height}</label></td>
+						<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><input type="text" id="box_height" name="box_height" class="mceEditableSelect" onchange="synch('box_height','positioning_height');" /></td>
+								<td>&nbsp;<select id="box_height_measurement" name="box_height_measurement"></select>
+							</tr></table>
+						</td>
+						<td>&nbsp;&nbsp;&nbsp;<label for="box_clear">{$lang_style_box_clear}</label></td>
+						<td><select id="box_clear" name="box_clear" class="mceEditableSelect"></select></td>							
+					</tr>					
+				</table>
+				<div style="float: left; width: 49%">
+					<fieldset>
+						<legend>{$lang_style_padding}</legend>
+
+						<table border="0">
+							<tr>
+								<td>&nbsp;</td>
+								<td><input type="checkbox" id="box_padding_same" name="box_padding_same" class="checkbox" checked="checked" onclick="toggleSame(this,'box_padding');" /> <label for="box_padding_same">{$lang_style_same}</label></td>
+							</tr>
+							<tr>
+								<td><label for="box_padding_top">{$lang_style_top}</label></td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="box_padding_top" name="box_padding_top" class="mceEditableSelect" /></td>
+										<td>&nbsp;<select id="box_padding_top_measurement" name="box_padding_top_measurement"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td><label for="box_padding_right">{$lang_style_right}</label></td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="box_padding_right" name="box_padding_right" class="mceEditableSelect" disabled="disabled" /></td>
+										<td>&nbsp;<select id="box_padding_right_measurement" name="box_padding_right_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td><label for="box_padding_bottom">{$lang_style_bottom}</label></td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="box_padding_bottom" name="box_padding_bottom" class="mceEditableSelect" disabled="disabled" /></td>
+										<td>&nbsp;<select id="box_padding_bottom_measurement" name="box_padding_bottom_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td><label for="box_padding_left">{$lang_style_left}</label></td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="box_padding_left" name="box_padding_left" class="mceEditableSelect" disabled="disabled" /></td>
+										<td>&nbsp;<select id="box_padding_left_measurement" name="box_padding_left_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+						</table>
+					</fieldset>
+				</div>
+				<div style="float: right; width: 49%">
+					<fieldset>
+						<legend>{$lang_style_margin}</legend>
+
+						<table border="0">
+							<tr>
+								<td>&nbsp;</td>
+								<td><input type="checkbox" id="box_margin_same" name="box_margin_same" class="checkbox" checked="checked" onclick="toggleSame(this,'box_margin');" /> <label for="box_margin_same">{$lang_style_same}</label></td>
+							</tr>
+							<tr>
+								<td><label for="box_margin_top">{$lang_style_top}</label></td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="box_margin_top" name="box_margin_top" class="mceEditableSelect" /></td>
+										<td>&nbsp;<select id="box_margin_top_measurement" name="box_margin_top_measurement"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td><label for="box_margin_right">{$lang_style_right}</label></td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="box_margin_right" name="box_margin_right" class="mceEditableSelect" disabled="disabled" /></td>
+										<td>&nbsp;<select id="box_margin_right_measurement" name="box_margin_right_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td><label for="box_margin_bottom">{$lang_style_bottom}</label></td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="box_margin_bottom" name="box_margin_bottom" class="mceEditableSelect" disabled="disabled" /></td>
+										<td>&nbsp;<select id="box_margin_bottom_measurement" name="box_margin_bottom_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td><label for="box_margin_left">{$lang_style_left}</label></td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="box_margin_left" name="box_margin_left" class="mceEditableSelect" disabled="disabled" /></td>
+										<td>&nbsp;<select id="box_margin_left_measurement" name="box_margin_left_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+						</table>
+					</fieldset>
+				</div>
+				<br style="clear: both" />
+			</div>
+
+			<div id="border_panel" class="panel">
+				<table border="0" cellspacing="0" cellp2adding="0" width="100%">
+					<tr>
+						<td class="tdelim">&nbsp;</td>
+						<td class="tdelim delim">&nbsp;</td>
+						<td class="tdelim">{$lang_style_style}</td>
+						<td class="tdelim delim">&nbsp;</td>
+						<td class="tdelim">{$lang_style_width}</td>
+						<td class="tdelim delim">&nbsp;</td>
+						<td class="tdelim">{$lang_style_color}</td>
+					</tr>
+
+					<tr>
+						<td>&nbsp;</td>
+						<td class="delim">&nbsp;</td>
+						<td><input type="checkbox" id="border_style_same" name="border_style_same" class="checkbox" checked="checked" onclick="toggleSame(this,'border_style');" /> <label for="border_style_same">{$lang_style_same}</label></td>
+						<td class="delim">&nbsp;</td>
+						<td><input type="checkbox" id="border_width_same" name="border_width_same" class="checkbox" checked="checked" onclick="toggleSame(this,'border_width');" /> <label for="border_width_same">{$lang_style_same}</label></td>
+						<td class="delim">&nbsp;</td>
+						<td><input type="checkbox" id="border_color_same" name="border_color_same" class="checkbox" checked="checked" onclick="toggleSame(this,'border_color');" /> <label for="border_color_same">{$lang_style_same}</label></td>
+					</tr>
+
+					<tr>
+						<td>{$lang_style_top}</td>
+						<td class="delim">&nbsp;</td>
+						<td><select id="border_style_top" name="border_style_top" class="mceEditableSelect"></select></td>
+						<td class="delim">&nbsp;</td>
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><select id="border_width_top" name="border_width_top" class="mceEditableSelect"></select></td>
+								<td>&nbsp;<select id="border_width_top_measurement" name="border_width_top_measurement"></select>
+							</tr></table>
+						</td>
+						<td class="delim">&nbsp;</td>
+						<td><table border="0" cellpadding="0" cellspacing="0">
+								<tr>
+									<td><input id="border_color_top" name="border_color_top" type="text" value="" size="9" onchange="updateColor('border_color_top_pick','border_color_top');" /></td>
+									<td id="border_color_top_pickcontainer">&nbsp;</td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+
+					<tr>
+						<td>{$lang_style_right}</td>
+						<td class="delim">&nbsp;</td>
+						<td><select id="border_style_right" name="border_style_right" class="mceEditableSelect" disabled="disabled"></select></td>
+						<td class="delim">&nbsp;</td>
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><select id="border_width_right" name="border_width_right" class="mceEditableSelect" disabled="disabled"></select></td>
+								<td>&nbsp;<select id="border_width_right_measurement" name="border_width_right_measurement" disabled="disabled"></select>
+							</tr></table>
+						</td>
+						<td class="delim">&nbsp;</td>
+						<td><table border="0" cellpadding="0" cellspacing="0">
+								<tr>
+									<td><input id="border_color_right" name="border_color_right" type="text" value="" size="9" onchange="updateColor('border_color_right_pick','border_color_right');" disabled="disabled" /></td>
+									<td id="border_color_right_pickcontainer">&nbsp;</td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+
+					<tr>
+						<td>{$lang_style_bottom}</td>
+						<td class="delim">&nbsp;</td>
+						<td><select id="border_style_bottom" name="border_style_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
+						<td class="delim">&nbsp;</td>
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><select id="border_width_bottom" name="border_width_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
+								<td>&nbsp;<select id="border_width_bottom_measurement" name="border_width_bottom_measurement" disabled="disabled"></select>
+							</tr></table>
+						</td>
+						<td class="delim">&nbsp;</td>
+						<td><table border="0" cellpadding="0" cellspacing="0">
+								<tr>
+									<td><input id="border_color_bottom" name="border_color_bottom" type="text" value="" size="9" onchange="updateColor('border_color_bottom_pick','border_color_bottom');" disabled="disabled" /></td>
+									<td id="border_color_bottom_pickcontainer">&nbsp;</td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+
+					<tr>
+						<td>{$lang_style_left}</td>
+						<td class="delim">&nbsp;</td>
+						<td><select id="border_style_left" name="border_style_left" class="mceEditableSelect" disabled="disabled"></select></td>
+						<td class="delim">&nbsp;</td>
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><select id="border_width_left" name="border_width_left" class="mceEditableSelect" disabled="disabled"></select></td>
+								<td>&nbsp;<select id="border_width_left_measurement" name="border_width_left_measurement" disabled="disabled"></select>
+							</tr></table>
+						</td>
+						<td class="delim">&nbsp;</td>
+						<td><table border="0" cellpadding="0" cellspacing="0">
+								<tr>
+									<td><input id="border_color_left" name="border_color_left" type="text" value="" size="9" onchange="updateColor('border_color_left_pick','border_color_left');" disabled="disabled" /></td>
+									<td id="border_color_left_pickcontainer">&nbsp;</td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+				</table>
+			</div>
+
+			<div id="list_panel" class="panel">
+				<table border="0">
+					<tr>
+						<td><label for="list_type">{$lang_style_list_type}</label></td>
+						<td><select id="list_type" name="list_type" class="mceEditableSelect"></select></td>	
+					</tr>
+
+					<tr>
+						<td><label for="list_bullet_image">{$lang_style_bullet_image}</label></td>
+						<td><input id="list_bullet_image" name="list_bullet_image" type="text" /></td>	
+					</tr>
+
+					<tr>
+						<td><label for="list_position">{$lang_style_position}</label></td>
+						<td><select id="list_position" name="list_position" class="mceEditableSelect"></select></td>	
+					</tr>
+				</table>
+			</div>
+
+			<div id="positioning_panel" class="panel">
+				<table border="0">
+					<tr>
+						<td><label for="positioning_type">{$lang_style_positioning_type}</label></td>
+						<td><select id="positioning_type" name="positioning_type" class="mceEditableSelect"></select></td>
+						<td>&nbsp;&nbsp;&nbsp;<label for="positioning_visibility">{$lang_style_visibility}</label></td>
+						<td><select id="positioning_visibility" name="positioning_visibility" class="mceEditableSelect"></select></td>							
+					</tr>
+
+					<tr>
+						<td><label for="positioning_width">{$lang_style_width}</label></td>
+						<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><input type="text" id="positioning_width" name="positioning_width" onchange="synch('positioning_width','box_width');" /></td>
+								<td>&nbsp;<select id="positioning_width_measurement" name="positioning_width_measurement"></select>
+							</tr></table>
+						</td>
+						<td>&nbsp;&nbsp;&nbsp;<label for="positioning_zindex">{$lang_style_zindex}</label></td>
+						<td><input type="text" id="positioning_zindex" name="positioning_zindex" /></td>							
+					</tr>
+
+					<tr>
+						<td><label for="positioning_height">{$lang_style_height}</label></td>
+						<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+								<td><input type="text" id="positioning_height" name="positioning_height" onchange="synch('positioning_height','box_height');" /></td>
+								<td>&nbsp;<select id="positioning_height_measurement" name="positioning_height_measurement"></select>
+							</tr></table>
+						</td>
+						<td>&nbsp;&nbsp;&nbsp;<label for="positioning_overflow">{$lang_style_overflow}</label></td>
+						<td><select id="positioning_overflow" name="positioning_overflow" class="mceEditableSelect"></select></td>							
+					</tr>					
+				</table>
+
+				<div style="float: left; width: 49%">
+					<fieldset>
+						<legend>{$lang_style_placement}</legend>
+
+						<table border="0">
+							<tr>
+								<td>&nbsp;</td>
+								<td><input type="checkbox" id="positioning_placement_same" name="positioning_placement_same" class="checkbox" checked="checked" onclick="toggleSame(this,'positioning_placement');" /> <label for="positioning_placement_same">{$lang_style_same}</label></td>
+							</tr>
+							<tr>
+								<td>{$lang_style_top}</td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="positioning_placement_top" name="positioning_placement_top" /></td>
+										<td>&nbsp;<select id="positioning_placement_top_measurement" name="positioning_placement_top_measurement"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td>{$lang_style_right}</td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="positioning_placement_right" name="positioning_placement_right" disabled="disabled" /></td>
+										<td>&nbsp;<select id="positioning_placement_right_measurement" name="positioning_placement_right_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td>{$lang_style_bottom}</td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="positioning_placement_bottom" name="positioning_placement_bottom" disabled="disabled" /></td>
+										<td>&nbsp;<select id="positioning_placement_bottom_measurement" name="positioning_placement_bottom_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td>{$lang_style_left}</td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="positioning_placement_left" name="positioning_placement_left" disabled="disabled" /></td>
+										<td>&nbsp;<select id="positioning_placement_left_measurement" name="positioning_placement_left_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+						</table>
+					</fieldset>
+				</div>
+				<div style="float: right; width: 49%">
+					<fieldset>
+						<legend>{$lang_style_clip}</legend>
+
+						<table border="0">
+							<tr>
+								<td>&nbsp;</td>
+								<td><input type="checkbox" id="positioning_clip_same" name="positioning_clip_same" class="checkbox" checked="checked" onclick="toggleSame(this,'positioning_clip');" /> <label for="positioning_clip_same">{$lang_style_same}</label></td>
+							</tr>
+							<tr>
+								<td>{$lang_style_top}</td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="positioning_clip_top" name="positioning_clip_top" /></td>
+										<td>&nbsp;<select id="positioning_clip_top_measurement" name="positioning_clip_top_measurement"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td>{$lang_style_right}</td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="positioning_clip_right" name="positioning_clip_right" disabled="disabled" /></td>
+										<td>&nbsp;<select id="positioning_clip_right_measurement" name="positioning_clip_right_measurement" disabled="disabled" ></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td>{$lang_style_bottom}</td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="positioning_clip_bottom" name="positioning_clip_bottom" disabled="disabled" /></td>
+										<td>&nbsp;<select id="positioning_clip_bottom_measurement" name="positioning_clip_bottom_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+							<tr>
+								<td>{$lang_style_left}</td>
+								<td><table border="0" cellspacing="0" cellpadding="0"><tr>
+										<td><input type="text" id="positioning_clip_left" name="positioning_clip_left" disabled="disabled" /></td>
+										<td>&nbsp;<select id="positioning_clip_left_measurement" name="positioning_clip_left_measurement" disabled="disabled"></select>
+									</tr></table>
+								</td>
+							</tr>
+						</table>
+					</fieldset>
+				</div>
+				<br style="clear: both" />
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<div style="float: left"><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+				<div style="float: left">&nbsp;<input type="button" id="apply" name="apply" value="Apply" onclick="applyAction();" class="updateButton" /></div>
+				<br style="clear: both" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+
+	<div style="display: none">
+		<div id="container"></div>
+	</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/style/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,182 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_cell_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/cell.js"></script>
+	<link href="css/cell.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="tablecell" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="updateAction();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="align">{$lang_table_align}</label></td>
+							<td>
+								<select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								</select>
+							</td>
+		
+							<td><label for="celltype">{$lang_table_cell_type}</label></td>
+							<td>
+								<select id="celltype" name="celltype">
+									<option value="td">{$lang_table_td}</option>
+									<option value="th">{$lang_table_th}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="valign">{$lang_table_valign}</label></td>
+							<td>
+								<select id="valign" name="valign">
+									<option value="">{$lang_not_set}</option>
+									<option value="top">{$lang_table_align_top}</option>
+									<option value="middle">{$lang_table_align_middle}</option>
+									<option value="bottom">{$lang_table_align_bottom}</option>
+								</select>
+							</td>
+
+							<td><label for="scope">{$lang_table_scope}</label></td>
+							<td>
+								<select id="scope" name="scope">
+									<option value="">{$lang_not_set}</option>
+									<option value="col">{$lang_table_col}</option>
+									<option value="row">{$lang_table_row}</option>
+									<option value="rowgroup">{$lang_table_rowgroup}</option>
+									<option value="colgroup">{$lang_table_colgroup}</option>
+								</select>
+							</td>
+
+						</tr>
+
+						<tr>
+							<td><label for="width">{$lang_table_width}</label></td>
+							<td><input id="width" name="width" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+
+							<td><label for="height">{$lang_table_height}</label></td>
+							<td><input id="height" name="height" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+						</tr>
+
+						<tr id="styleSelectRow">
+							<td><label for="class">{$lang_class_name}</label></td>
+							<td colspan="3">
+								<select id="class" name="class">
+									<option value="" selected="selected">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" style="width: 200px"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" style="width: 200px" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
+										<td id="bordercolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div>
+				<select id="action" name="action">
+					<option value="cell">{$lang_table_cell_cell}</option>
+					<option value="row">{$lang_table_cell_row}</option>
+					<option value="all">{$lang_table_cell_all}</option>
+				</select>
+			</div>
+
+			<div style="float: left">
+				<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,17 @@
+/* CSS file for cell dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 200px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#action {
+	margin-bottom: 3px;
+}
+
+#class {
+	width: 150px;
+}
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,25 @@
+/* CSS file for row dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 200px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#action {
+	margin-bottom: 3px;
+}
+
+#rowtype,#align,#valign,#class,#height {
+	width: 150px;
+}
+
+#height {
+	width: 50px;	
+}
+
+.col2 {
+	padding-left: 20px;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,13 @@
+/* CSS file for table dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 220px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#class {
+	width: 150px;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('table','en,tr,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,nb,pl,pt,pt_br,sv,tw,zh_cn,fr,de,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_TablePlugin={getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_table.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isGecko){var doc=inst.getDoc();tinyMCE.addEvent(doc,"mouseup",TinyMCE_TablePlugin._mouseDownHandler);}inst.tableRowClipboard=null;},getControlHTML:function(control_name){var controls=new Array(['table','table.gif','lang_table_desc','mceInsertTable',true],['delete_col','table_delete_col.gif','lang_table_delete_col_desc','mceTableDeleteCol'],['delete_row','table_delete_row.gif','lang_table_delete_row_desc','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','lang_table_col_after_desc','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','lang_table_col_before_desc','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','lang_table_row_after_desc','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','lang_table_row_before_desc','mceTableInsertRowBefore'],['row_props','table_row_props.gif','lang_table_row_desc','mceTableRowProps',true],['cell_props','table_cell_props.gif','lang_table_cell_desc','mceTableCellProps',true],['split_cells','table_split_cells.gif','lang_table_split_cells_desc','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','lang_table_merge_cells_desc','mceTableMergeCells',true]);for(var i=0;i<controls.length;i++){var but=controls[i];var cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');return false;';if(but[0]==control_name)return tinyMCE.getButtonHTML(control_name,but[2],'{$pluginurl}/images/'+but[1],but[3],(but.length>4?but[4]:false));}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html;}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":var inst=tinyMCE.getInstanceById(editor_id);inst.execCommand('mceBeginUndoLevel');TinyMCE_TablePlugin._doExecCommand(editor_id,element,command,user_interface,value);inst.execCommand('mceEndUndoLevel');return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1";var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClass(editor_id+'_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_cell_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_split_cells','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonDisabled');if(tdElm=tinyMCE.getParentElement(node,"td,th")){tinyMCE.switchClass(editor_id+'_cell_props','mceButtonSelected');tinyMCE.switchClass(editor_id+'_row_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonNormal');colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClass(editor_id+'_split_cells','mceButtonNormal');}if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClass(editor_id+'_row_props','mceButtonSelected');if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClass(editor_id+'_table','mceButtonSelected');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonNormal');}},_mouseDownHandler:function(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||focusElm.nodeName=="TH"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD")||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TH"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);},10);}},_doExecCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td,th");var tableElm=tinyMCE.getParentElement(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i<ar.length;i++){if(ar[i].length>0&&inArray(ar[i],v))return true;if(ar[i]==v)return true;}return false;}function makeTD(){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan};}function getCellPos(grid,td){for(var y=0;y<grid.length;y++){for(var x=0;x<grid[y].length;x++){if(grid[y][x]==td)return{cellindex:x,rowindex:y};}}return null;}function getCell(grid,row,col){if(grid[row]&&grid[row][col])return grid[row][col];return null;}function getTableGrid(table){var grid=new Array();var rows=table.rows;for(var y=0;y<rows.length;y++){for(var x=0;x<rows[y].cells.length;x++){var td=rows[y].cells[x];var sd=getColRowSpan(td);for(xstart=x;grid[y]&&grid[y][xstart];xstart++);for(var y2=y;y2<y+sd['rowspan'];y2++){if(!grid[y2])grid[y2]=new Array();for(var x2=xstart;x2<xstart+sd['colspan'];x2++){grid[y2][x2]=td;}}}}return grid;}function trimRow(table,tr,td,new_tr){var grid=getTableGrid(table);var cpos=getCellPos(grid,td);if(new_tr.cells.length!=tr.childNodes.length){var cells=tr.childNodes;var lastElm=null;for(var x=0;td=getCell(grid,cpos.rowindex,x);x++){var remove=true;var sd=getColRowSpan(td);if(inArray(cells,td)){new_tr.childNodes[x]._delete=true;}else if((lastElm==null||td!=lastElm)&&sd.colspan>1){for(var i=x;i<x+td.colSpan;i++)new_tr.childNodes[i]._delete=true;}if((lastElm==null||td!=lastElm)&&sd.rowspan>1)td.rowSpan=sd.rowspan+1;lastElm=td;}deleteMarked(tableElm);}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node;}return null;}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i<namesAr.length;i++){if(node.nodeName.toLowerCase()==namesAr[i].toLowerCase())return node;}}return null;}function deleteMarked(tbl){if(tbl.rows==0)return;var tr=tbl.rows[0];do{var next=nextElm(tr,"TR");if(tr._delete){tr.parentNode.removeChild(tr);continue;}var td=tr.cells[0];if(td.cells>1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td);}while((td=nexttd)!=null);}}while((tr=next)!=null);}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i<rowspan&&trNext;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";if(tinyMCE.isMSIE)trNext.insertBefore(newTD,trNext.cells(td_elm.cellIndex));else trNext.insertBefore(newTD,trNext.cells[td_elm.cellIndex]);trNext=nextElm(trNext,"TR");}}function copyRow(doc,table,tr){var grid=getTableGrid(table);var newTR=tr.cloneNode(false);var cpos=getCellPos(grid,tr.cells[0]);var lastCell=null;var tableBorder=tinyMCE.getAttrib(table,"border");var tdElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){var newTD=null;if(lastCell!=tdElm){for(var i=0;i<tr.cells.length;i++){if(tdElm==tr.cells[i]){newTD=tdElm.cloneNode(true);break;}}}if(newTD==null){newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";}newTD.colSpan=1;newTD.rowSpan=1;newTR.appendChild(newTD);lastCell=tdElm;}return newTR;}switch(command){case"mceTableRowProps":if(trElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/row.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_rowprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_rowprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"});}return true;case"mceTableCellProps":if(tdElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/cell.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_cellprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_cellprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"});}return true;case"mceInsertTable":if(user_interface){var template=new Array();template['file']='../../plugins/table/table.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_table_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:value});}return true;case"mceTableDelete":var table=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(table){table.parentNode.removeChild(table);inst.repaint();}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!tableElm)return true;if(tableElm!=trElm.parentNode)tableElm=trElm.parentNode;if(tableElm&&trElm){switch(command){case"mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}trElm.parentNode.insertBefore(newTR,trElm);break;case"mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case"mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case"mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case"mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR);}break;case"mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1){tableElm.parentNode.removeChild(tableElm);return true;}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x<cells.length;x++){if(cells[x].rowSpan>1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD);}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1;}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true;}lastTDElm=tdElm;}}deleteMarked(tableElm);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;inst.selection.selectNode(getCell(grid,cpos.rowindex,0),true,true);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){tableElm.parentNode.removeChild(tableElm);return true;}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm);}lastTDElm=tdElm;}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;inst.selection.selectNode(getCell(grid,0,cpos.cellindex),true,true);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i<colspan;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";trElm.insertBefore(newTD,nextElm(tdElm,"TD,TH"));if(rowspan>1)addRows(newTD,trElm,rowspan);}addRows(tdElm,trElm,rowspan);}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case"mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=250;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_table_merge_cells_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_merge_cells_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:"update",numcols:sp.colspan,numrows:sp.rowspan});return true;}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y<grid.length;y++){var rowCells=new Array();for(var x=cpos.cellindex;x<grid[y].length;x++){var td=getCell(grid,y,x);if(td&&!inArray(rows,td)&&!inArray(rowCells,td)){var cp=getCellPos(grid,td);if(cp.cellindex<cpos.cellindex+numCols&&cp.rowindex<cpos.rowindex+numRows)rowCells[rowCells.length]=td;}}if(rowCells.length>0)rows[rows.length]=rowCells;}}}else{var cells=new Array();var sel=inst.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i<sel.rangeCount;i++){var rng=sel.getRangeAt(i);var tdElm=rng.startContainer.childNodes[rng.startOffset];if(!tdElm)break;if(tdElm.nodeName=="TD")cells[cells.length]=tdElm;}var tRows=tableElm.rows;for(var y=0;y<tRows.length;y++){var rowCells=new Array();for(var x=0;x<tRows[y].cells.length;x++){var td=tRows[y].cells[x];for(var i=0;i<cells.length;i++){if(td==cells[i]){rowCells[rowCells.length]=td;}}}if(rowCells.length>0)rows[rows.length]=rowCells;}var curRow=new Array();var lastTR=null;for(var y=0;y<grid.length;y++){for(var x=0;x<grid[y].length;x++){grid[y][x]._selected=false;for(var i=0;i<cells.length;i++){if(grid[y][x]==cells[i]){if(x1==-1){x1=x;y1=y;}x2=x;y2=y;grid[y][x]._selected=true;}}}}for(var y=y1;y<=y2;y++){for(var x=x1;x<=x2;x++){if(!grid[y][x]._selected){alert("Invalid selection for merge.");return true;}}}}var rowSpan=1,colSpan=1;var lastRowSpan=-1;for(var y=0;y<rows.length;y++){var rowColSpan=0;for(var x=0;x<rows[y].length;x++){var sd=getColRowSpan(rows[y][x]);rowColSpan+=sd['colspan'];if(lastRowSpan!=-1&&sd['rowspan']!=lastRowSpan){alert("Invalid selection for merge.");return true;}lastRowSpan=sd['rowspan'];}if(rowColSpan>colSpan)colSpan=rowColSpan;lastRowSpan=-1;}var lastColSpan=-1;for(var x=0;x<rows[0].length;x++){var colRowSpan=0;for(var y=0;y<rows.length;y++){var sd=getColRowSpan(rows[y][x]);colRowSpan+=sd['rowspan'];if(lastColSpan!=-1&&sd['colspan']!=lastColSpan){alert("Invalid selection for merge.");return true;}lastColSpan=sd['colspan'];}if(colRowSpan>rowSpan)rowSpan=colRowSpan;lastColSpan=-1;}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y<rows.length;y++){for(var x=0;x<rows[y].length;x++){var html=rows[y][x].innerHTML;var chk=tinyMCE.regexpReplace(html,"[ \t\r\n]","");if(chk!="<br/>"&&chk!="<br>"&&chk!="&nbsp;"&&(x+y>0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm;}if(tdElm.rowSpan>1)tdElm.rowSpan--;}}}}break;}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);tinyMCE.triggerNodeChange();inst.repaint();}return true;}return false;}};tinyMCE.addPlugin("table",TinyMCE_TablePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,1054 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.38 $
+ * $Date: 2006/02/11 18:53:51 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('table', 'en,tr,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,nb,pl,pt,pt_br,sv,tw,zh_cn,fr,de,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,is,zh_tw,zh_tw_utf8,sk');
+
+var TinyMCE_TablePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Tables',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_table.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isGecko) {
+			var doc = inst.getDoc();
+			tinyMCE.addEvent(doc, "mouseup", TinyMCE_TablePlugin._mouseDownHandler);
+		}
+
+		inst.tableRowClipboard = null;
+	},
+
+	/**
+	 * Returns the HTML contents of the table control.
+	 */
+	getControlHTML : function(control_name) {
+		var controls = new Array(
+			['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true],
+			['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'],
+			['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'],
+			['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'],
+			['col_before', 'table_insert_col_before.gif', 'lang_table_col_before_desc', 'mceTableInsertColBefore'],
+			['row_after', 'table_insert_row_after.gif', 'lang_table_row_after_desc', 'mceTableInsertRowAfter'],
+			['row_before', 'table_insert_row_before.gif', 'lang_table_row_before_desc', 'mceTableInsertRowBefore'],
+			['row_props', 'table_row_props.gif', 'lang_table_row_desc', 'mceTableRowProps', true],
+			['cell_props', 'table_cell_props.gif', 'lang_table_cell_desc', 'mceTableCellProps', true],
+			['split_cells', 'table_split_cells.gif', 'lang_table_split_cells_desc', 'mceTableSplitCells', true],
+			['merge_cells', 'table_merge_cells.gif', 'lang_table_merge_cells_desc', 'mceTableMergeCells', true]);
+
+		// Render table control
+		for (var i=0; i<controls.length; i++) {
+			var but = controls[i];
+			var cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');return false;';
+
+			if (but[0] == control_name)
+				return tinyMCE.getButtonHTML(control_name, but[2], '{$pluginurl}/images/'+ but[1], but[3], (but.length > 4 ? but[4] : false));
+		}
+
+		// Special tablecontrols
+		if (control_name == "tablecontrols") {
+			var html = "";
+
+			html += tinyMCE.getControlHTML("table");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("row_props");
+			html += tinyMCE.getControlHTML("cell_props");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("row_before");
+			html += tinyMCE.getControlHTML("row_after");
+			html += tinyMCE.getControlHTML("delete_row");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("col_before");
+			html += tinyMCE.getControlHTML("col_after");
+			html += tinyMCE.getControlHTML("delete_col");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("split_cells");
+			html += tinyMCE.getControlHTML("merge_cells");
+
+			return html;
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the table commands.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Is table command
+		switch (command) {
+			case "mceInsertTable":
+			case "mceTableRowProps":
+			case "mceTableCellProps":
+			case "mceTableSplitCells":
+			case "mceTableMergeCells":
+			case "mceTableInsertRowBefore":
+			case "mceTableInsertRowAfter":
+			case "mceTableDeleteRow":
+			case "mceTableInsertColBefore":
+			case "mceTableInsertColAfter":
+			case "mceTableDeleteCol":
+			case "mceTableCutRow":
+			case "mceTableCopyRow":
+			case "mceTablePasteRowBefore":
+			case "mceTablePasteRowAfter":
+			case "mceTableDelete":
+				var inst = tinyMCE.getInstanceById(editor_id);
+
+				inst.execCommand('mceBeginUndoLevel');
+				TinyMCE_TablePlugin._doExecCommand(editor_id, element, command, user_interface, value);
+				inst.execCommand('mceEndUndoLevel');
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var colspan = "1", rowspan = "1";
+
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		// Reset table controls
+		tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonDisabled');
+
+		// Within a td element
+		if (tdElm = tinyMCE.getParentElement(node, "td,th")) {
+			tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonNormal');
+
+			colspan = tinyMCE.getAttrib(tdElm, "colspan");
+			rowspan = tinyMCE.getAttrib(tdElm, "rowspan");
+
+			colspan = colspan == "" ? "1" : colspan;
+			rowspan = rowspan == "" ? "1" : rowspan;
+
+			if (colspan != "1" || rowspan != "1")
+				tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonNormal');
+		}
+
+		// Within a tr element
+		if (tinyMCE.getParentElement(node, "tr"))
+			tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonSelected');
+
+		// Within table
+		if (tinyMCE.getParentElement(node, "table")) {
+			tinyMCE.switchClass(editor_id + '_table', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonNormal');
+		}
+	},
+
+	// Private plugin internal methods
+
+	_mouseDownHandler : function(e) {
+		var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
+		var focusElm = tinyMCE.selectedInstance.getFocusElement();
+
+		// If press on special Mozilla create TD/TR thingie
+		if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) {
+			window.setTimeout(function() {
+				var tableElm = tinyMCE.getParentElement(focusElm, "table");
+				tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+			}, 10);
+		}
+	},
+
+	/**
+	 * Executes the table commands.
+	 */
+	_doExecCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var focusElm = inst.getFocusElement();
+		var trElm = tinyMCE.getParentElement(focusElm, "tr");
+		var tdElm = tinyMCE.getParentElement(focusElm, "td,th");
+		var tableElm = tinyMCE.getParentElement(focusElm, "table");
+		var doc = inst.contentWindow.document;
+		var tableBorder = tableElm ? tableElm.getAttribute("border") : "";
+
+		// Get first TD if no TD found
+		if (trElm && tdElm == null)
+			tdElm = trElm.cells[0];
+
+		// ------- Inner functions ---------
+		function inArray(ar, v) {
+			for (var i=0; i<ar.length; i++) {
+				// Is array
+				if (ar[i].length > 0 && inArray(ar[i], v))
+					return true;
+
+				// Found value
+				if (ar[i] == v)
+					return true;
+			}
+
+			return false;
+		}
+
+		function makeTD() {
+			var newTD = doc.createElement("td");
+			newTD.innerHTML = "&nbsp;";
+		}
+
+		function getColRowSpan(td) {
+			var colspan = tinyMCE.getAttrib(td, "colspan");
+			var rowspan = tinyMCE.getAttrib(td, "rowspan");
+
+			colspan = colspan == "" ? 1 : parseInt(colspan);
+			rowspan = rowspan == "" ? 1 : parseInt(rowspan);
+
+			return {colspan : colspan, rowspan : rowspan};
+		}
+
+		function getCellPos(grid, td) {
+			for (var y=0; y<grid.length; y++) {
+				for (var x=0; x<grid[y].length; x++) {
+					if (grid[y][x] == td)
+						return {cellindex : x, rowindex : y};
+				}
+			}
+
+			return null;
+		}
+
+		function getCell(grid, row, col) {
+			if (grid[row] && grid[row][col])
+				return grid[row][col];
+
+			return null;
+		}
+
+		function getTableGrid(table) {
+			var grid = new Array();
+			var rows = table.rows;
+
+			for (var y=0; y<rows.length; y++) {
+				for (var x=0; x<rows[y].cells.length; x++) {
+					var td = rows[y].cells[x];
+					var sd = getColRowSpan(td);
+
+					// All ready filled
+					for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
+
+					// Fill box
+					for (var y2=y; y2<y+sd['rowspan']; y2++) {
+						if (!grid[y2])
+							grid[y2] = new Array();
+
+						for (var x2=xstart; x2<xstart+sd['colspan']; x2++) {
+							grid[y2][x2] = td;
+						}
+					}
+				}
+			}
+
+			return grid;
+		}
+
+		function trimRow(table, tr, td, new_tr) {
+			var grid = getTableGrid(table);
+			var cpos = getCellPos(grid, td);
+
+			// Time to crop away some
+			if (new_tr.cells.length != tr.childNodes.length) {
+				var cells = tr.childNodes;
+				var lastElm = null;
+
+				for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
+					var remove = true;
+					var sd = getColRowSpan(td);
+
+					// Remove due to rowspan
+					if (inArray(cells, td)) {
+						new_tr.childNodes[x]._delete = true;
+					} else if ((lastElm == null || td != lastElm) && sd.colspan > 1) { // Remove due to colspan
+						for (var i=x; i<x+td.colSpan; i++)
+							new_tr.childNodes[i]._delete = true;
+					}
+
+					if ((lastElm == null || td != lastElm) && sd.rowspan > 1)
+						td.rowSpan = sd.rowspan + 1;
+
+					lastElm = td;
+				}
+
+				deleteMarked(tableElm);
+			}
+		}
+
+		function prevElm(node, name) {
+			while ((node = node.previousSibling) != null) {
+				if (node.nodeName == name)
+					return node;
+			}
+
+			return null;
+		}
+
+		function nextElm(node, names) {
+			var namesAr = names.split(',');
+
+			while ((node = node.nextSibling) != null) {
+				for (var i=0; i<namesAr.length; i++) {
+					if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() )
+						return node;
+				}
+			}
+
+			return null;
+		}
+
+		function deleteMarked(tbl) {
+			if (tbl.rows == 0)
+				return;
+
+			var tr = tbl.rows[0];
+			do {
+				var next = nextElm(tr, "TR");
+
+				// Delete row
+				if (tr._delete) {
+					tr.parentNode.removeChild(tr);
+					continue;
+				}
+
+				// Delete cells
+				var td = tr.cells[0];
+				if (td.cells > 1) {
+					do {
+						var nexttd = nextElm(td, "TD,TH");
+
+						if (td._delete)
+							td.parentNode.removeChild(td);
+					} while ((td = nexttd) != null);
+				}
+			} while ((tr = next) != null);
+		}
+
+		function addRows(td_elm, tr_elm, rowspan) {
+			// Add rows
+			td_elm.rowSpan = 1;
+			var trNext = nextElm(tr_elm, "TR");
+			for (var i=1; i<rowspan && trNext; i++) {
+				var newTD = doc.createElement("td");
+				newTD.innerHTML = "&nbsp;";
+
+				if (tinyMCE.isMSIE)
+					trNext.insertBefore(newTD, trNext.cells(td_elm.cellIndex));
+				else
+					trNext.insertBefore(newTD, trNext.cells[td_elm.cellIndex]);
+
+				trNext = nextElm(trNext, "TR");
+			}
+		}
+
+		function copyRow(doc, table, tr) {
+			var grid = getTableGrid(table);
+			var newTR = tr.cloneNode(false);
+			var cpos = getCellPos(grid, tr.cells[0]);
+			var lastCell = null;
+			var tableBorder = tinyMCE.getAttrib(table, "border");
+			var tdElm = null;
+
+			for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+				var newTD = null;
+
+				if (lastCell != tdElm) {
+					for (var i=0; i<tr.cells.length; i++) {
+						if (tdElm == tr.cells[i]) {
+							newTD = tdElm.cloneNode(true);
+							break;
+						}
+					}
+				}
+
+				if (newTD == null) {
+					newTD = doc.createElement("td");
+					newTD.innerHTML = "&nbsp;";
+				}
+
+				// Reset col/row span
+				newTD.colSpan = 1;
+				newTD.rowSpan = 1;
+
+				newTR.appendChild(newTD);
+
+				lastCell = tdElm;
+			}
+
+			return newTR;
+		}
+
+		// ---- Commands -----
+
+		// Handle commands
+		switch (command) {
+			case "mceTableRowProps":
+				if (trElm == null)
+					return true;
+
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/row.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_rowprops_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_rowprops_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceTableCellProps":
+				if (tdElm == null)
+					return true;
+
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/cell.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_cellprops_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_cellprops_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceInsertTable":
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/table.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_table_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_table_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : value});
+				}
+
+				return true;
+
+			case "mceTableDelete":
+				var table = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+				if (table) {
+					table.parentNode.removeChild(table);
+					inst.repaint();
+				}
+				return true;
+
+			case "mceTableSplitCells":
+			case "mceTableMergeCells":
+			case "mceTableInsertRowBefore":
+			case "mceTableInsertRowAfter":
+			case "mceTableDeleteRow":
+			case "mceTableInsertColBefore":
+			case "mceTableInsertColAfter":
+			case "mceTableDeleteCol":
+			case "mceTableCutRow":
+			case "mceTableCopyRow":
+			case "mceTablePasteRowBefore":
+			case "mceTablePasteRowAfter":
+				// No table just return (invalid command)
+				if (!tableElm)
+					return true;
+
+				// Table has a tbody use that reference
+				// Changed logic by ApTest 2005.07.12 (www.aptest.com)
+				// Now lookk at the focused element and take its parentNode.  That will be a tbody or a table.
+				if (tableElm != trElm.parentNode)
+					tableElm = trElm.parentNode;
+
+				if (tableElm && trElm) {
+					switch (command) {
+						case "mceTableInsertRowBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var newTR = doc.createElement("tr");
+							var lastTDElm = null;
+
+							cpos.rowindex--;
+							if (cpos.rowindex < 0)
+								cpos.rowindex = 0;
+
+							// Create cells
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['rowspan'] == 1) {
+										var newTD = doc.createElement("td");
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.colSpan = tdElm.colSpan;
+
+										newTR.appendChild(newTD);
+									} else
+										tdElm.rowSpan = sd['rowspan'] + 1;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							trElm.parentNode.insertBefore(newTR, trElm);
+						break;
+
+						case "mceTableCutRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+							inst.execCommand("mceTableDeleteRow");
+							break;
+
+						case "mceTableCopyRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+							break;
+
+						case "mceTablePasteRowBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var newTR = inst.tableRowClipboard.cloneNode(true);
+
+							var prevTR = prevElm(trElm, "TR");
+							if (prevTR != null)
+								trimRow(tableElm, prevTR, prevTR.cells[0], newTR);
+
+							trElm.parentNode.insertBefore(newTR, trElm);
+							break;
+
+						case "mceTablePasteRowAfter":
+							if (!trElm || !tdElm)
+								return true;
+							
+							var nextTR = nextElm(trElm, "TR");
+							var newTR = inst.tableRowClipboard.cloneNode(true);
+
+							trimRow(tableElm, trElm, tdElm, newTR);
+
+							if (nextTR == null)
+								trElm.parentNode.appendChild(newTR);
+							else
+								nextTR.parentNode.insertBefore(newTR, nextTR);
+
+							break;
+
+						case "mceTableInsertRowAfter":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var newTR = doc.createElement("tr");
+							var lastTDElm = null;
+
+							// Create cells
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['rowspan'] == 1) {
+										var newTD = doc.createElement("td");
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.colSpan = tdElm.colSpan;
+
+										newTR.appendChild(newTD);
+									} else
+										tdElm.rowSpan = sd['rowspan'] + 1;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							if (newTR.hasChildNodes()) {
+								var nextTR = nextElm(trElm, "TR");
+								if (nextTR)
+									nextTR.parentNode.insertBefore(newTR, nextTR);
+								else
+									tableElm.appendChild(newTR);
+							}
+						break;
+
+						case "mceTableDeleteRow":
+							if (!trElm || !tdElm)
+								return true;
+		
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+
+							// Only one row, remove whole table
+							if (grid.length == 1) {
+								tableElm.parentNode.removeChild(tableElm);
+								return true;
+							}
+
+							// Move down row spanned cells
+							var cells = trElm.cells;
+							var nextTR = nextElm(trElm, "TR");
+							for (var x=0; x<cells.length; x++) {
+								if (cells[x].rowSpan > 1) {
+									var newTD = cells[x].cloneNode(true);
+									var sd = getColRowSpan(cells[x]);
+
+									newTD.rowSpan = sd.rowspan - 1;
+
+									var nextTD = nextTR.cells[x];
+
+									if (nextTD == null)
+										nextTR.appendChild(newTD);
+									else
+										nextTR.insertBefore(newTD, nextTD);
+								}
+							}
+
+							// Delete cells
+							var lastTDElm = null;
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd.rowspan > 1) {
+										tdElm.rowSpan = sd.rowspan - 1;
+									} else {
+										trElm = tdElm.parentNode;
+
+										if (trElm.parentNode)
+											trElm._delete = true;
+									}
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							deleteMarked(tableElm);
+
+							cpos.rowindex--;
+							if (cpos.rowindex < 0)
+								cpos.rowindex = 0;
+
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), true, true);
+						break;
+
+						case "mceTableInsertColBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] == 1) {
+										var newTD = doc.createElement(tdElm.nodeName);
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.rowSpan = tdElm.rowSpan;
+
+										tdElm.parentNode.insertBefore(newTD, tdElm);
+									} else
+										tdElm.colSpan++;
+
+									lastTDElm = tdElm;
+								}
+							}
+						break;
+
+						case "mceTableInsertColAfter":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] == 1) {
+										var newTD = doc.createElement(tdElm.nodeName);
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.rowSpan = tdElm.rowSpan;
+
+										var nextTD = nextElm(tdElm, "TD,TH");
+										if (nextTD == null)
+											tdElm.parentNode.appendChild(newTD);
+										else
+											nextTD.parentNode.insertBefore(newTD, nextTD);
+									} else
+										tdElm.colSpan++;
+
+									lastTDElm = tdElm;
+								}
+							}
+						break;
+
+						case "mceTableDeleteCol":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							// Only one col, remove whole table
+							if (grid.length > 1 && grid[0].length <= 1) {
+								tableElm.parentNode.removeChild(tableElm);
+								return true;
+							}
+
+							// Delete cells
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] > 1)
+										tdElm.colSpan = sd['colspan'] - 1;
+									else {
+										if (tdElm.parentNode)
+											tdElm.parentNode.removeChild(tdElm);
+									}
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							cpos.cellindex--;
+							if (cpos.cellindex < 0)
+								cpos.cellindex = 0;
+
+							inst.selection.selectNode(getCell(grid, 0, cpos.cellindex), true, true);
+						break;
+
+					case "mceTableSplitCells":
+						if (!trElm || !tdElm)
+							return true;
+
+						var spandata = getColRowSpan(tdElm);
+
+						var colspan = spandata["colspan"];
+						var rowspan = spandata["rowspan"];
+
+						// Needs splitting
+						if (colspan > 1 || rowspan > 1) {
+							// Generate cols
+							tdElm.colSpan = 1;
+							for (var i=1; i<colspan; i++) {
+								var newTD = doc.createElement("td");
+
+								newTD.innerHTML = "&nbsp;";
+
+								trElm.insertBefore(newTD, nextElm(tdElm, "TD,TH"));
+
+								if (rowspan > 1)
+									addRows(newTD, trElm, rowspan);
+							}
+
+							addRows(tdElm, trElm, rowspan);
+						}
+
+						// Apply visual aids
+						tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+						break;
+
+					case "mceTableMergeCells":
+						var rows = new Array();
+						var sel = inst.getSel();
+						var grid = getTableGrid(tableElm);
+
+						if (tinyMCE.isMSIE || sel.rangeCount == 1) {
+							if (user_interface) {
+								// Setup template
+								var template = new Array();
+								var sp = getColRowSpan(tdElm);
+
+								template['file'] = '../../plugins/table/merge_cells.htm';
+								template['width'] = 250;
+								template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0);
+
+								// Language specific width and height addons
+								template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0);
+								template['height'] += tinyMCE.getLang('lang_table_merge_cells_delta_height', 0);
+
+								// Open window
+								tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan});
+
+								return true;
+							} else {
+								var numRows = parseInt(value['numrows']);
+								var numCols = parseInt(value['numcols']);
+								var cpos = getCellPos(grid, tdElm);
+
+								if (("" + numRows) == "NaN")
+									numRows = 1;
+
+								if (("" + numCols) == "NaN")
+									numCols = 1;
+
+								// Get rows and cells
+								var tRows = tableElm.rows;
+								for (var y=cpos.rowindex; y<grid.length; y++) {
+									var rowCells = new Array();
+
+									for (var x=cpos.cellindex; x<grid[y].length; x++) {
+										var td = getCell(grid, y, x);
+
+										if (td && !inArray(rows, td) && !inArray(rowCells, td)) {
+											var cp = getCellPos(grid, td);
+
+											// Within range
+											if (cp.cellindex < cpos.cellindex+numCols && cp.rowindex < cpos.rowindex+numRows)
+												rowCells[rowCells.length] = td;
+										}
+									}
+
+									if (rowCells.length > 0)
+										rows[rows.length] = rowCells;
+								}
+
+								//return true;
+							}
+						} else {
+							var cells = new Array();
+							var sel = inst.getSel();
+							var lastTR = null;
+							var curRow = null;
+							var x1 = -1, y1 = -1, x2, y2;
+
+							// Only one cell selected, whats the point?
+							if (sel.rangeCount < 2)
+								return true;
+
+							// Get all selected cells
+							for (var i=0; i<sel.rangeCount; i++) {
+								var rng = sel.getRangeAt(i);
+								var tdElm = rng.startContainer.childNodes[rng.startOffset];
+
+								if (!tdElm)
+									break;
+
+								if (tdElm.nodeName == "TD")
+									cells[cells.length] = tdElm;
+							}
+
+							// Get rows and cells
+							var tRows = tableElm.rows;
+							for (var y=0; y<tRows.length; y++) {
+								var rowCells = new Array();
+
+								for (var x=0; x<tRows[y].cells.length; x++) {
+									var td = tRows[y].cells[x];
+
+									for (var i=0; i<cells.length; i++) {
+										if (td == cells[i]) {
+											rowCells[rowCells.length] = td;
+										}
+									}
+								}
+
+								if (rowCells.length > 0)
+									rows[rows.length] = rowCells;
+							}
+
+							// Find selected cells in grid and box
+							var curRow = new Array();
+							var lastTR = null;
+							for (var y=0; y<grid.length; y++) {
+								for (var x=0; x<grid[y].length; x++) {
+									grid[y][x]._selected = false;
+
+									for (var i=0; i<cells.length; i++) {
+										if (grid[y][x] == cells[i]) {
+											// Get start pos
+											if (x1 == -1) {
+												x1 = x;
+												y1 = y;
+											}
+
+											// Get end pos
+											x2 = x;
+											y2 = y;
+
+											grid[y][x]._selected = true;
+										}
+									}
+								}
+							}
+
+							// Is there gaps, if so deny
+							for (var y=y1; y<=y2; y++) {
+								for (var x=x1; x<=x2; x++) {
+									if (!grid[y][x]._selected) {
+										alert("Invalid selection for merge.");
+										return true;
+									}
+								}
+							}
+						}
+
+						// Validate selection and get total rowspan and colspan
+						var rowSpan = 1, colSpan = 1;
+
+						// Validate horizontal and get total colspan
+						var lastRowSpan = -1;
+						for (var y=0; y<rows.length; y++) {
+							var rowColSpan = 0;
+
+							for (var x=0; x<rows[y].length; x++) {
+								var sd = getColRowSpan(rows[y][x]);
+
+								rowColSpan += sd['colspan'];
+
+								if (lastRowSpan != -1 && sd['rowspan'] != lastRowSpan) {
+									alert("Invalid selection for merge.");
+									return true;
+								}
+
+								lastRowSpan = sd['rowspan'];
+							}
+
+							if (rowColSpan > colSpan)
+								colSpan = rowColSpan;
+
+							lastRowSpan = -1;
+						}
+
+						// Validate vertical and get total rowspan
+						var lastColSpan = -1;
+						for (var x=0; x<rows[0].length; x++) {
+							var colRowSpan = 0;
+
+							for (var y=0; y<rows.length; y++) {
+								var sd = getColRowSpan(rows[y][x]);
+
+								colRowSpan += sd['rowspan'];
+
+								if (lastColSpan != -1 && sd['colspan'] != lastColSpan) {
+									alert("Invalid selection for merge.");
+									return true;
+								}
+
+								lastColSpan = sd['colspan'];
+							}
+
+							if (colRowSpan > rowSpan)
+								rowSpan = colRowSpan;
+
+							lastColSpan = -1;
+						}
+
+						// Setup td
+						tdElm = rows[0][0];
+						tdElm.rowSpan = rowSpan;
+						tdElm.colSpan = colSpan;
+
+						// Merge cells
+						for (var y=0; y<rows.length; y++) {
+							for (var x=0; x<rows[y].length; x++) {
+								var html = rows[y][x].innerHTML;
+								var chk = tinyMCE.regexpReplace(html, "[ \t\r\n]", "");
+
+								if (chk != "<br/>" && chk != "<br>" && chk != "&nbsp;" && (x+y > 0))
+									tdElm.innerHTML += html;
+
+								// Not current cell
+								if (rows[y][x] != tdElm && !rows[y][x]._deleted) {
+									var cpos = getCellPos(grid, rows[y][x]);
+									var tr = rows[y][x].parentNode;
+
+									tr.removeChild(rows[y][x]);
+									rows[y][x]._deleted = true;
+
+									// Empty TR, remove it
+									if (!tr.hasChildNodes()) {
+										tr.parentNode.removeChild(tr);
+
+										var lastCell = null;
+										for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) {
+											if (cellElm != lastCell && cellElm.rowSpan > 1)
+												cellElm.rowSpan--;
+
+											lastCell = cellElm;
+										}
+
+										if (tdElm.rowSpan > 1)
+											tdElm.rowSpan--;
+									}
+								}
+							}
+						}
+
+						break;
+					}
+
+					tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+					tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+					tinyMCE.triggerNodeChange();
+					inst.repaint();
+				}
+
+			return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("table", TinyMCE_TablePlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,249 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
+
+	var inst = tinyMCE.selectedInstance;
+	var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style"));
+
+	// Get table cell data
+	var celltype = tdElm.nodeName.toLowerCase();
+	var align = tinyMCE.getAttrib(tdElm, 'align');
+	var valign = tinyMCE.getAttrib(tdElm, 'valign');
+	var width = trimSize(getStyle(tdElm, 'width', 'width'));
+	var height = trimSize(getStyle(tdElm, 'height', 'height'));
+	var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
+	var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
+	var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);
+	var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+	var id = tinyMCE.getAttrib(tdElm, 'id');
+	var lang = tinyMCE.getAttrib(tdElm, 'lang');
+	var dir = tinyMCE.getAttrib(tdElm, 'dir');
+	var scope = tinyMCE.getAttrib(tdElm, 'scope');
+
+	// Setup form
+	addClassesToList('class', 'table_cell_styles');
+	formObj.bordercolor.value = bordercolor;
+	formObj.bgcolor.value = bgcolor;
+	formObj.backgroundimage.value = backgroundimage;
+	formObj.width.value = width;
+	formObj.height.value = height;
+	formObj.id.value = id;
+	formObj.lang.value = lang;
+	formObj.style.value = tinyMCE.serializeStyle(st);
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'valign', valign);
+	selectByValue(formObj, 'class', className);
+	selectByValue(formObj, 'celltype', celltype);
+	selectByValue(formObj, 'dir', dir);
+	selectByValue(formObj, 'scope', scope);
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	updateColor('bordercolor_pick', 'bordercolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+	tinyMCEPopup.restoreSelection();
+
+	var inst = tinyMCE.selectedInstance;
+	var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+	var formObj = document.forms[0];
+
+	inst.execCommand('mceBeginUndoLevel');
+
+	switch (getSelectValue(formObj, 'action')) {
+		case "cell":
+			var celltype = getSelectValue(formObj, 'celltype');
+			var scope = getSelectValue(formObj, 'scope');
+
+			if (tinyMCE.getParam("accessibility_warnings")) {
+				if (celltype == "th" && scope == "")
+					var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true));
+				else
+					var answer = true;
+
+				if (!answer)
+					return;
+			}
+
+			updateCell(tdElm);
+			break;
+
+		case "row":
+			var cell = trElm.firstChild;
+
+			if (cell.nodeName != "TD" && cell.nodeName != "TH")
+				cell = nextCell(cell);
+
+			do {
+				cell = updateCell(cell, true);
+			} while ((cell = nextCell(cell)) != null);
+
+			break;
+
+		case "all":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++) {
+				var cell = rows[i].firstChild;
+
+				if (cell.nodeName != "TD" && cell.nodeName != "TH")
+					cell = nextCell(cell);
+
+				do {
+					cell = updateCell(cell, true);
+				} while ((cell = nextCell(cell)) != null);
+			}
+
+			break;
+	}
+
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE.triggerNodeChange();
+	inst.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function nextCell(elm) {
+	while ((elm = elm.nextSibling) != null) {
+		if (elm.nodeName == "TD" || elm.nodeName == "TH")
+			return elm;
+	}
+
+	return null;
+}
+
+function updateCell(td, skip_id) {
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var curCellType = td.nodeName.toLowerCase();
+	var celltype = getSelectValue(formObj, 'celltype');
+	var doc = inst.getDoc();
+
+	if (!skip_id)
+		td.setAttribute('id', formObj.id.value);
+
+	td.setAttribute('align', formObj.align.value);
+	td.setAttribute('vAlign', formObj.valign.value);
+	td.setAttribute('lang', formObj.lang.value);
+	td.setAttribute('dir', getSelectValue(formObj, 'dir'));
+	td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+	td.setAttribute('scope', formObj.scope.value);
+	tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
+
+	// Clear deprecated attributes
+	tinyMCE.setAttrib(td, 'width', '');
+	tinyMCE.setAttrib(td, 'height', '');
+	tinyMCE.setAttrib(td, 'bgColor', '');
+	tinyMCE.setAttrib(td, 'borderColor', '');
+	tinyMCE.setAttrib(td, 'background', '');
+
+	// Set styles
+	td.style.width = getCSSSize(formObj.width.value);
+	td.style.height = getCSSSize(formObj.height.value);
+	if (formObj.bordercolor.value != "") {
+		td.style.borderColor = formObj.bordercolor.value;
+		td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle;
+		td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth;
+	} else
+		td.style.borderColor = '';
+
+	td.style.backgroundColor = formObj.bgcolor.value;
+
+	if (formObj.backgroundimage.value != "")
+		td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
+	else
+		td.style.backgroundImage = '';
+
+	if (curCellType != celltype) {
+		// changing to a different node type
+		var newCell = doc.createElement(celltype);
+
+		for (var c=0; c<td.childNodes.length; c++)
+			newCell.appendChild(td.childNodes[c].cloneNode(1));
+
+		for (var a=0; a<td.attributes.length; a++) {
+			var attr = td.attributes[a];
+			newCell.setAttribute(attr.name, attr.value);
+		}
+
+		td.parentNode.replaceChild(newCell, td);
+		td = newCell;
+	}
+
+	return td;
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var width = formObj.width.value;
+	if (width != "")
+		st['width'] = getCSSSize(width);
+	else
+		st['width'] = "";
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+	st['border-color'] = formObj.bordercolor.value;
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['width'])
+		formObj.width.value = trimSize(st['width']);
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+
+	if (st['border-color']) {
+		formObj.bordercolor.value = st['border-color'];
+		updateColor('bordercolor_pick','bordercolor');
+	}
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,19 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+
+	formObj.numcols.value = tinyMCE.getWindowArg('numcols', 1);
+	formObj.numrows.value = tinyMCE.getWindowArg('numrows', 1);
+}
+
+function mergeCells() {
+	var args = new Array();
+	var formObj = document.forms[0];
+
+	args["numcols"] = formObj.numcols.value;
+	args["numrows"] = formObj.numrows.value;
+
+	tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
+	tinyMCEPopup.close();
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/row.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/row.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/row.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/row.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,200 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var inst = tinyMCE.selectedInstance;
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style"));
+
+	// Get table row data
+	var rowtype = trElm.parentNode.nodeName.toLowerCase();
+	var align = tinyMCE.getAttrib(trElm, 'align');
+	var valign = tinyMCE.getAttrib(trElm, 'valign');
+	var height = trimSize(getStyle(trElm, 'height', 'height'));
+	var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false);
+	var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
+	var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+	var id = tinyMCE.getAttrib(trElm, 'id');
+	var lang = tinyMCE.getAttrib(trElm, 'lang');
+	var dir = tinyMCE.getAttrib(trElm, 'dir');
+
+	// Setup form
+	addClassesToList('class', 'table_row_styles');
+	formObj.bgcolor.value = bgcolor;
+	formObj.backgroundimage.value = backgroundimage;
+	formObj.height.value = height;
+	formObj.id.value = id;
+	formObj.lang.value = lang;
+	formObj.style.value = tinyMCE.serializeStyle(st);
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'valign', valign);
+	selectByValue(formObj, 'class', className);
+	selectByValue(formObj, 'rowtype', rowtype);
+	selectByValue(formObj, 'dir', dir);
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+	tinyMCEPopup.restoreSelection();
+
+	var inst = tinyMCE.selectedInstance;
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+	var formObj = document.forms[0];
+	var action = getSelectValue(formObj, 'action');
+
+	inst.execCommand('mceBeginUndoLevel');
+
+	switch (action) {
+		case "row":
+			updateRow(trElm);
+			break;
+
+		case "all":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++)
+				updateRow(rows[i], true);
+
+			break;
+
+		case "odd":
+		case "even":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++) {
+				if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))
+					updateRow(rows[i], true, true);
+			}
+
+			break;
+	}
+
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE.triggerNodeChange();
+	inst.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function updateRow(tr_elm, skip_id, skip_parent) {
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
+	var rowtype = getSelectValue(formObj, 'rowtype');
+	var doc = inst.getDoc();
+
+	// Update row element
+	if (!skip_id)
+		tr_elm.setAttribute('id', formObj.id.value);
+
+	tr_elm.setAttribute('align', getSelectValue(formObj, 'align'));
+	tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
+	tr_elm.setAttribute('lang', formObj.lang.value);
+	tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
+	tr_elm.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+	tinyMCE.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
+
+	// Clear deprecated attributes
+	tr_elm.setAttribute('background', '');
+	tr_elm.setAttribute('bgColor', '');
+	tr_elm.setAttribute('height', '');
+
+	// Set styles
+	tr_elm.style.height = getCSSSize(formObj.height.value);
+	tr_elm.style.backgroundColor = formObj.bgcolor.value;
+
+	if (formObj.backgroundimage.value != "")
+		tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
+	else
+		tr_elm.style.backgroundImage = '';
+
+	// Setup new rowtype
+	if (curRowType != rowtype && !skip_parent) {
+		// first, clone the node we are working on
+		var newRow = tr_elm.cloneNode(1);
+
+		// next, find the parent of its new destination (creating it if necessary)
+		var theTable = tinyMCE.getParentElement(tr_elm, "table");
+		var dest = rowtype;
+		var newParent = null;
+		for (var i = 0; i < theTable.childNodes.length; i++) {
+			if (theTable.childNodes[i].nodeName.toLowerCase() == dest)
+				newParent = theTable.childNodes[i];
+		}
+
+		if (newParent == null) {
+			newParent = doc.createElement(dest);
+
+			if (dest == "thead")
+				theTable.insertBefore(newParent, theTable.firstChild);
+			else
+				theTable.appendChild(newParent);
+		}
+
+		// append the row to the new parent
+		newParent.appendChild(newRow);
+
+		// remove the original
+		tr_elm.parentNode.removeChild(tr_elm);
+
+		// set tr_elm to the new node
+		tr_elm = newRow;
+	}
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/table.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/table.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/table.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/table.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,344 @@
+var action, orgTableWidth, orgTableHeight;
+
+function insertTable() {
+	var formObj = document.forms[0];
+	var inst = tinyMCE.selectedInstance;
+	var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className;
+	var html = '';
+	var elm = tinyMCE.tableElm;
+	var cellLimit, rowLimit, colLimit;
+
+	tinyMCEPopup.restoreSelection();
+
+	// Get form data
+	cols = formObj.elements['cols'].value;
+	rows = formObj.elements['rows'].value;
+	border = formObj.elements['border'].value != "" ? formObj.elements['border'].value  : 0;
+	cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
+	cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
+	align = formObj.elements['align'].options[formObj.elements['align'].selectedIndex].value;
+	width = formObj.elements['width'].value;
+	height = formObj.elements['height'].value;
+	bordercolor = formObj.elements['bordercolor'].value;
+	bgcolor = formObj.elements['bgcolor'].value;
+	className = formObj.elements['class'].options[formObj.elements['class'].selectedIndex].value;
+	id = formObj.elements['id'].value;
+	summary = formObj.elements['summary'].value;
+	style = formObj.elements['style'].value;
+	dir = formObj.elements['dir'].value;
+	lang = formObj.elements['lang'].value;
+	background = formObj.elements['backgroundimage'].value;
+
+	cellLimit = tinyMCE.getParam('table_cell_limit', false);
+	rowLimit = tinyMCE.getParam('table_row_limit', false);
+	colLimit = tinyMCE.getParam('table_col_limit', false);
+
+	// Validate table size
+	if (colLimit && cols > colLimit) {
+		alert(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit}));
+		return false;
+	} else if (rowLimit && rows > rowLimit) {
+		alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit}));
+		return false;
+	} else if (cellLimit && cols * rows > cellLimit) {
+		alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit}));
+		return false;
+	}
+
+	// Update table
+	if (action == "update") {
+		inst.execCommand('mceBeginUndoLevel');
+
+		tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true);
+		tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true);
+		tinyMCE.setAttrib(elm, 'border', border, true);
+		tinyMCE.setAttrib(elm, 'align', align);
+		tinyMCE.setAttrib(elm, 'class', className);
+		tinyMCE.setAttrib(elm, 'style', style);
+		tinyMCE.setAttrib(elm, 'id', id);
+		tinyMCE.setAttrib(elm, 'summary', summary);
+		tinyMCE.setAttrib(elm, 'dir', dir);
+		tinyMCE.setAttrib(elm, 'lang', lang);
+
+		// Not inline styles
+		if (!tinyMCE.getParam("inline_styles"))
+			tinyMCE.setAttrib(elm, 'width', width, true);
+
+		// Remove these since they are not valid XHTML
+		tinyMCE.setAttrib(elm, 'borderColor', '');
+		tinyMCE.setAttrib(elm, 'bgColor', '');
+		tinyMCE.setAttrib(elm, 'background', '');
+		tinyMCE.setAttrib(elm, 'height', '');
+
+		if (background != '')
+			elm.style.backgroundImage = "url('" + background + "')";
+		else
+			elm.style.backgroundImage = '';
+
+		if (tinyMCE.getParam("inline_styles"))
+			elm.style.borderWidth = border + "px";
+
+		if (tinyMCE.getParam("inline_styles")) {
+			if (width != '')
+				elm.style.width = getCSSSize(width);
+		}
+
+		if (bordercolor != "") {
+			elm.style.borderColor = bordercolor;
+			elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle;
+			elm.style.borderWidth = border == "" ? "1px" : border;
+		} else
+			elm.style.borderColor = '';
+
+		elm.style.backgroundColor = bgcolor;
+		elm.style.height = getCSSSize(height);
+
+		tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst);
+
+		// Fix for stange MSIE align bug
+		tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML;
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+		tinyMCE.triggerNodeChange();
+		inst.execCommand('mceEndUndoLevel');
+
+		// Repaint if dimensions changed
+		if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight)
+			inst.repaint();
+
+		tinyMCEPopup.close();
+		return true;
+	}
+
+	// Create new table
+	html += '<table';
+
+	html += makeAttrib('id', id);
+	html += makeAttrib('border', border);
+	html += makeAttrib('cellpadding', cellpadding);
+	html += makeAttrib('cellspacing', cellspacing);
+	html += makeAttrib('width', width);
+	//html += makeAttrib('height', height);
+	//html += makeAttrib('bordercolor', bordercolor);
+	//html += makeAttrib('bgcolor', bgcolor);
+	html += makeAttrib('align', align);
+	html += makeAttrib('class', tinyMCE.getVisualAidClass(className, border == 0));
+	html += makeAttrib('style', style);
+	html += makeAttrib('summary', summary);
+	html += makeAttrib('dir', dir);
+	html += makeAttrib('lang', lang);
+
+	html += '>';
+
+	for (var y=0; y<rows; y++) {
+		html += "<tr>";
+
+		for (var x=0; x<cols; x++)
+			html += '<td>&nbsp;</td>';
+
+		html += "</tr>";
+	}
+
+	html += "</table>";
+
+	inst.execCommand('mceBeginUndoLevel');
+	inst.execCommand('mceInsertContent', false, html);
+	tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual']);
+	inst.execCommand('mceEndUndoLevel');
+
+	tinyMCEPopup.close();
+}
+
+function makeAttrib(attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value == "")
+		return "";
+
+	// XML encode it
+	value = value.replace(/&/g, '&amp;');
+	value = value.replace(/\"/g, '&quot;');
+	value = value.replace(/</g, '&lt;');
+	value = value.replace(/>/g, '&gt;');
+
+	return ' ' + attrib + '="' + value + '"';
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var cols = 2, rows = 2, border = 0, cellpadding = "", cellspacing = "";
+	var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
+	var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "";
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+
+	tinyMCE.tableElm = elm;
+	action = tinyMCE.getWindowArg('action');
+	if (action == null)
+		action = tinyMCE.tableElm ? "update" : "insert";
+
+	if (tinyMCE.tableElm && action != "insert") {
+		var rowsAr = tinyMCE.tableElm.rows;
+		var cols = 0;
+		for (var i=0; i<rowsAr.length; i++)
+			if (rowsAr[i].cells.length > cols)
+				cols = rowsAr[i].cells.length;
+
+		cols = cols;
+		rows = rowsAr.length;
+
+		st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style"));
+		border = trimSize(getStyle(elm, 'border', 'borderWidth'));
+		cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', "");
+		cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', "");
+		width = trimSize(getStyle(elm, 'width', 'width'));
+		height = trimSize(getStyle(elm, 'height', 'height'));
+		bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor'));
+		bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor'));
+		align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align);
+		className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false);
+		id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id');
+		summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary');
+		style = tinyMCE.serializeStyle(st);
+		dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir');
+		lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang');
+		background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+		orgTableWidth = width;
+		orgTableHeight = height;
+
+		action = "update";
+	}
+
+	addClassesToList('class', "table_styles");
+
+	// Update form
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'class', className);
+	formObj.cols.value = cols;
+	formObj.rows.value = rows;
+	formObj.border.value = border;
+	formObj.cellpadding.value = cellpadding;
+	formObj.cellspacing.value = cellspacing;
+	formObj.width.value = width;
+	formObj.height.value = height;
+	formObj.bordercolor.value = bordercolor;
+	formObj.bgcolor.value = bgcolor;
+	formObj.id.value = id;
+	formObj.summary.value = summary;
+	formObj.style.value = style;
+	formObj.dir.value = dir;
+	formObj.lang.value = lang;
+	formObj.backgroundimage.value = background;
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	updateColor('bordercolor_pick', 'bordercolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	// Disable some fields in update mode
+	if (action == "update") {
+		formObj.cols.disabled = true;
+		formObj.rows.disabled = true;
+	}
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var width = formObj.width.value;
+	if (width != "")
+		st['width'] = tinyMCE.getParam("inline_styles") ? getCSSSize(width) : "";
+	else
+		st['width'] = "";
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedBorder() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	// Update border width if the element has a color
+	if (formObj.border.value != "" && formObj.bordercolor.value != "")
+		st['border-width'] = formObj.border.value + "px";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+
+	if (formObj.bordercolor.value != "") {
+		st['border-color'] = formObj.bordercolor.value;
+
+		// Add border-width if it's missing
+		if (!st['border-width'])
+			st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px";
+	}
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['width'])
+		formObj.width.value = trimSize(st['width']);
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+
+	if (st['border-color']) {
+		formObj.bordercolor.value = st['border-color'];
+		updateColor('bordercolor_pick','bordercolor');
+	}
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,78 @@
+// UK lang variables
+
+tinyMCE.addToLang('table',{
+general_tab : 'General',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+advanced_props : 'Advanced properties',
+desc : 'Inserts a new table',
+row_before_desc : 'Insert row before',
+row_after_desc : 'Insert row after',
+delete_row_desc : 'Delete row',
+col_before_desc : 'Insert column before',
+col_after_desc : 'Insert column after',
+delete_col_desc : 'Remove column',
+rowtype : 'Row in table part',
+title : 'Insert/Modify table',
+width : 'Width',
+height : 'Height',
+cols : 'Columns',
+rows : 'Rows',
+cellspacing : 'Cellspacing',
+cellpadding : 'Cellpadding',
+border : 'Border',
+align : 'Alignment',
+align_default : 'Default',
+align_left : 'Left',
+align_right : 'Right',
+align_middle : 'Center',
+row_title : 'Table row properties',
+cell_title : 'Table cell properties',
+cell_type : 'Cell type',
+row_desc : 'Table row properties',
+cell_desc : 'Table cell properties',
+valign : 'Vertical alignment',
+align_top : 'Top',
+align_bottom : 'Bottom',
+props_desc : 'Table properties',
+bordercolor : 'Border color',
+bgcolor : 'Background color',
+merge_cells_title : 'Merge table cells',
+split_cells_desc : 'Split table cells',
+merge_cells_desc : 'Merge table cells',
+cut_row_desc : 'Cut table row',
+copy_row_desc : 'Copy table row',
+paste_row_before_desc : 'Paste table row before',
+paste_row_after_desc : 'Paste table row after',
+id : 'Id',
+style: 'Style',
+langdir : 'Language direction',
+langcode : 'Language code',
+mime : 'Target MIME type',
+ltr : 'Left to right',
+rtl : 'Right to left',
+bgimage : 'Background image',
+summary : 'Summary',
+td : "Data",
+th : "Header",
+cell_cell : 'Update current cell',
+cell_row : 'Update all cells in row',
+cell_all : 'Update all cells in table',
+row_row : 'Update current row',
+row_odd : 'Update odd rows in table',
+row_even : 'Update even rows in table',
+row_all : 'Update all rows in table',
+thead : 'Table Head',
+tbody : 'Table Body',
+tfoot : 'Table Foot',
+del : 'Delete table',
+scope : 'Scope',
+row : 'Row',
+col : 'Col',
+rowgroup : 'Row Group',
+colgroup : 'Col Group',
+col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.',
+row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.',
+cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.',
+missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,37 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_merge_cells_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/merge_cells.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="margin: 8px" style="display: none">
+<form onsubmit="insertTable();return false;" action="#">
+	<fieldset>
+		<legend>{$lang_table_merge_cells_title}</legend>
+		  <table border="0" cellpadding="0" cellspacing="3" width="100%">
+			  <tr>
+				<td>{$lang_table_cols}:</td>
+				<td align="right"><input type="text" name="numcols" value="" style="width: 30px" /></td>
+				<td>
+			  </tr>
+			  <tr>
+				<td>{$lang_table_rows}:</td>
+				<td align="right"><input type="text" name="numrows" value="" style="width: 30px" /></td>
+			  </tr>
+		  </table>
+	</fieldset>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="mergeCells();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,159 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_row_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/row.js"></script>
+	<link href="css/row.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="tablerow" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="updateAction();return false;">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="rowtype">{$lang_table_rowtype}</label></td>
+							<td class="col2">
+								<select id="rowtype" name="rowtype">
+									<option value="thead">{$lang_table_thead}</option>
+									<option value="tbody">{$lang_table_tbody}</option>
+									<option value="tfoot">{$lang_table_tfoot}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="align">{$lang_table_align}</label></td>
+							<td class="col2">
+								<select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="valign">{$lang_table_valign}</label></td>
+							<td class="col2">
+								<select id="valign" name="valign">
+									<option value="">{$lang_not_set}</option>
+									<option value="top">{$lang_table_align_top}</option>
+									<option value="middle">{$lang_table_align_middle}</option>
+									<option value="bottom">{$lang_table_align_bottom}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr id="styleSelectRow">
+							<td><label for="class">{$lang_class_name}</label></td>
+							<td class="col2">
+								<select id="class" name="class">
+									<option value="" selected="selected">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="height">{$lang_table_height}</label></td>
+							<td class="col2"><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" style="width: 200px"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" style="width: 200px" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div>
+				<select id="action" name="action">
+					<option value="row">{$lang_table_row_row}</option>
+					<option value="odd">{$lang_table_row_odd}</option>
+					<option value="even">{$lang_table_row_even}</option>
+					<option value="all">{$lang_table_row_all}</option>
+				</select>
+			</div>
+
+			<div style="float: left">
+				<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,155 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/table.js"></script>
+	<link href="css/table.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="table" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="insertTable();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					  <table border="0" cellpadding="4" cellspacing="0" width="100%">
+							  <tr>
+								<td><label id="colslabel" for="cols">{$lang_table_cols}</label></td>
+								<td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" /></td>
+								<td><label id="rowslabel" for="rows">{$lang_table_rows}</label></td>
+								<td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" /></td>
+							  </tr>
+							  <tr>
+								<td><label id="cellpaddinglabel" for="cellpadding">{$lang_table_cellpadding}</label></td>
+								<td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" /></td>
+								<td><label id="cellspacinglabel" for="cellspacing">{$lang_table_cellspacing}</label></td>
+								<td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" /></td>
+							  </tr>
+							  <tr>
+								<td><label id="alignlabel" for="align">{$lang_table_align}</label></td>
+								<td><select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								  </select></td>
+								<td><label id="borderlabel" for="border">{$lang_table_border}</label></td>
+								<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" /></td>
+							  </tr>
+							  <tr>
+								<td><label id="widthlabel" for="width">{$lang_table_width}</label></td>
+								<td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+								<td><label id="heightlabel" for="height">{$lang_table_height}</label></td>
+								<td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+							  </tr>
+							  <tr id="styleSelectRow">
+								<td><label id="classlabel" for="class">{$lang_class_name}</label></td>
+								<td colspan="3">
+								 <select id="class" name="class">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select></td>
+							  </tr>
+							</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" class="advfield" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="summary">{$lang_table_summary}</label></td> 
+							<td><input id="summary" name="summary" type="text" value="" class="advfield" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" class="advfield"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" class="advfield" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" class="advfield" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
+										<td id="bordercolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertTable();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('template','en,tr,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl');var TinyMCE_TemplatePlugin={getInfo:function(){return{longname:'Template plugin',author:'Your name',authorurl:'http://www.yoursite.com',infourl:'http://www.yoursite.com/docs/template.html',version:"1.0"};},initInstance:function(inst){alert("Initialization parameter:"+tinyMCE.getParam("template_someparam",false));inst.addShortcut('ctrl','t','lang_template_desc','mceTemplate');},getControlHTML:function(cn){switch(cn){case"template":return tinyMCE.getButtonHTML(cn,'lang_template_desc','{$pluginurl}/images/template.gif','mceTemplate',true);}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceTemplate":if(user_interface){var template=new Array();template['file']='../../plugins/template/popup.htm';template['width']=300;template['height']=200;tinyMCE.openWindow(template,{editor_id:editor_id,some_custom_arg:"somecustomdata"});tinyMCE.triggerNodeChange(false);}else{alert("execCommand: mceTemplate gets called from popup.");}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node.parentNode.nodeName=="STRONG"||node.parentNode.nodeName=="B"){tinyMCE.switchClass(editor_id+'_template','mceButtonSelected');return true;}tinyMCE.switchClass(editor_id+'_template','mceButtonNormal');},setupContent:function(editor_id,body,doc){},onChange:function(inst){},handleEvent:function(e){top.status="template plugin event: "+e.type;return true;},cleanup:function(type,content,inst){switch(type){case"get_from_editor":alert("[FROM] Value HTML string: "+content);break;case"insert_to_editor":alert("[TO] Value HTML string: "+content);break;case"get_from_editor_dom":alert("[FROM] Value DOM Element "+content.innerHTML);break;case"insert_to_editor_dom":alert("[TO] Value DOM Element: "+content.innerHTML);break;}return content;},_someInternalFunction:function(a,b){return 1;}};tinyMCE.addPlugin("template",TinyMCE_TemplatePlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,238 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.12 $
+ * $Date: 2006/02/22 20:06:23 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('template', 'en,tr,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl'); // <- Add a comma separated list of all supported languages
+
+/****
+ * Steps for creating a plugin from this template:
+ *
+ * 1. Change all "template" to the name of your plugin.
+ * 2. Remove all the callbacks in this file that you don't need.
+ * 3. Remove the popup.htm file if you don't need any popups.
+ * 4. Add your custom logic to the callbacks you needed.
+ * 5. Write documentation in a readme.txt file on how to use the plugin.
+ * 6. Upload it under the "Plugins" section at sourceforge.
+ *
+ ****/
+
+// Singleton class
+var TinyMCE_TemplatePlugin = {
+	/**
+	 * Returns information about the plugin as a name/value array.
+	 * The current keys are longname, author, authorurl, infourl and version.
+	 *
+	 * @returns Name/value array containing information about the plugin.
+	 * @type Array 
+	 */
+	getInfo : function() {
+		return {
+			longname : 'Template plugin',
+			author : 'Your name',
+			authorurl : 'http://www.yoursite.com',
+			infourl : 'http://www.yoursite.com/docs/template.html',
+			version : "1.0"
+		};
+	},
+
+	/**
+	 * Gets executed when a TinyMCE editor instance is initialized.
+	 *
+	 * @param {TinyMCE_Control} Initialized TinyMCE editor control instance. 
+	 */
+	initInstance : function(inst) {
+		// You can take out plugin specific parameters
+		alert("Initialization parameter:" + tinyMCE.getParam("template_someparam", false));
+
+		// Register custom keyboard shortcut
+		inst.addShortcut('ctrl', 't', 'lang_template_desc', 'mceTemplate');
+	},
+
+	/**
+	 * Returns the HTML code for a specific control or empty string if this plugin doesn't have that control.
+	 * A control can be a button, select list or any other HTML item to present in the TinyMCE user interface.
+	 * The variable {$editor_id} will be replaced with the current editor instance id and {$pluginurl} will be replaced
+	 * with the URL of the plugin. Language variables such as {$lang_somekey} will also be replaced with contents from
+	 * the language packs.
+	 *
+	 * @param {string} cn Editor control/button name to get HTML for.
+	 * @return HTML code for a specific control or empty string.
+	 * @type string
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "template":
+				return tinyMCE.getButtonHTML(cn, 'lang_template_desc', '{$pluginurl}/images/template.gif', 'mceTemplate', true);
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes a specific command, this function handles plugin commands.
+	 *
+	 * @param {string} editor_id TinyMCE editor instance id that issued the command.
+	 * @param {HTMLElement} element Body or root element for the editor instance.
+	 * @param {string} command Command name to be executed.
+	 * @param {string} user_interface True/false if a user interface should be presented.
+	 * @param {mixed} value Custom value argument, can be anything.
+	 * @return true/false if the command was executed by this plugin or not.
+	 * @type
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			// Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
+			case "mceTemplate":
+				// Show UI/Popup
+				if (user_interface) {
+					// Open a popup window and send in some custom data in a window argument
+					var template = new Array();
+
+					template['file'] = '../../plugins/template/popup.htm'; // Relative to theme
+					template['width'] = 300;
+					template['height'] = 200;
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, some_custom_arg : "somecustomdata"});
+
+					// Let TinyMCE know that something was modified
+					tinyMCE.triggerNodeChange(false);
+				} else {
+					// Do a command this gets called from the template popup
+					alert("execCommand: mceTemplate gets called from popup.");
+				}
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	/**
+	 * Gets called ones the cursor/selection in a TinyMCE instance changes. This is useful to enable/disable
+	 * button controls depending on where the user are and what they have selected. This method gets executed
+	 * alot and should be as performance tuned as possible.
+	 *
+	 * @param {string} editor_id TinyMCE editor instance id that was changed.
+	 * @param {HTMLNode} node Current node location, where the cursor is in the DOM tree.
+	 * @param {int} undo_index The current undo index, if this is -1 custom undo/redo is disabled.
+	 * @param {int} undo_levels The current undo levels, if this is -1 custom undo/redo is disabled.
+	 * @param {boolean} visual_aid Is visual aids enabled/disabled ex: dotted lines on tables.
+	 * @param {boolean} any_selection Is there any selection at all or is there only a cursor.
+	 */
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		// Select template button if parent node is a strong or b
+		if (node.parentNode.nodeName == "STRONG" || node.parentNode.nodeName == "B") {
+			tinyMCE.switchClass(editor_id + '_template', 'mceButtonSelected');
+			return true;
+		}
+
+		// Deselect template button
+		tinyMCE.switchClass(editor_id + '_template', 'mceButtonNormal');
+	},
+
+	/**
+	 * Gets called when a TinyMCE editor instance gets filled with content on startup.
+	 *
+	 * @param {string} editor_id TinyMCE editor instance id that was filled with content.
+	 * @param {HTMLElement} body HTML body element of editor instance.
+	 * @param {HTMLDocument} doc HTML document instance.
+	 */
+	setupContent : function(editor_id, body, doc) {
+	},
+
+	/**
+	 * Gets called when the contents of a TinyMCE area is modified, in other words when a undo level is
+	 * added.
+	 *
+	 * @param {TinyMCE_Control} inst TinyMCE editor area control instance that got modified.
+	 */
+	onChange : function(inst) {
+	},
+
+	/**
+	 * Gets called when TinyMCE handles events such as keydown, mousedown etc. TinyMCE
+	 * doesn't listen on all types of events so custom event handling may be required for
+	 * some purposes.
+	 *
+	 * @param {Event} e HTML editor event reference.
+	 * @return true - pass to next handler in chain, false - stop chain execution
+	 * @type boolean
+	 */
+	handleEvent : function(e) {
+		// Display event type in statusbar
+		top.status = "template plugin event: " + e.type;
+
+		return true; // Pass to next handler
+	},
+
+	/**
+	 * Gets called when HTML contents is inserted or retrived from a TinyMCE editor instance.
+	 * The type parameter contains what type of event that was performed and what format the content is in.
+	 * Possible valuses for type is get_from_editor, insert_to_editor, get_from_editor_dom, insert_to_editor_dom.
+	 *
+	 * @param {string} type Cleanup event type.
+	 * @param {mixed} content Editor contents that gets inserted/extracted can be a string or DOM element.
+	 * @param {TinyMCE_Control} inst TinyMCE editor instance control that performes the cleanup.
+	 * @return New content or the input content depending on action.
+	 * @type string
+	 */
+	cleanup : function(type, content, inst) {
+		switch (type) {
+			case "get_from_editor":
+				alert("[FROM] Value HTML string: " + content);
+
+				// Do custom cleanup code here
+
+				break;
+
+			case "insert_to_editor":
+				alert("[TO] Value HTML string: " + content);
+
+				// Do custom cleanup code here
+
+				break;
+
+			case "get_from_editor_dom":
+				alert("[FROM] Value DOM Element " + content.innerHTML);
+
+				// Do custom cleanup code here
+
+				break;
+
+			case "insert_to_editor_dom":
+				alert("[TO] Value DOM Element: " + content.innerHTML);
+
+				// Do custom cleanup code here
+
+				break;
+		}
+
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	/**
+	 * This is just a internal plugin method, prefix all internal methods with a _ character.
+	 * The prefix is needed so they doesn't collide with future TinyMCE callback functions.
+	 *
+	 * @param {string} a Some arg1.
+	 * @param {string} b Some arg2.
+	 * @return Some return.
+	 * @type string
+	 */
+	_someInternalFunction : function(a, b) {
+		return 1;
+	}
+};
+
+// Adds the plugin class to the list of available TinyMCE plugins
+tinyMCE.addPlugin("template", TinyMCE_TemplatePlugin);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/images/template.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/images/template.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,8 @@
+// UK lang variables
+
+/* Remember to namespace the language parameters lang_<your plugin>_<some name> */
+
+tinyMCE.addToLang('',{
+template_title : 'This is just a template popup',
+template_desc : 'This is just a template button'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/popup.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/popup.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/popup.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/popup.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,48 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_template_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript">
+	<!--
+		function init() {
+			var inst = tinyMCE.selectedInstance;
+			var elm = inst.getFocusElement();
+
+			alert("Got a window argument from plugin: " + tinyMCE.getWindowArg('some_custom_arg'));
+
+			// Set the form item value to the selected node element name
+			document.forms[0].nodename.value = elm.nodeName;
+		}
+
+		function insertSomething() {
+			// Execute the mceTemplate command without UI this time
+			tinyMCEPopup.execCommand('mceTemplate');
+
+			// Close the dialog
+			tinyMCEPopup.close();
+		}
+	//-->
+	</script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');"> 
+	<form onsubmit="insert();return false;">
+		<h3>{$lang_template_title}</h3>
+
+		<!-- Gets filled with the selected elements name -->
+		<div style="margin-top: 10px; margin-bottom: 10px">
+			The selected element name: <input type="text" name="nodename" />
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertSomething();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body> 
+</html> 
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+This is a template/tutorial plugin that where created to help you in the development of own plugins for TinyMCE.
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+var TinyMCE_ZoomPlugin={getInfo:function(){return{longname:'Zoom',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_zoom.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(control_name){if(!tinyMCE.isMSIE||tinyMCE.isMSIE5_0||tinyMCE.isOpera)return"";switch(control_name){case"zoom":return'<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+'<option value="100%">+ 100%</option>'+'<option value="150%">+ 150%</option>'+'<option value="200%">+ 200%</option>'+'<option value="250%">+ 250%</option>'+'</select>';}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceZoom":tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom=value;tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom=value;return true;}return false;}};tinyMCE.addPlugin("zoom",TinyMCE_ZoomPlugin);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,58 @@
+/**
+ * $RCSfile: editor_plugin_src.js,v $
+ * $Revision: 1.10 $
+ * $Date: 2006/04/07 15:52:50 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_ZoomPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Zoom',
+			author : 'Moxiecode Systems',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_zoom.html',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the zoom control.
+	 */
+	getControlHTML : function(control_name) {
+		if (!tinyMCE.isMSIE || tinyMCE.isMSIE5_0 || tinyMCE.isOpera)
+			return "";
+
+		switch (control_name) {
+			case "zoom":
+				return '<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">' + 
+						'<option value="100%">+ 100%</option>' + 
+						'<option value="150%">+ 150%</option>' + 
+						'<option value="200%">+ 200%</option>' + 
+						'<option value="250%">+ 250%</option>' + 
+						'</select>';
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceZoom command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceZoom":
+				tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom = value;
+				tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom = value;
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("zoom", TinyMCE_ZoomPlugin);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/readme.txt 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/readme.txt
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/readme.txt	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/readme.txt	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/about.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/about.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/about.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/about.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,52 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_about_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/about.js"></script>
+	<base target="_self" />
+</head>
+<body id="about" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_about}</a></span></li>
+				<li id="help_tab"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{$lang_help}</a></span></li>
+				<li id="plugins_tab"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{$lang_plugins}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<h3>{$lang_about_title}</h3>
+				<p>Version: {$tinymce_version} ({$tinymce_releasedate})</p>
+				<p>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under <a href="../../license.txt" target="_blank">LGPL</a>
+				by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.</p>
+				<p>Copyright &copy; 2003-2006, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.</p>
+				<p>For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.</p>
+
+				<div id="buttoncontainer"></div>
+			</div>
+
+			<div id="plugins_panel" class="panel">
+				<div id="pluginscontainer">
+					<h3>{$lang_loaded_plugins}</h3>
+
+					<div id="plugintablecontainer">
+					</div>
+
+					<p>&nbsp;</p>
+				</div>
+			</div>
+
+			<div id="help_panel" class="panel noscroll" style="overflow: visible;">
+				<div id="iframecontainer"></div>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_close}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm	2006-08-01 01:34:25.000000000 -0500
@@ -1,46 +1,33 @@
-<html>
+<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title>{$lang_insert_anchor_title}</title>
-<script language="javascript" src="../../tiny_mce_popup.js"></script>
-<script language="javascript">
-	function init() {
-		document.forms[0].anchorName.value = tinyMCE.getWindowArg('name');
-		document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action')); 
-		window.focus();
-	}
+	<title>{$lang_insert_anchor_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/anchor.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAnchor();return false;" action="#">
 
-	function insertAnchor() {
-		if (window.opener) {
-			tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'), 'mceAnchor', false, document.forms[0].anchorName.value);
-			top.close();
-		}
-	}
+	<table border="0" cellpadding="4" cellspacing="0">
+		<tr>
+			<td colspan="2" class="title">{$lang_insert_anchor_title}</td>
+		</tr>
+		<tr>
+			<td nowrap="nowrap">{$lang_insert_anchor_name}:</td>
+			<td><input name="anchorName" type="text" id="anchorName" value="" style="width: 200px" /></td>
+		</tr>
+	</table>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAnchor();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
 
-	function cancelAction() {
-		top.close();
-	}
-</script>
-</head>
-<body onload="init();">
-<form onsubmit="insertAnchor();return false;">
-  <table border="0" cellpadding="0" cellspacing="0" width="100%">
-    <tr>
-      <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
-          <tr>
-            <td colspan="2" class="title">{$lang_insert_anchor_title}</td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_anchor_name}:</td>
-            <td><input name="anchorName" type="text" id="anchorName" value="" style="width: 200px"></td>
-          </tr>
-          <tr>
-            <td><input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAnchor();">
-            </td>
-            <td align="right"><input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();"></td>
-          </tr>
-        </table></td>
-    </tr>
-  </table>
 </form>
 </body>
 </html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm	2006-08-01 01:34:25.000000000 -0500
@@ -1,382 +1,53 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>{$lang_theme_charmap_title}</title>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
-<script language="javascript" type="text/javascript">
-<!--
-	var charmap = new Array();
-
-	// for mor details please see w3c.org
-	// now here is the complete list ;)
-
-	charmap = [
-		['&nbsp;',    '&#160;',  true, 'no-break space'],
-		['&amp;',     '&#38;',   true, 'ampersand'],
-		['&quot;',    '&#34;',   true, 'quotation mark'],
-	// finance
-		['&cent;',    '&#162;',  true, 'cent sign'],
-		['&euro;',    '&#8364;', true, 'euro sign'],
-		['&pound;',   '&#163;',  true, 'pound sign'],
-		['&yen;',     '&#165;',  true, 'yen sign'],
-	// signs
-		['&copy;',    '&#169;',  true, 'copyright sign'],
-		['&reg;',     '&#174;',  true, 'registered sign'],
-		['&trade;',   '&#8482;', true, 'trade mark sign'],
-		['&permil;',  '&#8240;', true, 'per mille sign'],
-		['&micro;',   '&#181;',  true, 'micro sign'],
-		['&middot;',  '&#183;',  true, 'middle dot'],
-		['&bull;',    '&#8226;', true, 'bullet'],
-		['&hellip;',  '&#8230;', true, 'three dot leader'],
-		['&prime;',   '&#8242;', true, 'minutes / feet'],
-		['&Prime;',   '&#8243;', true, 'seconds / inches'],
-		['&sect;',    '&#167;',  true, 'section sign'],
-		['&para;',    '&#182;',  true, 'paragraph sign'],
-		['&szlig;',   '&#223;',  true, 'sharp s / ess-zed'],
-	// quotations
-		['&lsaquo;',  '&#8249;', true, 'single left-pointing angle quotation mark'],
-		['&rsaquo;',  '&#8250;', true, 'single right-pointing angle quotation mark'],
-		['&laquo;',   '&#171;',  true, 'left pointing guillemet'],
-		['&raquo;',   '&#187;',  true, 'right pointing guillemet'],
-		['&lsquo;',   '&#8216;', true, 'left single quotation mark'],
-		['&rsquo;',   '&#8217;', true, 'right single quotation mark'],
-		['&ldquo;',   '&#8220;', true, 'left double quotation mark'],
-		['&rdquo;',   '&#8221;', true, 'right double quotation mark'],
-		['&sbquo;',   '&#8218;', true, 'single low-9 quotation mark'],
-		['&bdquo;',   '&#8222;', true, 'double low-9 quotation mark'],
-		['&lt;',      '&#60;',   true, 'less-than sign'],
-		['&gt;',      '&#62;',   true, 'greater-than sign'],
-		['&le;',      '&#8804;', true, 'less-than or equal to'],
-		['&ge;',      '&#8805;', true, 'greater-than or equal to'],
-		['&ndash;',   '&#8211;', true, 'en dash'],
-		['&mdash;',   '&#8212;', true, 'em dash'],
-		['&macr;',    '&#175;',  true, 'macron'],
-		['&oline;',   '&#8254;', true, 'overline'],
-		['&curren;',  '&#164;',  true, 'currency sign'],
-		['&brvbar;',  '&#166;',  true, 'broken bar'],
-		['&uml;',     '&#168;',  true, 'diaeresis'],
-		['&iexcl;',   '&#161;',  true, 'inverted exclamation mark'],
-		['&iquest;',  '&#191;',  true, 'turned question mark'],
-		['&circ;',    '&#710;',  true, 'circumflex accent'],
-		['&tilde;',   '&#732;',  true, 'small tilde'],
-		['&deg;',     '&#176;',  true, 'degree sign'],
-		['&minus;',   '&#8722;', true, 'minus sign'],
-		['&plusmn;',  '&#177;',  true, 'plus-minus sign'],
-		['&divide;',  '&#247;',  true, 'division sign'],
-		['&frasl;',   '&#8260;', true, 'fraction slash'],
-		['&times;',   '&#215;',  true, 'multiplication sign'],
-		['&sup1;',    '&#185;',  true, 'superscript one'],
-		['&sup2;',    '&#178;',  true, 'superscript two'],
-		['&sup3;',    '&#179;',  true, 'superscript three'],
-		['&frac14;',  '&#188;',  true, 'fraction one quarter'],
-		['&frac12;',  '&#189;',  true, 'fraction one half'],
-		['&frac34;',  '&#190;',  true, 'fraction three quarters'],
-	// math / logical
-		['&fnof;',    '&#402;',  true, 'function / florin'],
-		['&int;',     '&#8747;', true, 'integral'],
-		['&sum;',     '&#8721;', true, 'n-ary sumation'],
-		['&infin;',   '&#8734;', true, 'infinity'],
-		['&radic;',   '&#8730;', true, 'square root'],
-		['&sim;',     '&#8764;', false,'similar to'],
-		['&cong;',    '&#8773;', false,'approximately equal to'],
-		['&asymp;',   '&#8776;', true, 'almost equal to'],
-		['&ne;',      '&#8800;', true, 'not equal to'],
-		['&equiv;',   '&#8801;', true, 'identical to'],
-		['&isin;',    '&#8712;', false,'element of'],
-		['&notin;',   '&#8713;', false,'not an element of'],
-		['&ni;',      '&#8715;', false,'contains as member'],
-		['&prod;',    '&#8719;', true, 'n-ary product'],
-		['&and;',     '&#8743;', false,'logical and'],
-		['&or;',      '&#8744;', false,'logical or'],
-		['&not;',     '&#172;',  true, 'not sign'],
-		['&cap;',     '&#8745;', true, 'intersection'],
-		['&cup;',     '&#8746;', false,'union'],
-		['&part;',    '&#8706;', true, 'partial differential'],
-		['&forall;',  '&#8704;', false,'for all'],
-		['&exist;',   '&#8707;', false,'there exists'],
-		['&empty;',   '&#8709;', false,'diameter'],
-		['&nabla;',   '&#8711;', false,'backward difference'],
-		['&lowast;',  '&#8727;', false,'asterisk operator'],
-		['&prop;',    '&#8733;', false,'proportional to'],
-		['&ang;',     '&#8736;', false,'angle'],
-	// undefined
-		['&acute;',   '&#180;',  true, 'acute accent'],
-		['&cedil;',   '&#184;',  true, 'cedilla'],
-		['&ordf;',    '&#170;',  true, 'feminine ordinal indicator'],
-		['&ordm;',    '&#186;',  true, 'masculine ordinal indicator'],
-		['&dagger;',  '&#8224;', true, 'dagger'],
-		['&Dagger;',  '&#8225;', true, 'double dagger'],
-	// alphabetical special chars
-		['&Agrave;',  '&#192;',  true, 'A - grave'],
-		['&Aacute;',  '&#193;',  true, 'A - acute'],
-		['&Acirc;',   '&#194;',  true, 'A - circumflex'],
-		['&Atilde;',  '&#195;',  true, 'A - tilde'],
-		['&Auml;',    '&#196;',  true, 'A - diaeresis'],
-		['&Aring;',   '&#197;',  true, 'A - ring above'],
-		['&AElig;',   '&#198;',  true, 'ligature AE'],
-		['&Ccedil;',  '&#199;',  true, 'C - cedilla'],
-		['&Egrave;',  '&#200;',  true, 'E - grave'],
-		['&Eacute;',  '&#201;',  true, 'E - acute'],
-		['&Ecirc;',   '&#202;',  true, 'E - circumflex'],
-		['&Euml;',    '&#203;',  true, 'E - diaeresis'],
-		['&Igrave;',  '&#204;',  true, 'I - grave'],
-		['&Iacute;',  '&#205;',  true, 'I - acute'],
-		['&Icirc;',   '&#206;',  true, 'I - circumflex'],
-		['&Iuml;',    '&#207;',  true, 'I - diaeresis'],
-		['&ETH;',     '&#208;',  true, 'ETH'],
-		['&Ntilde;',  '&#209;',  true, 'N - tilde'],
-		['&Ograve;',  '&#210;',  true, 'O - grave'],
-		['&Oacute;',  '&#211;',  true, 'O - acute'],
-		['&Ocirc;',   '&#212;',  true, 'O - circumflex'],
-		['&Otilde;',  '&#213;',  true, 'O - tilde'],
-		['&Ouml;',    '&#214;',  true, 'O - diaeresis'],
-		['&Oslash;',  '&#216;',  true, 'O - slash'],
-		['&OElig;',   '&#338;',  true, 'ligature OE'],
-		['&Scaron;',  '&#352;',  true, 'S - caron'],
-		['&Ugrave;',  '&#217;',  true, 'U - grave'],
-		['&Uacute;',  '&#218;',  true, 'U - acute'],
-		['&Ucirc;',   '&#219;',  true, 'U - circumflex'],
-		['&Uuml;',    '&#220;',  true, 'U - diaeresis'],
-		['&Yacute;',  '&#221;',  true, 'Y - acute'],
-		['&Yuml;',    '&#376;',  true, 'Y - diaeresis'],
-		['&THORN;',   '&#222;',  true, 'THORN'],
-		['&agrave;',  '&#224;',  true, 'a - grave'],
-		['&aacute;',  '&#225;',  true, 'a - acute'],
-		['&acirc;',   '&#226;',  true, 'a - circumflex'],
-		['&atilde;',  '&#227;',  true, 'a - tilde'],
-		['&auml;',    '&#228;',  true, 'a - diaeresis'],
-		['&aring;',   '&#229;',  true, 'a - ring above'],
-		['&aelig;',   '&#230;',  true, 'ligature ae'],
-		['&ccedil;',  '&#231;',  true, 'c - cedilla'],
-		['&egrave;',  '&#232;',  true, 'e - grave'],
-		['&eacute;',  '&#233;',  true, 'e - acute'],
-		['&ecirc;',   '&#234;',  true, 'e - circumflex'],
-		['&euml;',    '&#235;',  true, 'e - diaeresis'],
-		['&igrave;',  '&#236;',  true, 'i - grave'],
-		['&iacute;',  '&#237;',  true, 'i - acute'],
-		['&icirc;',   '&#238;',  true, 'i - circumflex'],
-		['&iuml;',    '&#239;',  true, 'i - diaeresis'],
-		['&eth;',     '&#240;',  true, 'eth'],
-		['&ntilde;',  '&#241;',  true, 'n - tilde'],
-		['&ograve;',  '&#242;',  true, 'o - grave'],
-		['&oacute;',  '&#243;',  true, 'o - acute'],
-		['&ocirc;',   '&#244;',  true, 'o - circumflex'],
-		['&otilde;',  '&#245;',  true, 'o - tilde'],
-		['&ouml;',    '&#246;',  true, 'o - diaeresis'],
-		['&oslash;',  '&#248;',  true, 'o slash'],
-		['&oelig;',   '&#339;',  true, 'ligature oe'],
-		['&scaron;',  '&#353;',  true, 's - caron'],
-		['&ugrave;',  '&#249;',  true, 'u - grave'],
-		['&uacute;',  '&#250;',  true, 'u - acute'],
-		['&ucirc;',   '&#251;',  true, 'u - circumflex'],
-		['&uuml;',    '&#252;',  true, 'u - diaeresis'],
-		['&yacute;',  '&#253;',  true, 'y - acute'],
-		['&thorn;',   '&#254;',  true, 'thorn'],
-		['&yuml;',    '&#255;',  true, 'y - diaeresis'],
-	// ['&Alpha;',   '&#913;',  true, 'Alpha'],
-		['&Beta;',    '&#914;',  true, 'Beta'],
-		['&Gamma;',   '&#915;',  true, 'Gamma'],
-		['&Delta;',   '&#916;',  true, 'Delta'],
-		['&Epsilon;', '&#917;',  true, 'Epsilon'],
-		['&Zeta;',    '&#918;',  true, 'Zeta'],
-		['&Eta;',     '&#919;',  true, 'Eta'],
-		['&Theta;',   '&#920;',  true, 'Theta'],
-		['&Iota;',    '&#921;',  true, 'Iota'],
-		['&Kappa;',   '&#922;',  true, 'Kappa'],
-		['&Lambda;',  '&#923;',  true, 'Lambda'],
-		['&Mu;',      '&#924;',  true, 'Mu'],
-		['&Nu;',      '&#925;',  true, 'Nu'],
-		['&Xi;',      '&#926;',  true, 'Xi'],
-		['&Omicron;', '&#927;',  true, 'Omicron'],
-		['&Pi;',      '&#928;',  true, 'Pi'],
-		['&Rho;',     '&#929;',  true, 'Rho'],
-		['&Sigma;',   '&#931;',  true, 'Sigma'],
-		['&Tau;',     '&#932;',  true, 'Tau'],
-		['&Upsilon;', '&#933;',  true, 'Upsilon'],
-		['&Phi;',     '&#934;',  true, 'Phi'],
-		['&Chi;',     '&#935;',  true, 'Chi'],
-		['&Psi;',     '&#936;',  true, 'Psi'],
-		['&Omega;',   '&#937;',  true, 'Omega'],
-		['&alpha;',   '&#945;',  true, 'alpha'],
-		['&beta;',    '&#946;',  true, 'beta'],
-		['&gamma;',   '&#947;',  true, 'gamma'],
-		['&delta;',   '&#948;',  true, 'delta'],
-		['&epsilon;', '&#949;',  true, 'epsilon'],
-		['&zeta;',    '&#950;',  true, 'zeta'],
-		['&eta;',     '&#951;',  true, 'eta'],
-		['&theta;',   '&#952;',  true, 'theta'],
-		['&iota;',    '&#953;',  true, 'iota'],
-		['&kappa;',   '&#954;',  true, 'kappa'],
-		['&lambda;',  '&#955;',  true, 'lambda'],
-		['&mu;',      '&#956;',  true, 'mu'],
-		['&nu;',      '&#957;',  true, 'nu'],
-		['&xi;',      '&#958;',  true, 'xi'],
-		['&omicron;', '&#959;',  true, 'omicron'],
-		['&pi;',      '&#960;',  true, 'pi'],
-		['&rho;',     '&#961;',  true, 'rho'],
-		['&sigmaf;',  '&#962;',  true, 'final sigma'],
-		['&sigma;',   '&#963;',  true, 'sigma'],
-		['&tau;',     '&#964;',  true, 'tau'],
-		['&upsilon;', '&#965;',  true, 'upsilon'],
-		['&phi;',     '&#966;',  true, 'phi'],
-		['&chi;',     '&#967;',  true, 'chi'],
-		['&psi;',     '&#968;',  true, 'psi'],
-		['&omega;',   '&#969;',  true, 'omega'],
-	// symbols
-		['&alefsym;', '&#8501;', false,'alef symbol'],
-		['&piv;',     '&#982;',  false,'pi symbol'],
-		['&real;',    '&#8476;', false,'real part symbol'],
-		['&thetasym;','&#977;',  false,'theta symbol'],
-		['&upsih;',   '&#978;',  false,'upsilon - hook symbol'],
-		['&weierp;',  '&#8472;', false,'Weierstrass p'],
-		['&image;',   '&#8465;', false,'imaginary part'],
-	// arrows
-		['&larr;',    '&#8592;', true, 'leftwards arrow'],
-		['&uarr;',    '&#8593;', true, 'upwards arrow'],
-		['&rarr;',    '&#8594;', true, 'rightwards arrow'],
-		['&darr;',    '&#8595;', true, 'downwards arrow'],
-		['&harr;',    '&#8596;', true, 'left right arrow'],
-		['&crarr;',   '&#8629;', false,'carriage return'],
-		['&lArr;',    '&#8656;', false,'leftwards double arrow'],
-		['&uArr;',    '&#8657;', false,'upwards double arrow'],
-		['&rArr;',    '&#8658;', false,'rightwards double arrow'],
-		['&dArr;',    '&#8659;', false,'downwards double arrow'],
-		['&hArr;',    '&#8660;', false,'left right double arrow'],
-		['&there4;',  '&#8756;', false,'therefore'],
-		['&sub;',     '&#8834;', false,'subset of'],
-		['&sup;',     '&#8835;', false,'superset of'],
-		['&nsub;',    '&#8836;', false,'not a subset of'],
-		['&sube;',    '&#8838;', false,'subset of or equal to'],
-		['&supe;',    '&#8839;', false,'superset of or equal to'],
-		['&oplus;',   '&#8853;', false,'circled plus'],
-		['&otimes;',  '&#8855;', false,'circled times'],
-		['&perp;',    '&#8869;', false,'perpendicular'],
-		['&sdot;',    '&#8901;', false,'dot operator'],
-		['&lceil;',   '&#8968;', false,'left ceiling'],
-		['&rceil;',   '&#8969;', false,'right ceiling'],
-		['&lfloor;',  '&#8970;', false,'left floor'],
-		['&rfloor;',  '&#8971;', false,'right floor'],
-		['&lang;',    '&#9001;', false,'left-pointing angle bracket'],
-		['&rang;',    '&#9002;', false,'right-pointing angle bracket'],
-		['&loz;',     '&#9674;', true,'lozenge'],
-		['&spades;',  '&#9824;', false,'black spade suit'],
-		['&clubs;',   '&#9827;', true, 'black club suit'],
-		['&hearts;',  '&#9829;', true, 'black heart suit'],
-		['&diams;',   '&#9830;', true, 'black diamond suit'],
-		['&ensp;',    '&#8194;', false,'en space'],
-		['&emsp;',    '&#8195;', false,'em space'],
-		['&thinsp;',  '&#8201;', false,'thin space'],
-		['&zwnj;',    '&#8204;', false,'zero width non-joiner'],
-		['&zwj;',     '&#8205;', false,'zero width joiner'],
-		['&lrm;',     '&#8206;', false,'left-to-right mark'],
-		['&rlm;',     '&#8207;', false,'right-to-left mark'],
-		['&shy;',     '&#173;',  false,'soft hyphen']
-	];
-
-    function renderCharMapHTML() {
-        var charsPerRow = 20, tdWidth=20, tdHeight=20;
-        var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
-        var cols=-1;
-        for (var i=0; i<charmap.length; i++) {
-            if (charmap[i][2]==true) {
-                cols++;
-                html += ''
-                    + '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'
-                    + ' onmouseover="tinyMCE.switchClass(this,\'charmapOver\');'
-                    + 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'
-                    + ' onmouseout="tinyMCE.restoreClass(this,\'charmapOver\');"'
-                    + ' onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');return false;"'
-                    + ' title="' + charmap[i][3] + '" nowrap="nowrap">'
-                    + charmap[i][1]
-                    + '</td>';
-                if ((cols+1) % charsPerRow == 0)
-                    html += '</tr><tr height="' + tdHeight + '">';
-            }
-         }
-        if (cols % charsPerRow > 0) {
-            var padd = charsPerRow - (cols % charsPerRow);
-            for (var i=0; i<padd-1; i++)
-                html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
-        }
-        html += '</tr></table>';
-        document.write(html);
-    }
-
-    function insertChar(chr) {
-        tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'), 'mceInsertContent', false, '\&#' + chr + ';');
-        //window.close();
-        self.focus();
-    }
-
-    function previewChar(codeA, codeB, codeN) {
-        var elmA = document.getElementById('codeA');
-        var elmB = document.getElementById('codeB');
-        var elmV = document.getElementById('codeV');
-        var elmN = document.getElementById('codeN');
-
-        if (codeA=='#160;') {
-            elmV.innerHTML = '__';
-        } else {
-            elmV.innerHTML = '&' + codeA;
-        }
-
-        elmB.innerHTML = '&amp;' + codeA;
-        elmA.innerHTML = '&amp;' + codeB;
-        elmN.innerHTML = codeN;
-    }
-
-    window.focus();
-//-->
-</script>
-</head>
-<body>
-<table align="center" border="0" cellspacing="0" cellpadding="2">
-    <tr>
-        <td colspan="2" class="title">{$lang_theme_charmap_title}</td>
-    </tr>
-    <tr>
-        <td rowspan="2" align="left" valign="top">
-            <script language="javascript" type="text/javascript">
-            <!--
-                renderCharMapHTML();
-            //-->
-            </script>
-        </td>
-        <td width="100" align="center" valign="top">
-            <table border="0" cellpadding="0" cellspacing="0" width="100" height="100">
-                <tr>
-                    <td class="charmapOver" style="font-size: 40px; height:80px;" id="codeV">&nbsp;</td>
-                </tr>
-                <tr>
-                    <td style="font-size: 10px; font-family: Arial, Helvetica, sans-serif; text-align:center;" id="codeN">&nbsp;</td>
-                </tr>
-            </table>
-        </td>
-    </tr>
-    <tr>
-        <td valign="bottom" style="padding-bottom: 3px;">
-            <table width="100" align="center" border="0" cellpadding="2" cellspacing="0">
-                <tr>
-                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">HTML-Code</td>
-                </tr>
-                <tr>
-                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center">&nbsp;</td>
-                </tr>
-                <tr>
-                    <td style="font-size: 1px;">&nbsp;</td>
-                </tr>
-                <tr>
-                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">NUM-Code</td>
-                </tr>
-                <tr>
-                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center">&nbsp;</td>
-                </tr>
-            </table>
-        </td>
-    </tr>
-</table>
-
-</body>
-</html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_theme_charmap_title}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/charmap.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<table align="center" border="0" cellspacing="0" cellpadding="2">
+    <tr>
+        <td colspan="2" class="title">{$lang_theme_charmap_title}</td>
+    </tr>
+    <tr>
+        <td rowspan="2" align="left" valign="top">
+            <script language="javascript" type="text/javascript">renderCharMapHTML();</script>
+        </td>
+        <td width="100" align="center" valign="top">
+            <table border="0" cellpadding="0" cellspacing="0" width="100" style="height: 100px">
+                <tr>
+                    <td class="charmapOver" style="font-size: 40px; height:80px;" id="codeV">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 10px; font-family: Arial, Helvetica, sans-serif; text-align:center;" id="codeN">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="bottom" style="padding-bottom: 3px;">
+            <table width="100" align="center" border="0" cellpadding="2" cellspacing="0">
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">HTML-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 1px;">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">NUM-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+</table>
+
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm	2006-08-01 01:34:25.000000000 -0500
@@ -1,272 +1,13 @@
-<html>
-<head>
-<title>{$lang_theme_colorpicker_title}</title>
-<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
-<script language="javascript" type="text/javascript">
-<!--
-    function selectColor() {
-        var color = document.getElementById("selectedColorBox").value;
-        if (window.opener)
-            window.opener.tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'),tinyMCE.getWindowArg('command'),false,color);
-        window.close();
-    }
-    function showColor(color) {
-        document.getElementById("selectedColor").style.backgroundColor = color;
-        document.getElementById("selectedColorBox").value = color;
-    }
-
-    window.focus();
-
-    var colorPicker = "";
-    var colors = new Array(
-        "#000000",
-        "#000033",
-        "#000066",
-        "#000099",
-        "#0000cc",
-        "#0000ff",
-        "#330000",
-        "#330033",
-        "#330066",
-        "#330099",
-        "#3300cc",
-        "#3300ff",
-        "#660000",
-        "#660033",
-        "#660066",
-        "#660099",
-        "#6600cc",
-        "#6600ff",
-        "#990000",
-        "#990033",
-        "#990066",
-        "#990099",
-        "#9900cc",
-        "#9900ff",
-        "#cc0000",
-        "#cc0033",
-        "#cc0066",
-        "#cc0099",
-        "#cc00cc",
-        "#cc00ff",
-        "#ff0000",
-        "#ff0033",
-        "#ff0066",
-        "#ff0099",
-        "#ff00cc",
-        "#ff00ff",
-        "#003300",
-        "#003333",
-        "#003366",
-        "#003399",
-        "#0033cc",
-        "#0033ff",
-        "#333300",
-        "#333333",
-        "#333366",
-        "#333399",
-        "#3333cc",
-        "#3333ff",
-        "#663300",
-        "#663333",
-        "#663366",
-        "#663399",
-        "#6633cc",
-        "#6633ff",
-        "#993300",
-        "#993333",
-        "#993366",
-        "#993399",
-        "#9933cc",
-        "#9933ff",
-        "#cc3300",
-        "#cc3333",
-        "#cc3366",
-        "#cc3399",
-        "#cc33cc",
-        "#cc33ff",
-        "#ff3300",
-        "#ff3333",
-        "#ff3366",
-        "#ff3399",
-        "#ff33cc",
-        "#ff33ff",
-        "#006600",
-        "#006633",
-        "#006666",
-        "#006699",
-        "#0066cc",
-        "#0066ff",
-        "#336600",
-        "#336633",
-        "#336666",
-        "#336699",
-        "#3366cc",
-        "#3366ff",
-        "#666600",
-        "#666633",
-        "#666666",
-        "#666699",
-        "#6666cc",
-        "#6666ff",
-        "#996600",
-        "#996633",
-        "#996666",
-        "#996699",
-        "#9966cc",
-        "#9966ff",
-        "#cc6600",
-        "#cc6633",
-        "#cc6666",
-        "#cc6699",
-        "#cc66cc",
-        "#cc66ff",
-        "#ff6600",
-        "#ff6633",
-        "#ff6666",
-        "#ff6699",
-        "#ff66cc",
-        "#ff66ff",
-        "#009900",
-        "#009933",
-        "#009966",
-        "#009999",
-        "#0099cc",
-        "#0099ff",
-        "#339900",
-        "#339933",
-        "#339966",
-        "#339999",
-        "#3399cc",
-        "#3399ff",
-        "#669900",
-        "#669933",
-        "#669966",
-        "#669999",
-        "#6699cc",
-        "#6699ff",
-        "#999900",
-        "#999933",
-        "#999966",
-        "#999999",
-        "#9999cc",
-        "#9999ff",
-        "#cc9900",
-        "#cc9933",
-        "#cc9966",
-        "#cc9999",
-        "#cc99cc",
-        "#cc99ff",
-        "#ff9900",
-        "#ff9933",
-        "#ff9966",
-        "#ff9999",
-        "#ff99cc",
-        "#ff99ff",
-        "#00cc00",
-        "#00cc33",
-        "#00cc66",
-        "#00cc99",
-        "#00cccc",
-        "#00ccff",
-        "#33cc00",
-        "#33cc33",
-        "#33cc66",
-        "#33cc99",
-        "#33cccc",
-        "#33ccff",
-        "#66cc00",
-        "#66cc33",
-        "#66cc66",
-        "#66cc99",
-        "#66cccc",
-        "#66ccff",
-        "#99cc00",
-        "#99cc33",
-        "#99cc66",
-        "#99cc99",
-        "#99cccc",
-        "#99ccff",
-        "#cccc00",
-        "#cccc33",
-        "#cccc66",
-        "#cccc99",
-        "#cccccc",
-        "#ccccff",
-        "#ffcc00",
-        "#ffcc33",
-        "#ffcc66",
-        "#ffcc99",
-        "#ffcccc",
-        "#ffccff",
-        "#00ff00",
-        "#00ff33",
-        "#00ff66",
-        "#00ff99",
-        "#00ffcc",
-        "#00ffff",
-        "#33ff00",
-        "#33ff33",
-        "#33ff66",
-        "#33ff99",
-        "#33ffcc",
-        "#33ffff",
-        "#66ff00",
-        "#66ff33",
-        "#66ff66",
-        "#66ff99",
-        "#66ffcc",
-        "#66ffff",
-        "#99ff00",
-        "#99ff33",
-        "#99ff66",
-        "#99ff99",
-        "#99ffcc",
-        "#99ffff",
-        "#ccff00",
-        "#ccff33",
-        "#ccff66",
-        "#ccff99",
-        "#ccffcc",
-        "#ccffff",
-        "#ffff00",
-        "#ffff33",
-        "#ffff66",
-        "#ffff99",
-        "#ffffcc",
-        "#ffffff"
-    );
-
-    colorPicker += '<table border="0" cellspacing="1" cellpadding="0">'
-        + '<tr>';
-    for (var i=0; i<colors.length; i++) {
-        colorPicker += '<td bgcolor="' + colors[i] + '">'
-            + '<a href="#top" onclick="selectColor();return false;" onmouseover="showColor(\'' + colors[i] +  '\');">'
-            + '<img border="0" src="images/spacer.gif" width="10" height="10" /></a></td>';
-        if ((i+1) % 18 == 0)
-            colorPicker += '</tr><tr>';
-    }
-    colorPicker += '<tr><td colspan="18">'
-        + '<table width="100%" border="0" cellspacing="0" cellpadding="0">'
-        + '<tr><td>'
-        + '<img id="selectedColor" style="background-color:' + tinyMCE.getWindowArg('input_color') + '" border="0" src="images/spacer.gif" width="80" height="16" />'
-        + '</td><td align="right">'
-        + '<input id="selectedColorBox" name="selectedColorBox" type="text" size="7" maxlength="7" style="width:65px" value="' + tinyMCE.getWindowArg('input_color') + '" />'
-        + '</td></tr>'
-        + '</table>'
-        + '<input type="button" id="insert" name="insert" value="{$lang_theme_colorpicker_apply}" style="margin-top:3px" onclick="selectColor();">'
-        + '</td></tr>'
-        + '</table>';
-//-->
-</script>
-</head>
-<body marginheight="3" topmargin="3" leftmargin="3" marginwidth="3">
-<div align="center">
-    <script language="javascript" type="text/javascript">
-    <!--
-        document.write(colorPicker);
-    //-->
-    </script>
-</div>
-</body>
-</html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_theme_colorpicker_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/color_picker.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="margin: 3px; display: none">
+	<div align="center">
+	   <script language="javascript" type="text/javascript">renderColorMap();</script>
+	</div>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_content.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_content.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_content.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_content.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,58 @@
+/* This file contains the CSS data for the editable area(iframe) of TinyMCE */
+/* You can extend this CSS by adding your own CSS file with the the content_css option */
+
+body, td, pre {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+body {
+	background-color: #FFFFFF;
+}
+
+.mceVisualAid {
+	border: 1px dashed #BBBBBB !important;
+}
+
+div.mceVisualAid {
+	background-image:url('../images/spacer.gif');
+	visibility: visible !important;
+}
+
+.mceItemAnchor {
+	width: 12px;
+	line-height: 6px;
+	overflow: hidden;
+	padding-left: 12px;
+	background-image: url('../images/anchor_symbol.gif');
+	background-position: bottom;
+	background-repeat: no-repeat;
+}
+
+/* Important is needed in Gecko browsers inorder to style links */
+/*
+a {
+	color: green !important;
+}
+*/
+
+/* Style selection range colors in Gecko browsers */
+/*
+::-moz-selection {
+	background-color: red;
+	color: green;
+}
+*/
+
+/* MSIE specific */
+
+* html body {
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,327 @@
+/* This file contains the CSS data for all popups in TinyMCE */
+
+body {
+	background-color: #F0F0EE;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+	margin: 8px;
+}
+
+td {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+}
+
+input {
+	background: #FFFFFF;
+	border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+input, select, textarea {
+	border: 1px solid #808080;
+}
+
+.input_noborder {
+	border: 0;
+}
+
+#insert, .updateButton {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0;
+   background-image: url('../images/insert_button_bg.gif');
+   cursor: pointer;
+}
+
+#cancel {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0;
+   background-image: url('../images/cancel_button_bg.gif');
+   cursor: pointer;
+}
+
+/* Mozilla only style */
+html>body #insert, html>body #cancel {
+	padding-bottom: 2px;
+}
+
+.title {
+	font-size: 12px;
+	font-weight: bold;
+	color: #2B6FB6;
+}
+
+table.charmap {
+	border-style: solid;
+	border-width: 1px;
+	border-color: #AAAAAA;
+}
+
+td.charmap, td.charmapOver {
+	color: #000000;
+	border-color: #AAAAAA;
+	border-style: solid;
+	border-width: 1px;
+	text-align: center;
+	font-size: 12px;
+}
+
+td.charmapOver {
+	background-color: #CCCCCC;
+	cursor: default;
+}
+
+a.charmap {
+	color: #000000;
+	text-decoration: none
+}
+
+.wordWrapCode {
+	vertical-align: middle;
+	border: 1px none #000000;
+	background-color: transparent;
+}
+
+input.radio {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+input.checkbox {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
+	margin-left: 1px;
+}
+
+.mceButtonNormal {
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+}
+
+.mceButtonOver {
+	border: 1px solid #0A246A;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+.mceButtonDown {
+	cursor: default;
+	border: 1px solid #0A246A;
+	background-color: #8592B5;
+}
+
+.mceButtonDisabled {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+}
+
+.mceActionPanel {
+	margin-top: 5px;
+}
+
+/* Tabs classes */
+
+.tabs {
+	float: left;
+	width: 100%;
+	line-height: normal;
+	background-image: url("../images/xp/tabs_bg.gif");
+}
+
+.tabs ul {
+	margin: 0;
+	padding: 0 0 0;
+	list-style: none;
+}
+
+.tabs li {
+	float: left;
+	background: url("../images/xp/tab_bg.gif") no-repeat left top;
+	margin: 0;
+	margin-left: 0;
+	margin-right: 2px;
+	padding: 0 0 0 10px;
+	line-height: 18px;
+}
+
+.tabs li.current {
+	background: url("../images/xp/tab_sel_bg.gif") no-repeat left top;
+	margin-right: 2px;
+}
+
+.tabs span {
+	float: left;
+	display: block;
+	background: url("../images/xp/tab_end.gif") no-repeat right top;
+	padding: 0px 10px 0 0;
+}
+
+.tabs .current span {
+	background: url("../images/xp/tab_sel_end.gif") no-repeat right top;
+}
+
+.tabs a {
+	text-decoration: none;
+	font-family: Verdana, Arial;
+	font-size: 10px;
+}
+
+.tabs a:link, .tabs a:visited, .tabs a:hover {
+	color: black;
+}
+
+.tabs a:hover {
+}
+
+.tabs .current {
+}
+
+.tabs .current a, .tabs .current a:link, .tabs .current a:visited {
+}
+
+.panel_wrapper div.panel {
+	display: none;
+}
+
+.panel_wrapper div.current {
+	display: block;
+	width: 100%;
+	height: 300px;
+	overflow: visible; /* Should be auto but that breaks Safari */
+}
+
+.panel_wrapper {
+	border: 1px solid #919B9C;
+	border-top: 0px;
+	padding: 10px;
+	padding-top: 5px;
+	clear: both;
+	background-color: white;
+}
+
+fieldset {
+	border: 1px solid #919B9C;
+	font-family: Verdana, Arial;
+	font-size: 10px;
+	padding: 0;
+	margin: 0;
+	padding: 4px;
+}
+
+legend {
+	color: #2B6FB6;
+	font-weight: bold;
+}
+
+.properties {
+	width: 100%;
+}
+
+.properties .column1 {
+}
+
+.properties .column2 {
+	text-align: left;
+}
+
+a:link, a:visited {
+	color: black;
+}
+
+a:hover {
+	color: #2B6FB6;
+}
+
+#plugintable thead {
+	font-weight: bold;
+	background-color: #DDDDDD;
+}
+
+#plugintable, #about #plugintable td {
+	border: 1px solid #919B9C;
+}
+
+#plugintable {
+	width: 99%;
+	margin-top: 10px;
+}
+
+#pluginscontainer {
+	height: 290px;
+	overflow: auto;
+}
+
+/* MSIE Specific styles */
+
+* html .panel_wrapper {
+	width: 100%;
+}
+
+.column {
+	float: left;
+}
+
+h1, h2, h3, h4 {
+	color: #2B6FB6;
+	margin: 0;
+	padding: 0;
+	padding-top: 5px;
+}
+
+h3 {
+	font-size: 14px;
+}
+
+#link .panel_wrapper, #link div.current {
+	height: 125px;
+}
+
+#image .panel_wrapper, #image div.current {
+	height: 190px;
+}
+
+/* Disables the advanced tab in the table plugin. */
+/*
+#table #advanced_tab {
+	display: none;
+}
+*/
+
+/* Disables the border input field and label in the table plugin. */
+/*
+#table #border, #table #borderlabel {
+	display: none;
+}
+*/
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,353 @@
+/* This file contains the CSS data for the editor UI of TinyMCE instances */
+
+.mceToolbarTop a, .mceToolbarTop a:visited, .mceToolbarTop a:hover, .mceToolbarBottom a, .mceToolbarBottom a:visited, .mceToolbarBottom a:hover {
+	border: 0; margin: 0; padding: 0; background: transparent;
+}
+
+.mceSeparatorLine {
+	border: 0;
+	padding: 0;
+	margin-left: 4px;
+	margin-right: 2px;
+}
+
+.mceSelectList {
+	font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
+	font-size: 7pt !important;
+	font-weight: normal;
+	margin-top: 3px;
+	padding: 0;
+	display: inline;
+	vertical-align: top;
+	background-color: #F0F0EE;
+}
+
+.mceLabel, .mceLabelDisabled {
+	font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
+	font-size: 9pt;
+}
+
+.mceLabel {
+	color: #000000;
+}
+
+.mceLabelDisabled {
+	cursor: text;
+	color: #999999;
+}
+
+.mceEditor {
+	background: #F0F0EE;
+	border: 1px solid #cccccc;
+	padding: 0;
+	margin: 0;
+}
+
+.mceEditorArea {
+	font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
+	background: #FFFFFF;
+	padding: 0;
+	margin: 0;
+}
+
+.mceToolbarTop, .mceToolbarBottom {
+	background: #F0F0EE;
+	line-height: 1px;
+	font-size: 1px;
+}
+
+.mceToolbarTop {
+	border-bottom: 1px solid #cccccc;
+	padding-bottom: 1px;
+}
+
+.mceToolbarBottom {
+	border-top: 1px solid #cccccc;
+}
+
+.mceStatusbarTop, .mceStatusbarBottom, .mceStatusbar {
+	height: 20px;
+}
+
+.mceStatusbarTop .mceStatusbarPathText, .mceStatusbarBottom .mceStatusbarPathText, .mceStatusbar .mceStatusbarPathText {
+	font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
+	font-size: 9pt;
+	padding: 2px;
+	line-height: 16px;
+	overflow: visible;
+}
+
+.mceStatusbarTop {
+	border-bottom: 1px solid #cccccc;
+}
+
+.mceStatusbarBottom {
+	border-top: 1px solid #cccccc;
+}
+
+.mceStatusbar {
+	border-bottom: 1px solid #cccccc;
+}
+
+.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover {
+	text-decoration: none;
+	font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
+	font-size: 9pt;
+	color: #000000;
+}
+
+.mcePathItem:hover {
+	text-decoration: underline;
+}
+
+.mceStatusbarPathText {
+	float: left;
+}
+
+.mceStatusbarResize {
+	float: right;
+	background-image: url('../images/statusbar_resize.gif');
+	background-repeat: no-repeat;
+	width: 11px;
+	height: 20px;
+	cursor: se-resize;
+}
+
+.mceResizeBox {
+	width: 10px;
+	height: 10px;
+	display: none;
+	border: 1px dotted gray;
+	margin: 0;
+	padding: 0;
+}
+
+.mceEditorIframe {
+	border: 0;
+}
+
+/* Button CSS rules */
+
+a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {
+	width: 20px;
+	height: 20px;
+	cursor: default;
+	margin-top: 1px;
+	margin-left: 1px;
+}
+
+a.mceButtonDisabled img {
+	border: 0 !important;
+}
+
+a.mceButtonNormal img, a.mceButtonSelected img {
+	border: 1px solid #F0F0EE !important;
+}
+
+a.mceButtonSelected img {
+	border: 1px solid #6779AA !important;
+	background-color: #D4D5D8;
+}
+
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {
+	border: 1px solid #0A246A !important;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+a.mceButtonDisabled img {
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border: 1px solid #F0F0EE !important;
+	cursor: default;
+}
+
+a.mceTiledButton img {
+	background-image: url('../images/buttons.gif');
+	background-repeat: no-repeat;
+}
+
+/* MSIE specific rules */
+
+* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {
+	border: 0 !important;
+	margin-top: 2px;
+	margin-bottom: 1px;
+}
+
+* html a.mceButtonDisabled img {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	border: 0 !important;
+}
+
+* html a.mceButtonDisabled {
+	border: 1px solid #F0F0EE !important;
+}
+
+* html a.mceButtonNormal, * html a.mceButtonSelected {
+	border: 1px solid #F0F0EE !important;
+	cursor: default;
+}
+
+* html a.mceButtonSelected {
+	border: 1px solid #6779AA !important;
+	background-color: #D4D5D8;
+}
+
+* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {
+	border: 1px solid #0A246A !important;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+* html .mceSelectList {
+	margin-top: 2px;
+}
+
+/* Menu button CSS rules */
+
+span.mceMenuButton img, span.mceMenuButtonSelected img {
+	border: 1px solid #F0F0EE;
+	margin-left: 1px;
+}
+
+span.mceMenuButtonSelected img {
+	border: 1px solid #6779AA;
+	background-color: #B6BDD2;
+}
+
+span.mceMenuButtonSelected img.mceMenuButton {
+	border: 1px solid #F0F0EE;
+	background-color: transparent;
+}
+
+span.mceMenuButton img.mceMenuButton, span.mceMenuButtonSelected img.mceMenuButton {
+	border-left: 0;
+	margin-left: 0;
+}
+
+span.mceMenuButton:hover img, span.mceMenuButtonSelected:hover img {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+span.mceMenuButton:hover img.mceMenuButton, span.mceMenuButtonSelected:hover img.mceMenuButton {
+	border-left: 0;
+}
+
+span.mceMenuButtonFocus img {
+	border: 1px solid gray;
+	border-right: 0;
+	margin-left: 1px;
+	background-color: #F5F4F2;
+}
+
+span.mceMenuButtonFocus img.mceMenuButton {
+	border: 1px solid gray;
+	border-left: 1px solid #F5F4F2;
+	margin-left: 0;
+}
+
+/* Menu button MSIE specific rules */
+
+* html span.mceMenuButton, * html span.mceMenuButtonFocus {
+	position: relative;
+	left: 0;
+	top: 0;
+}
+
+* html span.mceMenuButton img, * html span.mceMenuButtonSelected img, * html span.mceMenuButtonFocus img {
+	position: relative;
+	top: 1px;
+}
+
+* html span.mceMenuHover img {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+* html span.mceMenuButtonSelected.mceMenuHover img.mceMenuButton {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+	border-left: 0;
+}
+
+/* Menu */
+
+.mceMenu {
+	position: absolute;
+	left: 0;
+	top: 0;
+	display: none;
+	z-index: 100;
+	background-color: white;
+	border: 1px solid gray;
+	font-weight: normal;
+}
+
+.mceMenu a, .mceMenuTitle, .mceMenuDisabled {
+	display: block;
+	width: 100%;
+	text-decoration: none;
+	background-color: white;
+	font-family: Tahoma, Verdana, Arial, Helvetica;
+	font-size: 11px;
+	line-height: 20px;
+	color: black;
+}
+
+.mceMenu a:hover {
+	background-color: #B6BDD2;
+	color: black;
+	text-decoration: none !important;
+}
+
+.mceMenu span {
+	padding-left: 10px;
+	padding-right: 10px;
+	display: block;
+	line-height: 20px;
+}
+
+.mceMenuSeparator {
+	border-bottom: 1px solid gray;
+	background-color: gray;
+	height: 1px;
+}
+
+.mceMenuTitle span {
+	padding-left: 5px;
+}
+
+.mceMenuTitle {
+	background-color: #DDDDDD;
+	font-weight: bold;
+}
+
+.mceMenuDisabled {
+	color: gray;
+}
+
+span.mceMenuSelectedItem {
+	background-image: url('../images/menu_check.gif');
+	background-repeat: no-repeat;
+	background-position: 5px 8px;
+	padding-left: 20px;
+}
+
+span.mceMenuCheckItem {
+	padding-left: 20px;
+}
+
+span.mceMenuLine {
+	display: block;
+	position: absolute;
+	left: 0;
+	top: -1px;
+	background-color: #F5F4F2;
+	width: 30px;
+	height: 1px;
+	overflow: hidden;
+	padding-left: 0;
+	padding-right: 0;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>About TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">About TinyMCE</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla 
+that enables you to edit HTML contents in a more user friendly way. It has common 
+features that are found in most word processors and should not be difficult to 
+use.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,162 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Common buttons</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Common buttons</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Below is a short description about each button.
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20" alt="Bold text icon" /></td>
+    <td>Bold text style (Ctrl+B).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20" alt="Italic text icon" /></td>
+    <td>Italic text style (Ctrl+I).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20" alt="Underline text icon." /></td>
+    <td>Underline text style (Ctrl+U).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20" alt="Strikethrough text icon." /></td>
+    <td>Strikethrough text style.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyleft.gif" width="20" height="20" alt="Align left icon." /></td>
+    <td>Align left.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifycenter.gif" width="20" height="20" alt="Align center icon." /></td>
+    <td>Align center.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyright.gif" width="20" height="20" alt="Align right icon." /></td>
+    <td>Align right.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyfull.gif" width="20" height="20" alt="Align full icon." /></td>
+    <td>Align full.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20" alt="Unordered list/bullet list icon." /></td>
+    <td>Unordered list/bullet list.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20" alt="Ordered list/numbered list icon." /></td>
+    <td>Ordered list/numbered list</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20" alt="Outdent/decrease indentation icon." /></td>
+    <td>Outdent/decrease indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20" alt="Indent/increase indentation icon." /></td>
+    <td>Indent/increase indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20" alt="Undo the last operation." /></td>
+    <td>Undo the last operation (Ctrl+Z).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20" alt="Redo the last operation icon." /></td>
+    <td>Redo the last operation (Ctrl+Y).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20" alt="Insert a new link icon." /></td>
+    <td>Insert a new link, read more about this function in the <a href="insert_link_button.htm">Insert 
+      link section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20" alt="Unlinks the current selection icon." /></td>
+    <td>Unlinks the current selection/removes all selected links.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/anchor.gif" width="20" height="20" alt="Insert a new anchor icon." /></td>
+    <td>Insert a new anchor, read more about this function in the <a href="insert_anchor_button.htm">Insert anchor section.</a></td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20" alt="Insert a new image icon." /></td>
+    <td>Insert a new image, read more about this function in the <a href="insert_image_button.htm">Insert 
+      image section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20" alt="Cleanup code icon." /></td>
+    <td>Cleanup code/Removes unwanted formating. This function is useful when 
+      you copy contents from for example a office product.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20" alt="Show help icon." /></td>
+    <td>Shows this help window.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20" alt="Source code editor icon." /></td>
+    <td>Opens HTML source code editor. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table.gif" width="20" height="20" alt="Insert table icon." /></td>
+    <td>Inserts a new table at the current location. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_row_before.gif" width="20" height="20" alt="Adds a row above icon." /></td>
+    <td>Adds a row above the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_row_after.gif" width="20" height="20" alt="Adds a row under icon." /></td>
+    <td>Adds a row under the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_delete_row.gif" width="20" height="20" alt="Remove row icon." /></td>
+    <td>Removes the row. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_col_before.gif" width="20" height="20" alt="Add column before icon." /></td>
+    <td>Adds a column before the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_col_after.gif" width="20" height="20" alt="Add column after icon." /></td>
+    <td>Adds a column after the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_delete_col.gif" width="20" height="20" alt="Remove column icon." /></td>
+    <td>Removes the current column.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20" alt="Insert horizontal ruler icon." /></td>
+    <td>Inserts a new horizontal ruler </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20" alt="Remove formatting icon." /></td>
+    <td>Removes formatting from the selection. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20" alt="Subscript icon." /></td>
+    <td>Makes the selection to be subscript. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20" alt="Superscript icon." /></td>
+    <td>Makes the selection to be superscripted. </td>
+  </tr>
+</table>
+<br>
+<hr noshade="noshade" />
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,45 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Create accessible content</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<p>TinyMCE can create HTML content that will be accessible to all users, including those with disabilities using assistive technologies, as well as those using text-based browsers, or those browsing the Web with images turned off. </p>
+
+<p><strong>Things you can do to make your content accessible:</strong></p>
+<ol>
+<li><strong>Include an Image Description:</strong> Blind users, or others who are unable to view images, will rely on the Image Description (or Alt text) to take the place of the image. If an image contains no meaning, such as a decoration or a spacer image, leave the Image Description empty. TinyMCE will then insert an empty Alt text attribute that will force assistive technologies to ignore the image. <br /><br /></li>
+
+<li> <strong>Add Scope to data table header cells:</strong> In the table cell editor dialog window, choose a Scope when creating Header cells so the column or row label in that cell becomes explicitely associated with its data cells. Table cell headers will then be announced with each data cell, making it easier for blind users using a screen reader to understand what the content of each cell represents. <br /><br /></li>
+
+<li><strong> Structure content with properly nested headings:</strong> In the format selection menu choose Heading 1 to Heading 6 to represent headings in your content,  rather than using other font formating options. Blind users using a screen reader can then extract the headings from the page to generate a summary of the content it contains, and use those headings to navigate quickly to subsections within the page.<br /><br /></li>
+
+<li><strong> Include alternate content:</strong> Create an alternate page for non-HTML content such as Flash, Java applets, or  embedded movies. This might be a static image, with a description of the image, and a description of the content that would have appeared in its place. An alternate HTML page could also be created, and a link to it included next to the non-HTML object. This will ensure that the content will be accessible to users of assistive technologies that can not view or play the content, and ensure the content will be available to those who do not have the appropriate plugin or helper application installed.<br /><br /></li>
+
+<li><strong> Check accessbility: </strong> When the AChecker plugin is installed with TinyMCE, click on the Check Accessibility button to generate a report of potential accessibility problems.<br /><br /></li>
+
+</ol>
+
+<p>See the <a href="http://checker.atrc.utoronto.ca" target="_new">AChecker Web Site</a> for further details about creating content that will be accessible to all users.<br />
+</p>
+
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+
+<br>
+</BODY>
+</HTML>
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Help Index</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Table of contents</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Click the links below to go to the different help sections. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">About TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Common buttons</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Insert image button</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Insert link button</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">Insert anchor button</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Insert table button</a></li>
+ <li class="toc_li"><a href="create_accessible_content.htm">Create accessible content</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert anchor button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert anchor button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit anchor function.<br>
+<br>
+<img src="images/insert_anchor_window.gif" width="330" height="139" alt="Anchor dialog/window" /><br>
+<br>
+There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique. <br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,65 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert image button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert image button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert image button opens the window shown below.<br>
+<br>
+<img src="images/insert_image_window.gif" alt="Insert image dialog/window" /><br>
+<br>
+You simply enter a URL to the image you want to link to and enter a image description, 
+this is then displayed as an alternative text descripton of the image on the page.<br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Image URL </strong></td>
+    <td>URL/path to the image.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Image description </strong></td>
+    <td>Alternative description of image contents.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimentions</strong></td>
+    <td>Image width/height. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Image alignment, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thickness. </td>
+  </tr>
+  <tr>
+    <td><strong>VSpace</strong></td>
+    <td>Vertical space, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>HSpace</strong></td>
+    <td>Horizontal space, useful when wrapping text around images.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert link button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert link button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit link function.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="159" alt="Insert link dialog/window" /><br>
+<br>
+There are two fields in this window the first one &quot;Link URL&quot; is the 
+URL of the link. The target enables you to select how the link is to be opened.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert table button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert table button opens the window shown below. This action enables you to create tables. <br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="229" alt="Image of table window" /><br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Columns</strong></td>
+    <td>Number of columns in the  table. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Rows</strong></td>
+    <td>Number of rows in the new table.</td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Cellpadding of the table . </td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Cellspacing of the table .</td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Table alignment . </td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thinkness of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Width</strong></td>
+    <td>Width in pixels of table .</td>
+  </tr>
+  <tr>
+    <td><strong>Height</strong></td>
+    <td>Height in pixels of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Class</strong></td>
+    <td>Style or CSS class of table.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/style.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/style.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/style.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/style.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/about.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/about.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/about.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/about.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>About TinyMCE</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">About TinyMCE</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla 
-that enables you to edit HTML contents in a more user friendly way. It has common 
-features that are found in most word processors and should not be difficult to 
-use.<br>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-<br>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/common_buttons.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/common_buttons.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/common_buttons.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/common_buttons.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,163 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Common buttons</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Common buttons</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-Below is a short description about each button.<img src="../../images/spacer.gif" width="1" height="1"> 
-<br>
-<br>
-<table border="1" cellpadding="3" cellspacing="0">
-  <tr>
-    <td><img src="../../images/bold.gif" width="20" height="20"></td>
-    <td>Bold text style.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/italic.gif" width="20" height="20"></td>
-    <td>Italic text style.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/underline.gif" width="20" height="20"></td>
-    <td>Underline text style.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
-    <td>Strikethrough text style.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/left.gif" width="20" height="20"></td>
-    <td>Align left.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/center.gif" width="20" height="20"></td>
-    <td>Align center.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/right.gif" width="20" height="20"></td>
-    <td>Align right.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/full.gif" width="20" height="20"></td>
-    <td>Align full.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
-    <td>Unordered list/bullet list.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
-    <td>Ordered list/numbered list</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
-    <td>Outdent/decrease indentation.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/indent.gif" width="20" height="20"></td>
-    <td>Indent/incread indentation.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/undo.gif" width="20" height="20"></td>
-    <td>Undo the last operation.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/redo.gif" width="20" height="20"></td>
-    <td>Redo the last operation.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/link.gif" width="20" height="20"></td>
-    <td>Insert a new link, read more about this function in the <a href="insert_link_button.htm">Insert 
-      link section</a>.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
-    <td>Unlinks the current selection/removes all selected links.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/anchor.gif" width="20" height="20"></td>
-    <td>Insert a new anchor, read more about this function in the <a href="insert_anchor_button.htm">Insert anchor section.</a></td>
-  </tr>
-  <tr>
-    <td><img src="../../images/image.gif" width="20" height="20"></td>
-    <td>Insert a new image, read more about this function in the <a href="insert_image_button.htm">Insert 
-      image section</a>.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
-    <td>Cleanup code/Removes unwanted formating. This function is useful when 
-      you copy contents from for example a office product.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/help.gif" width="20" height="20"></td>
-    <td>Shows this help window.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/code.gif" width="20" height="20"></td>
-    <td>Opens HTML source code editor. </td>
-  </tr>
-  <tr>
-    <td><img src="../../images/table.gif" width="20" height="20"></td>
-    <td>Inserts a new 2x2 table at the current location. </td>
-  </tr>
-  <tr>
-    <td><img src="../../images/table_insert_row_before.gif" width="20" height="20"></td>
-    <td>Adds a row above the current one. </td>
-  </tr>
-  <tr>
-    <td><img src="../../images/table_insert_row_after.gif" width="20" height="20"></td>
-    <td>Adds a row under the current one. </td>
-  </tr>
-  <tr>
-    <td><img src="../../images/table_delete_row.gif" width="20" height="20"></td>
-    <td>Removes the row. </td>
-  </tr>
-  <tr>
-    <td><img src="../../images/table_insert_col_before.gif" width="20" height="20"></td>
-    <td>Adds a column before the current one.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/table_insert_col_after.gif" width="20" height="20"></td>
-    <td>Adds a column after the current one.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/table_delete_col.gif" width="20" height="20"></td>
-    <td>Removes the current  column.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/hr.gif" width="20" height="20"></td>
-    <td>Inserts a new horizontal ruler </td>
-  </tr>
-  <tr>
-    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
-    <td>Removes formatting from the selection. </td>
-  </tr>
-  <tr>
-    <td><img src="../../images/sub.gif" width="20" height="20"></td>
-    <td>Makes the selection to be subscript. </td>
-  </tr>
-  <tr>
-    <td><img src="../../images/sup.gif" width="20" height="20"></td>
-    <td>Makes the selection to be superscripted. </td>
-  </tr>
-</table>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/insert_anchor_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/insert_anchor_window.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/insert_image_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/insert_image_window.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/insert_link_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/insert_link_window.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/insert_table_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/images/insert_table_window.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/index.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/index.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/index.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/index.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Help Index</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-<BODY onload="window.focus();">
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Table of contents</span></td>
-    <td align="right">&nbsp;</td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-Click the links below to go to the different help sections. 
-<ul class="toc_ul">
-  <li class="toc_li"><a href="about.htm">About TinyMCE</a></li>
-  <li class="toc_li"><a href="common_buttons.htm">Common buttons</a></li>
-  <li class="toc_li"><a href="insert_image_button.htm">Insert image button</a></li>
-  <li class="toc_li"><a href="insert_link_button.htm">Insert link button</a></li>
-  <li class="toc_li"><a href="insert_anchor_button.htm">Insert anchor button</a></li>
-  <li class="toc_li"><a href="insert_table_button.htm">Insert table button</a></li>
-</ul>
-<hr noshade>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_anchor_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_anchor_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_anchor_button.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_anchor_button.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Insert anchor button</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Insert anchor button</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-This button opens a new window with the insert/edit anchor function.<br>
-<br>
-<img src="images/insert_anchor_window.gif" width="330" height="139"><br>
-<br>
-There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique. <br>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-<br>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_image_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_image_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_image_button.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_image_button.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Insert image button</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Insert image button</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-The insert image button opens the window shown below.<br>
-<br>
-<img src="images/insert_image_window.gif"><br>
-<br>
-You simply enter a URL to the image you want to link to and enter a image description, 
-this is then displayed as an alternative text descripton of the image on the page.<br>
-<br>
-<strong>Field descriptions:</strong><br>
-<table border="1" cellspacing="0">
-  <tr>
-    <td width="150"><strong>Image URL </strong></td>
-    <td>URL/path to the image.</td>
-  </tr>
-  <tr>
-    <td width="150"><strong>Image description </strong></td>
-    <td>Alternative description of image contents.</td>
-  </tr>
-  <tr>
-    <td><strong>Dimentions</strong></td>
-    <td>Image width/height. </td>
-  </tr>
-  <tr>
-    <td><strong>Alignment</strong></td>
-    <td>Image alignment, useful when wrapping text around images.</td>
-  </tr>
-  <tr>
-    <td><strong>Border</strong></td>
-    <td>Border thickness. </td>
-  </tr>
-  <tr>
-    <td><strong>VSpace</strong></td>
-    <td>Vertical space, useful when wrapping text around images.</td>
-  </tr>
-  <tr>
-    <td><strong>HSpace</strong></td>
-    <td>Horizontal space, useful when wrapping text around images.</td>
-  </tr>
-</table>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-<br>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_link_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_link_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_link_button.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_link_button.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Insert link button</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Insert link button</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-This button opens a new window with the insert/edit link function.<br>
-<br>
-<img src="images/insert_link_window.gif" width="330" height="159"><br>
-<br>
-There are two fields in this window the first one &quot;Link URL&quot; is the 
-URL of the link. The target enables you to select how the link is to be opened.<br>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-<br>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_table_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_table_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_table_button.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/insert_table_button.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Insert table button</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Insert table button</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-The insert table button opens the window shown below. This action enables you to create tables. <br>
-<br>
-<img src="images/insert_table_window.gif" width="340" height="229"><br>
-<br>
-<strong>Field descriptions:</strong><br>
-<table border="1" cellspacing="0">
-  <tr>
-    <td width="150"><strong>Columns</strong></td>
-    <td>Number of columns in the  table. </td>
-  </tr>
-  <tr>
-    <td width="150"><strong>Rows</strong></td>
-    <td>Number of rows in the new table.</td>
-  </tr>
-  <tr>
-    <td><strong>Cellpadding</strong></td>
-    <td>Cellpadding of the table . </td>
-  </tr>
-  <tr>
-    <td><strong>Cellspacing</strong></td>
-    <td>Cellspacing of the table .</td>
-  </tr>
-  <tr>
-    <td><strong>Alignment</strong></td>
-    <td>Table alignment . </td>
-  </tr>
-  <tr>
-    <td><strong>Border</strong></td>
-    <td>Border thinkness of table.</td>
-  </tr>
-  <tr>
-    <td><strong>Width</strong></td>
-    <td>Width in pixels of table .</td>
-  </tr>
-  <tr>
-    <td><strong>Height</strong></td>
-    <td>Height in pixels of table.</td>
-  </tr>
-  <tr>
-    <td><strong>Class</strong></td>
-    <td>Style or CSS class of table.</td>
-  </tr>
-</table>
-<br>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-<br>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/style.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/style.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/style.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/uk/style.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,28 +0,0 @@
-body { background-color: #FFFFFF; }
-body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
-.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
-.subtitle { font-size: 12px; font-weight: bold; }
-
-.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
-.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
-img { border: #000000 solid 1px; }
-
-a:visited { color: #666666; text-decoration: underline; }
-a:active { color: #666666; text-decoration: underline; }
-a:hover { color: #666666; text-decoration: underline; }
-a { color: #666666; text-decoration: underline; }
-
-.pageheader { border: #E0E0E0 solid 1px; }
-.pagefooter { border: #E0E0E0 solid 1px; }
-.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
-.samplecontent { font-size: 10px; }
-
-.code { background-color: #FFFFFF; border: #000000 solid 1px; }
-.codecontent { font-size: 10px; }
-.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
-.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
-.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
-.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
-
-hr { height: 1px; }
-
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_content.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_content.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_content.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_content.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,23 +0,0 @@
-body {
-	background-color: #FFFFFF;
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 10px;
-	scrollbar-3dlight-color: #F0F0EE;
-	scrollbar-arrow-color: #676662;
-	scrollbar-base-color: #F0F0EE;
-	scrollbar-darkshadow-color: #DDDDDD;
-	scrollbar-face-color: #E0E0DD;
-	scrollbar-highlight-color: #F0F0EE;
-	scrollbar-shadow-color: #F0F0EE;
-	scrollbar-track-color: #F5F5F5;
-}
-
-td {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 10px;
-}
-
-pre {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 10px;
-}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_popup.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_popup.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_popup.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_popup.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,80 +0,0 @@
-body {
-	background-color: #F0F0EE;
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 11px;
-	scrollbar-3dlight-color: #F0F0EE;
-	scrollbar-arrow-color: #676662;
-	scrollbar-base-color: #F0F0EE;
-	scrollbar-darkshadow-color: #DDDDDD;
-	scrollbar-face-color: #E0E0DD;
-	scrollbar-highlight-color: #F0F0EE;
-	scrollbar-shadow-color: #F0F0EE;
-	scrollbar-track-color: #F5F5F5;
-}
-
-td {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 11px;
-}
-
-input {
-	background: #FFFFFF;
-	border: 1px solid #cccccc;
-}
-
-td, input, select, textarea {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 10px;
-}
-
-input, select, textarea {
-	border: 1px solid #808080;
-}
-
-.input_noborder {
-	border: 0px solid #808080;
-}
-
-#insert {
-   font-weight: bold;
-}
-
-#cancel {
-   font-weight: bold;
-}
-
-.title {
-	font-size: 12px;
-	font-weight: bold;
-}
-
-table.charmap {
-	border-style: solid;
-	border-width: 1px;
-	border-color: #AAAAAA;
-}
-
-td.charmap, td.charmapOver {
-	color: #000000;
-	border-color: #AAAAAA;
-	border-style: solid;
-	border-width: 1px;
-	text-align: center;
-	font-size: 12px;
-}
-
-td.charmapOver {
-	background-color: #CCCCCC;
-	cursor: hand;
-}
-
-a.charmap {
-	color: #000000;
-	text-decoration: none
-}
-
-.wordWrapCode {
-	vertical-align: middle;
-	border: 1px none #000000;
-	background-color: transparent;
-}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js	2006-08-01 01:34:25.000000000 -0500
@@ -1,45 +1 @@
-/* Import theme specific language pack */
- tinyMCE.importThemeLanguagePack();
- var TinyMCE_advanced_autoImportCSSClasses=true;
- var TinyMCE_advanced_foreColor="#000000";
- var TinyMCE_advanced_anchorName="";
- var TinyMCE_advanced_buttons=[
- ['bold','{$lang_bold_img}','{$lang_bold_desc}','Bold'],
- ['italic','{$lang_italic_img}','{$lang_italic_desc}','Italic'],
- ['underline','{$lang_underline_img}','{$lang_underline_desc}','Underline'],
- ['strikethrough','strikethrough.gif','{$lang_striketrough_desc}','Strikethrough'],
- ['justifyleft','left.gif','{$lang_justifyleft_desc}','JustifyLeft'],
- ['justifycenter','center.gif','{$lang_justifycenter_desc}','JustifyCenter'],
- ['justifyright','right.gif','{$lang_justifyright_desc}','JustifyRight'],
- ['justifyfull','full.gif','{$lang_justifyfull_desc}','JustifyFull'],
- ['bullist','bullist.gif','{$lang_bullist_desc}','InsertUnorderedList'],
- ['numlist','numlist.gif','{$lang_numlist_desc}','InsertOrderedList'],
- ['outdent','outdent.gif','{$lang_outdent_desc}','Outdent'],
- ['indent','indent.gif','{$lang_indent_desc}','Indent'],
- ['cut','cut.gif','{$lang_cut_desc}','Cut'],
- ['copy','copy.gif','{$lang_copy_desc}','Copy'],
- ['paste','paste.gif','{$lang_paste_desc}','Paste'],
- ['undo','undo.gif','{$lang_undo_desc}','Undo'],
- ['redo','redo.gif','{$lang_redo_desc}','Redo'],
- ['link','link.gif','{$lang_link_desc}','mceLink',true],
- ['unlink','unlink.gif','{$lang_unlink_desc}','unlink'],
- ['image','image.gif','{$lang_image_desc}','mceImage',true],
- ['cleanup','cleanup.gif','{$lang_cleanup_desc}','mceCleanup'],
- ['help','help.gif','{$lang_help_desc}','mceHelp'],
- ['code','code.gif','{$lang_theme_code_desc}','mceCodeEditor'],
- ['table','table.gif','{$lang_theme_table_desc}','mceInsertTable',true],
- ['row_before','table_insert_row_before.gif','{$lang_theme_table_insert_row_before_desc}','mceTableInsertRowBefore'],
- ['row_after','table_insert_row_after.gif','{$lang_theme_table_insert_row_after_desc}','mceTableInsertRowAfter'],
- ['delete_row','table_delete_row.gif','{$lang_theme_table_delete_row_desc}','mceTableDeleteRow'],
- ['col_before','table_insert_col_before.gif','{$lang_theme_table_insert_col_before_desc}','mceTableInsertColBefore'],
- ['col_after','table_insert_col_after.gif','{$lang_theme_table_insert_col_after_desc}','mceTableInsertColAfter'],
- ['delete_col','table_delete_col.gif','{$lang_theme_table_delete_col_desc}','mceTableDeleteCol'],
- ['hr','hr.gif','{$lang_theme_hr_desc}','inserthorizontalrule'],
- ['removeformat','removeformat.gif','{$lang_theme_removeformat_desc}','removeformat'],
- ['sub','sub.gif','{$lang_theme_sub_desc}','subscript'],['sup','sup.gif','{$lang_theme_sup_desc}','superscript'],
- ['forecolor','forecolor.gif','{$lang_theme_forecolor_desc}','mceForeColor'],
- ['charmap','charmap.gif','{$lang_theme_charmap_desc}','mceCharMap'],
- ['visualaid','visualaid.gif','{$lang_theme_visualaid_desc}','mceToggleVisualAid'],
- ['anchor','anchor.gif','{$lang_theme_anchor_desc}','mceInsertAnchor']];
- 
- function TinyMCE_advanced_getControlHTML(button_name){for(var i=0;i<TinyMCE_advanced_buttons.length;i++){var but=TinyMCE_advanced_buttons[i];if(but[0]==button_name)return '<img id="{$editor_id}_'+but[0]+'" src="{$themeurl}/images/'+but[1]+'" title="'+but[2]+'" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+')">';}switch(button_name){case "formatselect":var html='<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';var formats=tinyMCE.getParam("theme_advanced_blockformats","p,address,pre,h1,h2,h3,h4,h5,h6",true).split(',');var lookup=[['p','{$lang_theme_paragraph}'],['address','{$lang_theme_address}'],['pre','{$lang_theme_pre}'],['h1','{$lang_theme_h1}'],['h2','{$lang_theme_h2}'],['h3','{$lang_theme_h3}'],['h4','{$lang_theme_h4}'],['h5','{$lang_theme_h5}'],['h6','{$lang_theme_h6}']];for(var i=0;i<formats.length;i++){for(var x=0;x<lookup.length;x++){if(formats[i]==lookup[x][0])html+='<option value="<'+lookup[x][0]+'>">'+lookup[x][1]+'</option>';}}html+='</select>';return html;case "styleselect":return '<select id="{$editor_id}_styleSelect" onmousedown="TinyMCE_advanced_setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';case "fontselect":return '<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect"onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);"class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option><option value="arial,helvetica,sans-serif">Arial</option><option value="times new roman,times,serif">Times New Roman</option><option value="verdana,arial,helvetica,sans-serif">Verdana</option><option value="courier new,courier,monospace">Courier</option><option value="georgia,times new roman,times,serif">Georgia</option><option value="tahoma,arial,helvetica,sans-serif">Tahoma</option></select>';case "fontsizeselect":return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="1">1 (8 pt)</option><option value="2">2 (10 pt)</option><option value="3">3 (12 pt)</option><option value="4">4 (14 pt)</option><option value="5">5 (18 pt)</option><option value="6">6 (24 pt)</option><option value="7">7 (36 pt)</option></select>';case "separator":return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">';case "spacer":return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';case "rowseparator":return '<br />';}return "";}function TinyMCE_advanced_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceForeColor":var template=new Array();var inputColor=TinyMCE_advanced_foreColor;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=210;template['height']=200;tinyMCE.openWindow(template,{editor_id:editor_id,command:"forecolor",input_color:inputColor});return true;case "mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=tinyMCE.getParam("theme_advanced_source_editor_width",500);template['height']=tinyMCE.getParam("theme_advanced_source_editor_height",400);tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no"});return true;case "mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550;template['height']=280;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case "mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=130;tinyMCE.openWindow(template,{editor_id:editor_id,name:TinyMCE_advanced_anchorName,action:(TinyMCE_advanced_anchorName==""?"insert":"update")});return true;}return false;}function TinyMCE_advanced_getEditorTemplate(settings){function removeFromArray(in_array,remove_array){var outArray=new Array();for(var i=0;i<in_array.length;i++){skip=false;for(var j=0;j<remove_array.length;j++){if(in_array[i]==remove_array[j])skip=true;}if(!skip)outArray[outArray.length]=in_array[i];}return outArray;}function addToArray(in_array,add_array){for(var i=0;i<add_array.length;i++)in_array[in_array.length]=add_array[i];return in_array;}var template=new Array();var toolbarHTML="";var toolbarLocation=tinyMCE.getParam("theme_advanced_toolbar_location","bottom");var buttonNamesRow1=tinyMCE.getParam("theme_advanced_buttons1","bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",true,',');buttonNamesRow1=removeFromArray(buttonNamesRow1,tinyMCE.getParam("theme_advanced_disable","",true,','));buttonNamesRow1=addToArray(buttonNamesRow1,tinyMCE.getParam("theme_advanced_buttons1_add","",true,','));buttonNamesRow1=addToArray(tinyMCE.getParam("theme_advanced_buttons1_add_before","",true,','),buttonNamesRow1);for(var i=0;i<buttonNamesRow1.length;i++)toolbarHTML+=tinyMCE.getControlHTML(buttonNamesRow1[i]);if(buttonNamesRow1.length>0)toolbarHTML+="<br />";var buttonNamesRow2=tinyMCE.getParam("theme_advanced_buttons2","bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",true,',');buttonNamesRow2=removeFromArray(buttonNamesRow2,tinyMCE.getParam("theme_advanced_disable","",true,','));buttonNamesRow2=addToArray(buttonNamesRow2,tinyMCE.getParam("theme_advanced_buttons2_add","",true,','));buttonNamesRow2=addToArray(tinyMCE.getParam("theme_advanced_buttons2_add_before","",true,','),buttonNamesRow2);for(var i=0;i<buttonNamesRow2.length;i++)toolbarHTML+=tinyMCE.getControlHTML(buttonNamesRow2[i]);if(buttonNamesRow2.length>0)toolbarHTML+="<br />";var buttonNamesRow3=tinyMCE.getParam("theme_advanced_buttons3","table,separator,row_before,row_after,delete_row,separator,col_before,col_after,delete_col,separator,hr,removeformat,visualaid,separator,sub,sup,separator,charmap",true,',');buttonNamesRow3=removeFromArray(buttonNamesRow3,tinyMCE.getParam("theme_advanced_disable","",true,','));buttonNamesRow3=addToArray(buttonNamesRow3,tinyMCE.getParam("theme_advanced_buttons3_add","",true,','));buttonNamesRow3=addToArray(tinyMCE.getParam("theme_advanced_buttons3_add_before","",true,','),buttonNamesRow3);for(var i=0;i<buttonNamesRow3.length;i++)toolbarHTML+=tinyMCE.getControlHTML(buttonNamesRow3[i]);template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';if(toolbarLocation=="top")template['html']+='<tr><td class="mceToolbarTop" align="center" height="1">'+toolbarHTML+'</td></tr>';template['html']+='<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';if(toolbarLocation=="bottom")template['html']+='<tr><td class="mceToolbarBottom" align="center" height="1">'+toolbarHTML+'</td></tr>';template['html']+='</table>';var styleSelectHTML='<option value="">-- {$lang_theme_style_select} --</option>';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i<stylesAr.length;i++){var key,value;key=stylesAr[i].split('=')[0];value=stylesAr[i].split('=')[1];styleSelectHTML+='<option value="'+value+'">'+key+'</option>';}TinyMCE_advanced_autoImportCSSClasses=false;}template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);template['delta_width']=0;template['delta_height']=-40;return template;}function TinyMCE_advanced_getInsertLinkTemplate(){var template=new Array();template['file']='link.htm';template['width']=320;template['height']=170;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);return template;}function TinyMCE_advanced_getInsertImageTemplate(){var template=new Array();template['file']='image.htm';template['width']=340;template['height']=280;template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);return template;}function TinyMCE_advanced_getInsertTableTemplate(settings){var template=new Array();template['file']='table.htm';template['width']=340;template['height']=220;template['width']+=tinyMCE.getLang('lang_insert_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_table_delta_height',0);return template;}function TinyMCE_advanced_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function selectByValue(select_elm,value){if(select_elm){for(var i=0;i<select_elm.options.length;i++){if(select_elm.options[i].value==value){select_elm.selectedIndex=i;return true;}}}return false;}function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}var colorElm=tinyMCE.getParentElement(node,"font","color");if(colorElm)TinyMCE_advanced_foreColor=""+colorElm.color.toUpperCase();tinyMCE.switchClassSticky(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_table','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_link','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_unlink','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_outdent','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_image','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_hr','mceButtonNormal');var anchorName=tinyMCE.getParentElement(node,"a","name");TinyMCE_advanced_anchorName="";if(anchorName){TinyMCE_advanced_anchorName=anchorName.getAttribute("name");tinyMCE.switchClassSticky(editor_id+'_anchor','mceButtonSelected');}var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClassSticky(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal',false);}tinyMCE.switchClassSticky(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal',false);if(undo_levels!=-1){tinyMCE.switchClassSticky(editor_id+'_undo','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_redo','mceButtonDisabled',true);}if(tinyMCE.getParentElement(node,"td")){tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonNormal',false);}if(tinyMCE.getParentElement(node,"table"))tinyMCE.switchClassSticky(editor_id+'_table','mceButtonSelected');if(tinyMCE.getParentElement(node,"li,blockquote"))tinyMCE.switchClassSticky(editor_id+'_outdent','mceButtonNormal',false);if(undo_index!=-1&&(undo_index<undo_levels-1&&undo_levels>0))tinyMCE.switchClassSticky(editor_id+'_redo','mceButtonNormal',false);if(undo_index!=-1&&(undo_index>0&&undo_levels>0))tinyMCE.switchClassSticky(editor_id+'_undo','mceButtonNormal',false);var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_advanced_setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i<selectElm.options.length;i++){if(selectElm.options[i].value==classNode.className){index=i;breakOut=true;break;}}}}while(!breakOut&&(classNode=classNode.parentNode));selectElm.selectedIndex=index;}var selectElm=document.getElementById(editor_id+"_formatSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"p,div,h1,h2,h3,h4,h5,h6,pre,address");if(elm){selectByValue(selectElm,"<"+elm.nodeName.toLowerCase()+">");}else selectByValue(selectElm,"<p>");}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"font","face");if(elm)selectByValue(selectElm,elm.getAttribute("face"));else selectByValue(selectElm,"");}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"font","size");if(elm)selectByValue(selectElm,elm.getAttribute("size"));else selectByValue(selectElm,"1");}alignNode=node;breakOut=false;do{if(!alignNode.getAttribute||!alignNode.getAttribute('align'))continue;switch(alignNode.getAttribute('align').toLowerCase()){case "left":tinyMCE.switchClassSticky(editor_id+'_justifyleft','mceButtonSelected');breakOut=true;break;case "right":tinyMCE.switchClassSticky(editor_id+'_justifyright','mceButtonSelected');breakOut=true;break;case "middle":case "center":tinyMCE.switchClassSticky(editor_id+'_justifycenter','mceButtonSelected');breakOut=true;break;case "justify":tinyMCE.switchClassSticky(editor_id+'_justifyfull','mceButtonSelected');breakOut=true;break;}}while(!breakOut&&(alignNode=alignNode.parentNode));do{switch(node.nodeName.toLowerCase()){case "b":case "strong":tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonSelected');break;case "i":case "em":tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonSelected');break;case "u":tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonSelected');break;case "strike":tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonSelected');break;case "ul":tinyMCE.switchClassSticky(editor_id+'_bullist','mceButtonSelected');break;case "ol":tinyMCE.switchClassSticky(editor_id+'_numlist','mceButtonSelected');break;case "sub":tinyMCE.switchClassSticky(editor_id+'_sub','mceButtonSelected');break;case "sup":tinyMCE.switchClassSticky(editor_id+'_sup','mceButtonSelected');break;case "hr":tinyMCE.switchClassSticky(editor_id+'_hr','mceButtonSelected');break;case "img":if(getAttrib(node,'name').indexOf('mce_')!=0)tinyMCE.switchClassSticky(editor_id+'_image','mceButtonSelected');break;}}while((node=node.parentNode));}function TinyMCE_advanced_setupCSSClasses(editor_id){if(!TinyMCE_advanced_autoImportCSSClasses)return;var selectElm=document.getElementById(editor_id+'_styleSelect');if(selectElm&&selectElm.getAttribute('cssImported')!='true'){var csses=tinyMCE.getCSSClasses(editor_id);if(csses&&selectElm){for(var i=0;i<csses.length;i++)selectElm.options[selectElm.length]=new Option(csses[i],csses[i]);}if(csses!=null&&csses.length>0)selectElm.setAttribute('cssImported','true');}}
\ No newline at end of file
+tinyMCE.importThemeLanguagePack('advanced');var TinyMCE_AdvancedTheme={_autoImportCSSClasses:true,_resizer:{},_buttons:[['bold','{$lang_bold_img}','lang_bold_desc','Bold'],['italic','{$lang_italic_img}','lang_italic_desc','Italic'],['underline','{$lang_underline_img}','lang_underline_desc','Underline'],['strikethrough','strikethrough.gif','lang_striketrough_desc','Strikethrough'],['justifyleft','justifyleft.gif','lang_justifyleft_desc','JustifyLeft'],['justifycenter','justifycenter.gif','lang_justifycenter_desc','JustifyCenter'],['justifyright','justifyright.gif','lang_justifyright_desc','JustifyRight'],['justifyfull','justifyfull.gif','lang_justifyfull_desc','JustifyFull'],['bullist','bullist.gif','lang_bullist_desc','InsertUnorderedList'],['numlist','numlist.gif','lang_numlist_desc','InsertOrderedList'],['outdent','outdent.gif','lang_outdent_desc','Outdent'],['indent','indent.gif','lang_indent_desc','Indent'],['cut','cut.gif','lang_cut_desc','Cut'],['copy','copy.gif','lang_copy_desc','Copy'],['paste','paste.gif','lang_paste_desc','Paste'],['undo','undo.gif','lang_undo_desc','Undo'],['redo','redo.gif','lang_redo_desc','Redo'],['link','link.gif','lang_link_desc','mceLink',true],['unlink','unlink.gif','lang_unlink_desc','unlink'],['image','image.gif','lang_image_desc','mceImage',true],['cleanup','cleanup.gif','lang_cleanup_desc','mceCleanup'],['help','help.gif','lang_help_desc','mceHelp'],['code','code.gif','lang_theme_code_desc','mceCodeEditor'],['hr','hr.gif','lang_theme_hr_desc','inserthorizontalrule'],['removeformat','removeformat.gif','lang_theme_removeformat_desc','removeformat'],['sub','sub.gif','lang_theme_sub_desc','subscript'],['sup','sup.gif','lang_theme_sup_desc','superscript'],['forecolor','forecolor.gif','lang_theme_forecolor_desc','mceForeColor',true],['backcolor','backcolor.gif','lang_theme_backcolor_desc','mceBackColor',true],['charmap','charmap.gif','lang_theme_charmap_desc','mceCharMap'],['visualaid','visualaid.gif','lang_theme_visualaid_desc','mceToggleVisualAid'],['anchor','anchor.gif','lang_theme_anchor_desc','mceInsertAnchor'],['newdocument','newdocument.gif','lang_newdocument_desc','mceNewDocument']],_buttonMap:'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells',getControlHTML:function(button_name){var i,x;for(i=0;i<TinyMCE_AdvancedTheme._buttons.length;i++){var but=TinyMCE_AdvancedTheme._buttons[i];if(but[0]==button_name)return tinyMCE.getButtonHTML(but[0],but[2],'{$themeurl}/images/'+but[1],but[3],(but.length>4?but[4]:false),(but.length>5?but[5]:null));}switch(button_name){case"formatselect":var html='<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';var formats=tinyMCE.getParam("theme_advanced_blockformats","p,address,pre,h1,h2,h3,h4,h5,h6",true).split(',');var lookup=[['p','{$lang_theme_paragraph}'],['address','{$lang_theme_address}'],['pre','{$lang_theme_pre}'],['h1','{$lang_theme_h1}'],['h2','{$lang_theme_h2}'],['h3','{$lang_theme_h3}'],['h4','{$lang_theme_h4}'],['h5','{$lang_theme_h5}'],['h6','{$lang_theme_h6}'],['div','{$lang_theme_div}'],['blockquote','{$lang_theme_blockquote}'],['code','{$lang_theme_code}'],['dt','{$lang_theme_dt}'],['dd','{$lang_theme_dd}'],['samp','{$lang_theme_samp}']];html+='<option value="">{$lang_theme_block}</option>';for(var i=0;i<formats.length;i++){for(var x=0;x<lookup.length;x++){if(formats[i]==lookup[x][0])html+='<option value="&lt;'+lookup[x][0]+'&gt;">'+lookup[x][1]+'</option>';}}html+='</select>';return html;case"styleselect":return'<select id="{$editor_id}_styleSelect" onmousedown="tinyMCE.themes.advanced._setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event,this,window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';case"fontselect":var fontHTML='<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';var iFonts='Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';var nFonts='Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';var fonts=tinyMCE.getParam("theme_advanced_fonts",nFonts).split(';');for(i=0;i<fonts.length;i++){if(fonts[i]!=''){var parts=fonts[i].split('=');fontHTML+='<option value="'+parts[1]+'">'+parts[0]+'</option>';}}fontHTML+='</select>';return fontHTML;case"fontsizeselect":return'<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+'<option value="0">{$lang_theme_font_size}</option>'+'<option value="1">1 (8 pt)</option>'+'<option value="2">2 (10 pt)</option>'+'<option value="3">3 (12 pt)</option>'+'<option value="4">4 (14 pt)</option>'+'<option value="5">5 (18 pt)</option>'+'<option value="6">6 (24 pt)</option>'+'<option value="7">7 (36 pt)</option>'+'</select>';case"|":case"separator":return'<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';case"spacer":return'<img src="{$themeurl}/images/separator.gif" width="2" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';case"rowseparator":return'<br />';}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceLink":var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText=inst.getSel().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return true;}var href="",target="",title="",onclick="",action="insert",style_class="";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&tinyMCE.getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=tinyMCE.getAttrib(tinyMCE.linkElement,'href');target=tinyMCE.getAttrib(tinyMCE.linkElement,'target');title=tinyMCE.getAttrib(tinyMCE.linkElement,'title');onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');style_class=tinyMCE.getAttrib(tinyMCE.linkElement,'class');if(onclick=="")onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");mceRealHref=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_href');if(mceRealHref!=""){href=mceRealHref;if(tinyMCE.getParam('convert_urls'))href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");}action="update";}var template=new Array();template['file']='link.htm';template['width']=310;template['height']=200;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);if(inst.settings['insertlink_callback']){var returnVal=eval(inst.settings['insertlink_callback']+"(href, target, title, onclick, action, style_class);");if(returnVal&&returnVal['href'])TinyMCE_AdvancedTheme._insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick'],returnVal['style_class']);}else{tinyMCE.openWindow(template,{href:href,target:target,title:title,onclick:onclick,action:action,className:style_class,inline:"yes"});}return true;case"mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";var img=tinyMCE.imgElement;var inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){img=tinyMCE.selectedElement;tinyMCE.imgElement=img;}if(img){if(tinyMCE.getAttrib(img,'name').indexOf('mce_')==0)return true;src=tinyMCE.getAttrib(img,'src');alt=tinyMCE.getAttrib(img,'alt');if(alt=="")alt=tinyMCE.getAttrib(img,'title');if(tinyMCE.isGecko){var w=img.style.width;if(w!=null&&w!="")img.setAttribute("width",w);var h=img.style.height;if(h!=null&&h!="")img.setAttribute("height",h);}border=tinyMCE.getAttrib(img,'border');hspace=tinyMCE.getAttrib(img,'hspace');vspace=tinyMCE.getAttrib(img,'vspace');width=tinyMCE.getAttrib(img,'width');height=tinyMCE.getAttrib(img,'height');align=tinyMCE.getAttrib(img,'align');onmouseover=tinyMCE.getAttrib(img,'onmouseover');onmouseout=tinyMCE.getAttrib(img,'onmouseout');title=tinyMCE.getAttrib(img,'title');if(tinyMCE.isMSIE){width=img.attributes['width'].specified?width:"";height=img.attributes['height'].specified?height:"";}src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");mceRealSrc=tinyMCE.getAttrib(img,'mce_src');if(mceRealSrc!=""){src=mceRealSrc;if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");}action="update";}var template=new Array();template['file']='image.htm?src={$src}';template['width']=355;template['height']=265+(tinyMCE.isMSIE?25:0);template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);if(inst.settings['insertimage_callback']){var returnVal=eval(inst.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])TinyMCE_AdvancedTheme._insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout']);}else tinyMCE.openWindow(template,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action,inline:"yes"});return true;case"mceForeColor":var template=new Array();var elm=tinyMCE.selectedInstance.getFocusElement();var inputColor=tinyMCE.getAttrib(elm,"color");if(inputColor=='')inputColor=elm.style.color;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=220;template['height']=190;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",command:"forecolor",input_color:inputColor});return true;case"mceBackColor":var template=new Array();var elm=tinyMCE.selectedInstance.getFocusElement();var inputColor=elm.style.backgroundColor;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=220;template['height']=190;template['width']+=tinyMCE.getLang('lang_theme_advanced_backcolor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_backcolor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",command:"HiliteColor",input_color:inputColor});return true;case"mceColorPicker":if(user_interface){var template=new Array();var inputColor=value['document'].getElementById(value['element_id']).value;template['file']='color_picker.htm';template['width']=220;template['height']=190;template['close_previous']="no";template['width']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height',0);if(typeof(value['store_selection'])=="undefined")value['store_selection']=true;tinyMCE.lastColorPickerValue=value;tinyMCE.openWindow(template,{editor_id:editor_id,mce_store_selection:value['store_selection'],inline:"yes",command:"mceColorPicker",input_color:inputColor});}else{var savedVal=tinyMCE.lastColorPickerValue;var elm=savedVal['document'].getElementById(savedVal['element_id']);elm.value=value;if(elm.onchange!=null&&elm.onchange!='')eval('elm.onchange();');}return true;case"mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_width",720));template['height']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_height",580));tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no",inline:"yes"});return true;case"mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550+(tinyMCE.isOpera?40:0);template['height']=250;template['width']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=90+(tinyMCE.isNS7?30:0);template['width']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceNewDocument":if(confirm(tinyMCE.getLang('lang_newdocument')))tinyMCE.execInstanceCommand(editor_id,'mceSetContent',false,' ');return true;}return false;},getEditorTemplate:function(settings,editorId){function removeFromArray(in_array,remove_array){var outArray=new Array();for(var i=0;i<in_array.length;i++){skip=false;for(var j=0;j<remove_array.length;j++){if(in_array[i]==remove_array[j]){skip=true;}}if(!skip){outArray[outArray.length]=in_array[i];}}return outArray;}function addToArray(in_array,add_array){for(var i=0;i<add_array.length;i++){in_array[in_array.length]=add_array[i];}return in_array;}var template=new Array();var deltaHeight=0;var resizing=tinyMCE.getParam("theme_advanced_resizing",false);var path=tinyMCE.getParam("theme_advanced_path",true);var statusbarHTML='<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: '+(path?"block":"none")+'">&#160;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: '+(resizing?"block":"none")+'" onmousedown="tinyMCE.themes.advanced._setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';var layoutManager=tinyMCE.getParam("theme_advanced_layout_manager","SimpleLayout");var styleSelectHTML='<option value="">{$lang_theme_style_select}</option>';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i<stylesAr.length;i++){var key,value;key=stylesAr[i].split('=')[0];value=stylesAr[i].split('=')[1];styleSelectHTML+='<option value="'+value+'">'+key+'</option>';}TinyMCE_AdvancedTheme._autoImportCSSClasses=false;}switch(layoutManager){case"SimpleLayout":var toolbarHTML="";var toolbarLocation=tinyMCE.getParam("theme_advanced_toolbar_location","bottom");var toolbarAlign=tinyMCE.getParam("theme_advanced_toolbar_align","center");var pathLocation=tinyMCE.getParam("theme_advanced_path_location","none");var statusbarLocation=tinyMCE.getParam("theme_advanced_statusbar_location",pathLocation);var defVals={theme_advanced_buttons1:"bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,separator,sub,sup,separator,charmap"};toolbarHTML+='<a href="#" accesskey="q" title="'+tinyMCE.getLang("lang_toolbar_focus")+'"';if(!tinyMCE.getParam("accessibility_focus"))toolbarHTML+=' onfocus="tinyMCE.getInstanceById(\''+editorId+'\').getWin().focus();"';toolbarHTML+='></a>';for(var i=1;i<100;i++){var def=defVals["theme_advanced_buttons"+i];var buttons=tinyMCE.getParam("theme_advanced_buttons"+i,def==null?'':def,true,',');if(buttons.length==0)break;buttons=removeFromArray(buttons,tinyMCE.getParam("theme_advanced_disable","",true,','));buttons=addToArray(buttons,tinyMCE.getParam("theme_advanced_buttons"+i+"_add","",true,','));buttons=addToArray(tinyMCE.getParam("theme_advanced_buttons"+i+"_add_before","",true,','),buttons);for(var b=0;b<buttons.length;b++)toolbarHTML+=tinyMCE.getControlHTML(buttons[b]);if(buttons.length>0){toolbarHTML+="<br />";deltaHeight-=23;}}toolbarHTML+='<a href="#" accesskey="z" onfocus="tinyMCE.getInstanceById(\''+editorId+'\').getWin().focus();"></a>';template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';if(toolbarLocation=="top"){template['html']+='<tr><td class="mceToolbarTop" align="'+toolbarAlign+'" height="1" nowrap="nowrap">'+toolbarHTML+'</td></tr>';}if(statusbarLocation=="top"){template['html']+='<tr><td class="mceStatusbarTop" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23;}template['html']+='<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';if(toolbarLocation=="bottom"){template['html']+='<tr><td class="mceToolbarBottom" align="'+toolbarAlign+'" height="1">'+toolbarHTML+'</td></tr>';}if(toolbarLocation=="external"){var bod=document.body;var elm=document.createElement("div");toolbarHTML=tinyMCE.replaceVar(toolbarHTML,'style_select_options',styleSelectHTML);toolbarHTML=tinyMCE.applyTemplate(toolbarHTML,{editor_id:editorId});elm.className="mceToolbarExternal";elm.id=editorId+"_toolbar";elm.innerHTML='<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';bod.appendChild(elm);deltaHeight=0;tinyMCE.getInstanceById(editorId).toolbarElement=elm;}else{tinyMCE.getInstanceById(editorId).toolbarElement=null;}if(statusbarLocation=="bottom"){template['html']+='<tr><td class="mceStatusbarBottom" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23;}template['html']+='</tbody></table>';break;case"RowLayout":template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';var containers=tinyMCE.getParam("theme_advanced_containers","",true,",");var defaultContainerCSS=tinyMCE.getParam("theme_advanced_containers_default_class","container");var defaultContainerAlign=tinyMCE.getParam("theme_advanced_containers_default_align","center");for(var i=0;i<containers.length;i++){if(containers[i]=="mceEditor")template['html']+='<tr><td align="center" class="mceEditor_border"><span id="{$editor_id}"></span></td></tr>';else if(containers[i]=="mceElementpath"||containers[i]=="mceStatusbar"){var pathClass="mceStatusbar";if(i==containers.length-1){pathClass="mceStatusbarBottom";}else if(i==0){pathClass="mceStatusbar";}else{deltaHeight-=2;}template['html']+='<tr><td class="'+pathClass+'" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=22;}else{var curContainer=tinyMCE.getParam("theme_advanced_container_"+containers[i],"",true,',');var curContainerHTML="";var curAlign=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align",defaultContainerAlign);var curCSS=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class",defaultContainerCSS);for(var j=0;j<curContainer.length;j++){curContainerHTML+=tinyMCE.getControlHTML(curContainer[j]);}if(curContainer.length>0){curContainerHTML+="<br />";deltaHeight-=23;}template['html']+='<tr><td class="'+curCSS+'" align="'+curAlign+'" height="1">'+curContainerHTML+'</td></tr>';}}template['html']+='</tbody></table>';break;case"CustomLayout":var customLayout=tinyMCE.getParam("theme_advanced_custom_layout","");if(customLayout!=""&&eval("typeof("+customLayout+")")!="undefined"){template=eval(customLayout+"(template);");}break;}if(resizing)template['html']+='<span id="{$editor_id}_resize_box" class="mceResizeBox"></span>';template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);template['delta_width']=0;template['delta_height']=deltaHeight;return template;},initInstance:function(inst){if(tinyMCE.getParam("theme_advanced_resizing",false)){if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var w=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_width");var h=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_height");TinyMCE_AdvancedTheme._resizeTo(inst,w,h,tinyMCE.getParam("theme_advanced_resize_horizontal",true));}}inst.addShortcut('ctrl','k','lang_link_desc','mceLink');},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection,setup_content){function selectByValue(select_elm,value,first_index){first_index=typeof(first_index)=="undefined"?false:true;if(select_elm){for(var i=0;i<select_elm.options.length;i++){var ov=""+select_elm.options[i].value;if(first_index&&ov.toLowerCase().indexOf(value.toLowerCase())==0){select_elm.selectedIndex=i;return true;}if(ov==value){select_elm.selectedIndex=i;return true;}}}return false;};function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";};if(node==null)return;var pathElm=document.getElementById(editor_id+"_path");var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();if(pathElm){var parentNode=node;var path=new Array();while(parentNode!=null){if(parentNode.nodeName.toUpperCase()=="BODY"){break;}if(parentNode.nodeType==1&&tinyMCE.getAttrib(parentNode,"class").indexOf('mceItemHidden')==-1){path[path.length]=parentNode;}parentNode=parentNode.parentNode;}var html="";for(var i=path.length-1;i>=0;i--){var nodeName=path[i].nodeName.toLowerCase();var nodeData="";if(nodeName=="b"){nodeName="strong";}if(nodeName=="i"){nodeName="em";}if(nodeName=="span"){var cn=tinyMCE.getAttrib(path[i],"class");if(cn!=""&&cn.indexOf('mceItem')==-1)nodeData+="class: "+cn+" ";var st=tinyMCE.getAttrib(path[i],"style");if(st!=""){st=tinyMCE.serializeStyle(tinyMCE.parseStyle(st));nodeData+="style: "+st+" ";}}if(nodeName=="font"){if(tinyMCE.getParam("convert_fonts_to_spans"))nodeName="span";var face=tinyMCE.getAttrib(path[i],"face");if(face!="")nodeData+="font: "+face+" ";var size=tinyMCE.getAttrib(path[i],"size");if(size!="")nodeData+="size: "+size+" ";var color=tinyMCE.getAttrib(path[i],"color");if(color!="")nodeData+="color: "+color+" ";}if(getAttrib(path[i],'id')!=""){nodeData+="id: "+path[i].getAttribute('id')+" ";}var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1)nodeData+="class: "+className+" ";if(getAttrib(path[i],'src')!=""){var src=tinyMCE.getAttrib(path[i],"mce_src");if(src=="")src=tinyMCE.getAttrib(path[i],"src");nodeData+="src: "+src+" ";}if(getAttrib(path[i],'href')!=""){var href=tinyMCE.getAttrib(path[i],"mce_href");if(href=="")href=tinyMCE.getAttrib(path[i],"href");nodeData+="href: "+href+" ";}if(nodeName=="img"&&tinyMCE.getAttrib(path[i],"class").indexOf('mceItemFlash')!=-1){nodeName="flash";nodeData="src: "+path[i].getAttribute('title');}if(nodeName=="a"&&(anchor=tinyMCE.getAttrib(path[i],"name"))!=""){nodeName="a";nodeName+="#"+anchor;nodeData="";}if(getAttrib(path[i],'name').indexOf("mce_")!=0){var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1){nodeName+="."+className;}}var cmd='tinyMCE.execInstanceCommand(\''+editor_id+'\',\'mceSelectNodeDepth\',false,\''+i+'\');';html+='<a title="'+nodeData+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" target="_self" class="mcePathItem">'+nodeName+'</a>';if(i>0){html+=" &raquo; ";}}pathElm.innerHTML='<a href="#" accesskey="x"></a>'+tinyMCE.getLang('lang_theme_path')+": "+html+'&#160;';}tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClass(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClass(editor_id+'_link','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_unlink','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_outdent','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_image','mceButtonNormal');tinyMCE.switchClass(editor_id+'_hr','mceButtonNormal');if(node.nodeName=="A"&&tinyMCE.getAttrib(node,"class").indexOf('mceItemAnchor')!=-1)tinyMCE.switchClass(editor_id+'_anchor','mceButtonSelected');var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClass(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal');tinyMCE.switchClass(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal');}tinyMCE.switchClass(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal');if(undo_levels!=-1){tinyMCE.switchClass(editor_id+'_undo','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_redo','mceButtonDisabled');}if(tinyMCE.getParentElement(node,"li,blockquote"))tinyMCE.switchClass(editor_id+'_outdent','mceButtonNormal');if(undo_index!=-1&&(undo_index<undo_levels-1&&undo_levels>0))tinyMCE.switchClass(editor_id+'_redo','mceButtonNormal');if(undo_index!=-1&&(undo_index>0&&undo_levels>0))tinyMCE.switchClass(editor_id+'_undo','mceButtonNormal');var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i<selectElm.options.length;i++){if(selectElm.options[i].value==classNode.className){index=i;breakOut=true;break;}}}}while(!breakOut&&classNode!=null&&(classNode=classNode.parentNode)!=null);selectElm.selectedIndex=index;}var selectElm=document.getElementById(editor_id+"_formatSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"p,div,h1,h2,h3,h4,h5,h6,pre,address");if(elm)selectByValue(selectElm,"<"+elm.nodeName.toLowerCase()+">");else selectByValue(selectElm,"");}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){if(!tinyMCE.isSafari&&!(tinyMCE.isMSIE&&!tinyMCE.isOpera)){var face=inst.queryCommandValue('FontName');face=face==null||face==""?"":face;selectByValue(selectElm,face,face!="");}else{var elm=tinyMCE.getParentElement(node,"font","face");if(elm){var family=tinyMCE.getAttrib(elm,"face");if(family=='')family=''+elm.style.fontFamily;if(!selectByValue(selectElm,family,family!=""))selectByValue(selectElm,"");}else selectByValue(selectElm,"");}}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){if(!tinyMCE.isSafari&&!tinyMCE.isOpera){var size=inst.queryCommandValue('FontSize');selectByValue(selectElm,size==null||size==""?"0":size);}else{var elm=tinyMCE.getParentElement(node,"font","size");if(elm){var size=tinyMCE.getAttrib(elm,"size");if(size==''){var sizes=new Array('','8px','10px','12px','14px','18px','24px','36px');size=''+elm.style.fontSize;for(var i=0;i<sizes.length;i++){if((''+sizes[i])==size){size=i;break;}}}if(!selectByValue(selectElm,size))selectByValue(selectElm,"");}else selectByValue(selectElm,"0");}}alignNode=node;breakOut=false;do{if(!alignNode.getAttribute||!alignNode.getAttribute('align'))continue;switch(alignNode.getAttribute('align').toLowerCase()){case"left":tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonSelected');breakOut=true;break;case"right":tinyMCE.switchClass(editor_id+'_justifyright','mceButtonSelected');breakOut=true;break;case"middle":case"center":tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonSelected');breakOut=true;break;case"justify":tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonSelected');breakOut=true;break;}}while(!breakOut&&(alignNode=alignNode.parentNode)!=null);var div=tinyMCE.getParentElement(node,"div");if(div&&div.style.textAlign=="center")tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonSelected');if(!setup_content){var ar=new Array("Bold","_bold","Italic","_italic","Strikethrough","_strikethrough","superscript","_sup","subscript","_sub");for(var i=0;i<ar.length;i+=2){if(inst.queryCommandState(ar[i]))tinyMCE.switchClass(editor_id+ar[i+1],'mceButtonSelected');}if(inst.queryCommandState("Underline")&&(node.parentNode==null||node.parentNode.nodeName!="A"))tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected');}do{switch(node.nodeName){case"UL":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"OL":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break;case"HR":tinyMCE.switchClass(editor_id+'_hr','mceButtonSelected');break;case"IMG":if(getAttrib(node,'name').indexOf('mce_')!=0){tinyMCE.switchClass(editor_id+'_image','mceButtonSelected');}break;}}while((node=node.parentNode)!=null);},_setupCSSClasses:function(editor_id){var i,selectElm;if(!TinyMCE_AdvancedTheme._autoImportCSSClasses)return;selectElm=document.getElementById(editor_id+'_styleSelect');if(selectElm&&selectElm.getAttribute('cssImported')!='true'){var csses=tinyMCE.getCSSClasses(editor_id);if(csses&&selectElm){for(i=0;i<csses.length;i++)selectElm.options[selectElm.options.length]=new Option(csses[i],csses[i]);}if(csses!=null&&csses.length>0)selectElm.setAttribute('cssImported','true');}},_setCookie:function(name,value,expires,path,domain,secure){var curCookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+escape(path):"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");document.cookie=curCookie;},_getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null;}else begin+=2;var end=document.cookie.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin+prefix.length,end));},_resizeTo:function(inst,w,h,set_w){var editorContainer=document.getElementById(inst.editorId+'_parent');var tableElm=editorContainer.firstChild;var iframe=inst.iframeElement;if(w==null||w=="null"){set_w=false;w=0;}if(h==null||h=="null")return;w=parseInt(w);h=parseInt(h);if(tinyMCE.isGecko){w+=2;h+=2;}var dx=w-tableElm.clientWidth;var dy=h-tableElm.clientHeight;w=w<1?30:w;h=h<1?30:h;if(set_w)tableElm.style.width=w+"px";tableElm.style.height=h+"px";iw=iframe.clientWidth+dx;ih=iframe.clientHeight+dy;iw=iw<1?30:iw;ih=ih<1?30:ih;if(tinyMCE.isGecko){iw-=2;ih-=2;}if(set_w)iframe.style.width=iw+"px";iframe.style.height=ih+"px";if(set_w){var tableBodyElm=tableElm.firstChild;var minIframeWidth=tableBodyElm.scrollWidth;if(inst.iframeElement.clientWidth<minIframeWidth){dx=minIframeWidth-inst.iframeElement.clientWidth;inst.iframeElement.style.width=(iw+dx)+"px";}}},_resizeEventHandler:function(e){var resizer=TinyMCE_AdvancedTheme._resizer;if(!resizer.resizing)return;e=typeof(e)=="undefined"?window.event:e;var dx=e.screenX-resizer.downX;var dy=e.screenY-resizer.downY;var resizeBox=resizer.resizeBox;var editorId=resizer.editorId;switch(e.type){case"mousemove":var w,h;w=resizer.width+dx;h=resizer.height+dy;w=w<1?1:w;h=h<1?1:h;if(resizer.horizontal)resizeBox.style.width=w+"px";resizeBox.style.height=h+"px";break;case"mouseup":TinyMCE_AdvancedTheme._setResizing(e,editorId,false);TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId),resizer.width+dx,resizer.height+dy,resizer.horizontal);if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var expires=new Date();expires.setTime(expires.getTime()+3600000*24*30);TinyMCE_AdvancedTheme._setCookie("TinyMCE_"+editorId+"_width",""+(resizer.horizontal?resizer.width+dx:""),expires);TinyMCE_AdvancedTheme._setCookie("TinyMCE_"+editorId+"_height",""+(resizer.height+dy),expires);}break;}},_setResizing:function(e,editor_id,state){e=typeof(e)=="undefined"?window.event:e;var resizer=TinyMCE_AdvancedTheme._resizer;var editorContainer=document.getElementById(editor_id+'_parent');var editorArea=document.getElementById(editor_id+'_parent').firstChild;var resizeBox=document.getElementById(editor_id+'_resize_box');var inst=tinyMCE.getInstanceById(editor_id);if(state){var width=editorArea.clientWidth;var height=editorArea.clientHeight;resizeBox.style.width=width+"px";resizeBox.style.height=height+"px";resizer.iframeWidth=inst.iframeElement.clientWidth;resizer.iframeHeight=inst.iframeElement.clientHeight;editorArea.style.display="none";resizeBox.style.display="block";if(!resizer.eventHandlers){if(tinyMCE.isMSIE)tinyMCE.addEvent(document,"mousemove",TinyMCE_AdvancedTheme._resizeEventHandler);else tinyMCE.addEvent(window,"mousemove",TinyMCE_AdvancedTheme._resizeEventHandler);tinyMCE.addEvent(document,"mouseup",TinyMCE_AdvancedTheme._resizeEventHandler);resizer.eventHandlers=true;}resizer.resizing=true;resizer.downX=e.screenX;resizer.downY=e.screenY;resizer.width=parseInt(resizeBox.style.width);resizer.height=parseInt(resizeBox.style.height);resizer.editorId=editor_id;resizer.resizeBox=resizeBox;resizer.horizontal=tinyMCE.getParam("theme_advanced_resize_horizontal",true);}else{resizer.resizing=false;resizeBox.style.display="none";editorArea.style.display=tinyMCE.isMSIE&&!tinyMCE.isOpera?"block":"table";tinyMCE.execCommand('mceResetDesignMode');}},_insertImage:function(src,alt,border,hspace,vspace,width,height,align,title,onmouseover,onmouseout){tinyMCE.execCommand('mceBeginUndoLevel');if(src=="")return;if(!tinyMCE.imgElement&&tinyMCE.isSafari){var html="";html+='<img src="'+src+'" alt="'+alt+'"';html+=' border="'+border+'" hspace="'+hspace+'"';html+=' vspace="'+vspace+'" width="'+width+'"';html+=' height="'+height+'" align="'+align+'" title="'+title+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'" />';tinyMCE.execCommand("mceInsertContent",false,html);}else{if(!tinyMCE.imgElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari)tinyMCE.execCommand("mceInsertContent",false,'<img src="'+tinyMCE.uniqueURL+'" />');else tinyMCE.selectedInstance.contentDocument.execCommand("insertimage",false,tinyMCE.uniqueURL);tinyMCE.imgElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"img","src",tinyMCE.uniqueURL);}}if(tinyMCE.imgElement){var needsRepaint=false;var msrc=src;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, tinyMCE.imgElement);");if(tinyMCE.getParam('convert_urls'))msrc=src;if(onmouseover&&onmouseover!="")onmouseover="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, tinyMCE.imgElement);")+"';";if(onmouseout&&onmouseout!="")onmouseout="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, tinyMCE.imgElement);")+"';";if(typeof(title)=="undefined")title=alt;if(width!=tinyMCE.imgElement.getAttribute("width")||height!=tinyMCE.imgElement.getAttribute("height")||align!=tinyMCE.imgElement.getAttribute("align"))needsRepaint=true;tinyMCE.setAttrib(tinyMCE.imgElement,'src',src);tinyMCE.setAttrib(tinyMCE.imgElement,'mce_src',msrc);tinyMCE.setAttrib(tinyMCE.imgElement,'alt',alt);tinyMCE.setAttrib(tinyMCE.imgElement,'title',title);tinyMCE.setAttrib(tinyMCE.imgElement,'align',align);tinyMCE.setAttrib(tinyMCE.imgElement,'border',border,true);tinyMCE.setAttrib(tinyMCE.imgElement,'hspace',hspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'vspace',vspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'width',width,true);tinyMCE.setAttrib(tinyMCE.imgElement,'height',height,true);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseover',onmouseover);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseout',onmouseout);if(width&&width!="")tinyMCE.imgElement.style.pixelWidth=width;if(height&&height!="")tinyMCE.imgElement.style.pixelHeight=height;if(needsRepaint)tinyMCE.selectedInstance.repaint();}tinyMCE.execCommand('mceEndUndoLevel');},_insertLink:function(href,target,title,onclick,style_class){tinyMCE.execCommand('mceBeginUndoLevel');if(tinyMCE.selectedInstance&&tinyMCE.selectedElement&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){var doc=tinyMCE.selectedInstance.getDoc();var linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");var newLink=false;if(!linkElement){linkElement=doc.createElement("a");newLink=true;}var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(linkElement,'href',thref);tinyMCE.setAttrib(linkElement,'mce_href',mhref);tinyMCE.setAttrib(linkElement,'target',target);tinyMCE.setAttrib(linkElement,'title',title);tinyMCE.setAttrib(linkElement,'onclick',onclick);tinyMCE.setAttrib(linkElement,'class',style_class);if(newLink){linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));tinyMCE.selectedElement.parentNode.replaceChild(linkElement,tinyMCE.selectedElement);}return;}if(!tinyMCE.linkElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari){tinyMCE.execCommand("mceInsertContent",false,'<a href="'+tinyMCE.uniqueURL+'">'+tinyMCE.selectedInstance.selection.getSelectedHTML()+'</a>');}else tinyMCE.selectedInstance.contentDocument.execCommand("createlink",false,tinyMCE.uniqueURL);tinyMCE.linkElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);var elementArray=tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);for(var i=0;i<elementArray.length;i++){var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, elementArray[i]);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(elementArray[i],'href',thref);tinyMCE.setAttrib(elementArray[i],'mce_href',mhref);tinyMCE.setAttrib(elementArray[i],'target',target);tinyMCE.setAttrib(elementArray[i],'title',title);tinyMCE.setAttrib(elementArray[i],'onclick',onclick);tinyMCE.setAttrib(elementArray[i],'class',style_class);}tinyMCE.linkElement=elementArray[0];}if(tinyMCE.linkElement){var mhref=href;href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(tinyMCE.linkElement,'href',href);tinyMCE.setAttrib(tinyMCE.linkElement,'mce_href',mhref);tinyMCE.setAttrib(tinyMCE.linkElement,'target',target);tinyMCE.setAttrib(tinyMCE.linkElement,'title',title);tinyMCE.setAttrib(tinyMCE.linkElement,'onclick',onclick);tinyMCE.setAttrib(tinyMCE.linkElement,'class',style_class);}tinyMCE.execCommand('mceEndUndoLevel');}};tinyMCE.addTheme("advanced",TinyMCE_AdvancedTheme);tinyMCE.addButtonMap(TinyMCE_AdvancedTheme._buttonMap);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -1,591 +1,1411 @@
+/**
+ * $RCSfile: editor_template_src.js,v $
+ * $Revision: 1.96 $
+ * $Date: 2006/04/18 13:32:52 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
 /* Import theme specific language pack */
-tinyMCE.importThemeLanguagePack();
+tinyMCE.importThemeLanguagePack('advanced');
 
-// Variable declarations
-var TinyMCE_advanced_autoImportCSSClasses = true;
-var TinyMCE_advanced_foreColor = "#000000";
-var TinyMCE_advanced_anchorName = "";
-var TinyMCE_advanced_buttons = [
+var TinyMCE_AdvancedTheme = {
+	// Private theme fields
+	_autoImportCSSClasses : true,
+	_resizer : {},
+	_buttons : [
 		// Control id, button img, button title, command, user_interface, value
-		['bold', '{$lang_bold_img}', '{$lang_bold_desc}', 'Bold'],
-		['italic', '{$lang_italic_img}', '{$lang_italic_desc}', 'Italic'],
-		['underline', '{$lang_underline_img}', '{$lang_underline_desc}', 'Underline'],
-		['strikethrough', 'strikethrough.gif', '{$lang_striketrough_desc}', 'Strikethrough'],
-		['justifyleft', 'left.gif', '{$lang_justifyleft_desc}', 'JustifyLeft'],
-		['justifycenter', 'center.gif', '{$lang_justifycenter_desc}', 'JustifyCenter'],
-		['justifyright', 'right.gif', '{$lang_justifyright_desc}', 'JustifyRight'],
-		['justifyfull', 'full.gif', '{$lang_justifyfull_desc}', 'JustifyFull'],
-		['bullist', 'bullist.gif', '{$lang_bullist_desc}', 'InsertUnorderedList'],
-		['numlist', 'numlist.gif', '{$lang_numlist_desc}', 'InsertOrderedList'],
-		['outdent', 'outdent.gif', '{$lang_outdent_desc}', 'Outdent'],
-		['indent', 'indent.gif', '{$lang_indent_desc}', 'Indent'],
-		['cut', 'cut.gif', '{$lang_cut_desc}', 'Cut'],
-		['copy', 'copy.gif', '{$lang_copy_desc}', 'Copy'],
-		['paste', 'paste.gif', '{$lang_paste_desc}', 'Paste'],
-		['undo', 'undo.gif', '{$lang_undo_desc}', 'Undo'],
-		['redo', 'redo.gif', '{$lang_redo_desc}', 'Redo'],
-		['link', 'link.gif', '{$lang_link_desc}', 'mceLink', true],
-		['unlink', 'unlink.gif', '{$lang_unlink_desc}', 'unlink'],
-		['image', 'image.gif', '{$lang_image_desc}', 'mceImage', true],
-		['cleanup', 'cleanup.gif', '{$lang_cleanup_desc}', 'mceCleanup'],
-		['help', 'help.gif', '{$lang_help_desc}', 'mceHelp'],
-		['code', 'code.gif', '{$lang_theme_code_desc}', 'mceCodeEditor'],
-		['table', 'table.gif', '{$lang_theme_table_desc}', 'mceInsertTable', true],
-		['row_before', 'table_insert_row_before.gif', '{$lang_theme_table_insert_row_before_desc}', 'mceTableInsertRowBefore'],
-		['row_after', 'table_insert_row_after.gif', '{$lang_theme_table_insert_row_after_desc}', 'mceTableInsertRowAfter'],
-		['delete_row', 'table_delete_row.gif', '{$lang_theme_table_delete_row_desc}', 'mceTableDeleteRow'],
-		['col_before', 'table_insert_col_before.gif', '{$lang_theme_table_insert_col_before_desc}', 'mceTableInsertColBefore'],
-		['col_after', 'table_insert_col_after.gif', '{$lang_theme_table_insert_col_after_desc}', 'mceTableInsertColAfter'],
-		['delete_col', 'table_delete_col.gif', '{$lang_theme_table_delete_col_desc}', 'mceTableDeleteCol'],
-		['hr', 'hr.gif', '{$lang_theme_hr_desc}', 'inserthorizontalrule'],
-		['removeformat', 'removeformat.gif', '{$lang_theme_removeformat_desc}', 'removeformat'],
-		['sub', 'sub.gif', '{$lang_theme_sub_desc}', 'subscript'],
-		['sup', 'sup.gif', '{$lang_theme_sup_desc}', 'superscript'],
-		['forecolor', 'forecolor.gif', '{$lang_theme_forecolor_desc}', 'mceForeColor'],
-		['charmap', 'charmap.gif', '{$lang_theme_charmap_desc}', 'mceCharMap'],
-		['visualaid', 'visualaid.gif', '{$lang_theme_visualaid_desc}', 'mceToggleVisualAid'],
-		['anchor', 'anchor.gif', '{$lang_theme_anchor_desc}', 'mceInsertAnchor']
-	];
+		['bold', '{$lang_bold_img}', 'lang_bold_desc', 'Bold'],
+		['italic', '{$lang_italic_img}', 'lang_italic_desc', 'Italic'],
+		['underline', '{$lang_underline_img}', 'lang_underline_desc', 'Underline'],
+		['strikethrough', 'strikethrough.gif', 'lang_striketrough_desc', 'Strikethrough'],
+		['justifyleft', 'justifyleft.gif', 'lang_justifyleft_desc', 'JustifyLeft'],
+		['justifycenter', 'justifycenter.gif', 'lang_justifycenter_desc', 'JustifyCenter'],
+		['justifyright', 'justifyright.gif', 'lang_justifyright_desc', 'JustifyRight'],
+		['justifyfull', 'justifyfull.gif', 'lang_justifyfull_desc', 'JustifyFull'],
+		['bullist', 'bullist.gif', 'lang_bullist_desc', 'InsertUnorderedList'],
+		['numlist', 'numlist.gif', 'lang_numlist_desc', 'InsertOrderedList'],
+		['outdent', 'outdent.gif', 'lang_outdent_desc', 'Outdent'],
+		['indent', 'indent.gif', 'lang_indent_desc', 'Indent'],
+		['cut', 'cut.gif', 'lang_cut_desc', 'Cut'],
+		['copy', 'copy.gif', 'lang_copy_desc', 'Copy'],
+		['paste', 'paste.gif', 'lang_paste_desc', 'Paste'],
+		['undo', 'undo.gif', 'lang_undo_desc', 'Undo'],
+		['redo', 'redo.gif', 'lang_redo_desc', 'Redo'],
+		['link', 'link.gif', 'lang_link_desc', 'mceLink', true],
+		['unlink', 'unlink.gif', 'lang_unlink_desc', 'unlink'],
+		['image', 'image.gif', 'lang_image_desc', 'mceImage', true],
+		['cleanup', 'cleanup.gif', 'lang_cleanup_desc', 'mceCleanup'],
+		['help', 'help.gif', 'lang_help_desc', 'mceHelp'],
+		['code', 'code.gif', 'lang_theme_code_desc', 'mceCodeEditor'],
+		['hr', 'hr.gif', 'lang_theme_hr_desc', 'inserthorizontalrule'],
+		['removeformat', 'removeformat.gif', 'lang_theme_removeformat_desc', 'removeformat'],
+		['sub', 'sub.gif', 'lang_theme_sub_desc', 'subscript'],
+		['sup', 'sup.gif', 'lang_theme_sup_desc', 'superscript'],
+		['forecolor', 'forecolor.gif', 'lang_theme_forecolor_desc', 'mceForeColor', true],
+		['backcolor', 'backcolor.gif', 'lang_theme_backcolor_desc', 'mceBackColor', true],
+		['charmap', 'charmap.gif', 'lang_theme_charmap_desc', 'mceCharMap'],
+		['visualaid', 'visualaid.gif', 'lang_theme_visualaid_desc', 'mceToggleVisualAid'],
+		['anchor', 'anchor.gif', 'lang_theme_anchor_desc', 'mceInsertAnchor'],
+		['newdocument', 'newdocument.gif', 'lang_newdocument_desc', 'mceNewDocument']
+	],
+
+	_buttonMap : 'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells',
+
+	/**
+	 * Returns HTML code for the specificed control.
+	 */
+	getControlHTML : function(button_name) {
+		var i, x;
+
+		// Lookup button in button list
+		for (i=0; i<TinyMCE_AdvancedTheme._buttons.length; i++) {
+			var but = TinyMCE_AdvancedTheme._buttons[i];
 
-/**
- * Returns HTML code for the specificed control.
- */
-function TinyMCE_advanced_getControlHTML(button_name) {
-	// Lookup button in button list
-	for (var i=0; i<TinyMCE_advanced_buttons.length; i++) {
-		var but = TinyMCE_advanced_buttons[i];
-		if (but[0] == button_name)
-			return '<img id="{$editor_id}_' + but[0] + '" src="{$themeurl}/images/' + but[1] + '" title="' + but[2] + '" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ')">';
-	}
+			if (but[0] == button_name)
+				return tinyMCE.getButtonHTML(but[0], but[2], '{$themeurl}/images/' + but[1], but[3], (but.length > 4 ? but[4] : false), (but.length > 5 ? but[5] : null));
+		}
 
-	// Custom controlls other than buttons
-	switch (button_name) {
-		case "formatselect":
-			var html = '<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';
-			var formats = tinyMCE.getParam("theme_advanced_blockformats", "p,address,pre,h1,h2,h3,h4,h5,h6", true).split(',');
-			var lookup = [
-				['p', '{$lang_theme_paragraph}'],
-				['address', '{$lang_theme_address}'],
-				['pre', '{$lang_theme_pre}'],
-				['h1', '{$lang_theme_h1}'],
-				['h2', '{$lang_theme_h2}'],
-				['h3', '{$lang_theme_h3}'],
-				['h4', '{$lang_theme_h4}'],
-				['h5', '{$lang_theme_h5}'],
-				['h6', '{$lang_theme_h6}']
-			];
-
-			// Build format select
-			for (var i=0; i<formats.length; i++) {
-				for (var x=0; x<lookup.length; x++) {
-					if (formats[i] == lookup[x][0])
-						html += '<option value="<' + lookup[x][0] + '>">' + lookup[x][1] + '</option>';
+		// Custom controlls other than buttons
+		switch (button_name) {
+			case "formatselect":
+				var html = '<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';
+				var formats = tinyMCE.getParam("theme_advanced_blockformats", "p,address,pre,h1,h2,h3,h4,h5,h6", true).split(',');
+				var lookup = [
+					['p', '{$lang_theme_paragraph}'],
+					['address', '{$lang_theme_address}'],
+					['pre', '{$lang_theme_pre}'],
+					['h1', '{$lang_theme_h1}'],
+					['h2', '{$lang_theme_h2}'],
+					['h3', '{$lang_theme_h3}'],
+					['h4', '{$lang_theme_h4}'],
+					['h5', '{$lang_theme_h5}'],
+					['h6', '{$lang_theme_h6}'],
+					['div', '{$lang_theme_div}'],
+					['blockquote', '{$lang_theme_blockquote}'],
+					['code', '{$lang_theme_code}'],
+					['dt', '{$lang_theme_dt}'],
+					['dd', '{$lang_theme_dd}'],
+					['samp', '{$lang_theme_samp}']
+				];
+
+				html += '<option value="">{$lang_theme_block}</option>';
+
+				// Build format select
+				for (var i=0; i<formats.length; i++) {
+					for (var x=0; x<lookup.length; x++) {
+						if (formats[i] == lookup[x][0])
+							html += '<option value="&lt;' + lookup[x][0] + '&gt;">' + lookup[x][1] + '</option>';
+					}
 				}
-			}
 
-			html += '</select>';
-
-			return html;
-
-
-		case "styleselect":
-			return '<select id="{$editor_id}_styleSelect" onmousedown="TinyMCE_advanced_setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';
-
-		case "fontselect":
-			return '<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\
-					<option value="">{$lang_theme_fontdefault}</option>\
-					<option value="arial,helvetica,sans-serif">Arial</option>\
-					<option value="times new roman,times,serif">Times New Roman</option>\
-					<option value="verdana,arial,helvetica,sans-serif">Verdana</option>\
-					<option value="courier new,courier,monospace">Courier</option>\
-					<option value="georgia,times new roman,times,serif">Georgia</option>\
-					<option value="tahoma,arial,helvetica,sans-serif">Tahoma</option>\
-					</select>';
-
-		case "fontsizeselect":
-			return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\
-					<option value="1">1 (8 pt)</option>\
-					<option value="2">2 (10 pt)</option>\
-					<option value="3">3 (12 pt)</option>\
-					<option value="4">4 (14 pt)</option>\
-					<option value="5">5 (18 pt)</option>\
-					<option value="6">6 (24 pt)</option>\
-					<option value="7">7 (36 pt)</option>\
-					</select>';
+				html += '</select>';
 
-		case "separator":
-			return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">';
+				return html;
 
-        case "spacer":
-			return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';
+			case "styleselect":
+				return '<select id="{$editor_id}_styleSelect" onmousedown="tinyMCE.themes.advanced._setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event,this,window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';
 
-		case "rowseparator":
-			return '<br />';
-	}
+			case "fontselect":
+				var fontHTML = '<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';
+				var iFonts = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
+				var nFonts = 'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';
+				var fonts = tinyMCE.getParam("theme_advanced_fonts", nFonts).split(';');
+				for (i=0; i<fonts.length; i++) {
+					if (fonts[i] != '') {
+						var parts = fonts[i].split('=');
+						fontHTML += '<option value="' + parts[1] + '">' + parts[0] + '</option>';
+					}
+				}
 
-	return "";
-}
+				fontHTML += '</select>';
+				return fontHTML;
 
-/**
- * Theme specific exec command handeling.
- */
-function TinyMCE_advanced_execCommand(editor_id, element, command, user_interface, value) {
-	switch (command) {
-		case "mceForeColor":
-			var template = new Array();
-			var inputColor = TinyMCE_advanced_foreColor;
-
-			if (!inputColor)
-				inputColor = "#000000";
-
-			template['file'] = 'color_picker.htm';
-			template['width'] = 210;
-			template['height'] = 200;
+			case "fontsizeselect":
+				return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+
+						'<option value="0">{$lang_theme_font_size}</option>'+
+						'<option value="1">1 (8 pt)</option>'+
+						'<option value="2">2 (10 pt)</option>'+
+						'<option value="3">3 (12 pt)</option>'+
+						'<option value="4">4 (14 pt)</option>'+
+						'<option value="5">5 (18 pt)</option>'+
+						'<option value="6">6 (24 pt)</option>'+
+						'<option value="7">7 (36 pt)</option>'+
+						'</select>';
+
+			case "|":
+			case "separator":
+				return '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
 
-			tinyMCE.openWindow(template, {editor_id : editor_id, command : "forecolor", input_color : inputColor});
-			return true;
+			case "spacer":
+				return '<img src="{$themeurl}/images/separator.gif" width="2" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';
 
-		case "mceCodeEditor":
-			var template = new Array();
+			case "rowseparator":
+				return '<br />';
+		}
 
-			template['file'] = 'source_editor.htm';
-			template['width'] = tinyMCE.getParam("theme_advanced_source_editor_width", 500);
-			template['height'] = tinyMCE.getParam("theme_advanced_source_editor_height", 400);
+		return "";
+	},
 
-			tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no"});
-			return true;
+	/**
+	 * Theme specific execcommand handling.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case "mceLink":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var doc = inst.getDoc();
+				var selectedText = "";
+
+				if (tinyMCE.isMSIE) {
+					var rng = doc.selection.createRange();
+					selectedText = rng.text;
+				} else
+					selectedText = inst.getSel().toString();
+
+				if (!tinyMCE.linkElement) {
+					if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0))
+						return true;
+				}
+
+				var href = "", target = "", title = "", onclick = "", action = "insert", style_class = "";
+
+				if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a")
+					tinyMCE.linkElement = tinyMCE.selectedElement;
+
+				// Is anchor not a link
+				if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "")
+					tinyMCE.linkElement = null;
+
+				if (tinyMCE.linkElement) {
+					href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href');
+					target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target');
+					title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title');
+					onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+					style_class = tinyMCE.getAttrib(tinyMCE.linkElement, 'class');
+
+					// Try old onclick to if copy/pasted content
+					if (onclick == "")
+						onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+
+					onclick = tinyMCE.cleanupEventStr(onclick);
+
+					href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
+
+					// Use mce_href if defined
+					mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_href');
+					if (mceRealHref != "") {
+						href = mceRealHref;
+
+						if (tinyMCE.getParam('convert_urls'))
+							href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
+					}
+
+					action = "update";
+				}
+
+				var template = new Array();
+
+				template['file'] = 'link.htm';
+				template['width'] = 310;
+				template['height'] = 200;
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0);
+
+				if (inst.settings['insertlink_callback']) {
+					var returnVal = eval(inst.settings['insertlink_callback'] + "(href, target, title, onclick, action, style_class);");
+					if (returnVal && returnVal['href'])
+						TinyMCE_AdvancedTheme._insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick'], returnVal['style_class']);
+				} else {
+					tinyMCE.openWindow(template, {href : href, target : target, title : title, onclick : onclick, action : action, className : style_class, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceImage":
+				var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = "";
+				var title = "", onmouseover = "", onmouseout = "", action = "insert";
+				var img = tinyMCE.imgElement;
+				var inst = tinyMCE.getInstanceById(editor_id);
+
+				if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
+					img = tinyMCE.selectedElement;
+					tinyMCE.imgElement = img;
+				}
+
+				if (img) {
+					// Is it a internal MCE visual aid image, then skip this one.
+					if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0)
+						return true;
+
+					src = tinyMCE.getAttrib(img, 'src');
+					alt = tinyMCE.getAttrib(img, 'alt');
+
+					// Try polling out the title
+					if (alt == "")
+						alt = tinyMCE.getAttrib(img, 'title');
+
+					// Fix width/height attributes if the styles is specified
+					if (tinyMCE.isGecko) {
+						var w = img.style.width;
+						if (w != null && w != "")
+							img.setAttribute("width", w);
+
+						var h = img.style.height;
+						if (h != null && h != "")
+							img.setAttribute("height", h);
+					}
+
+					border = tinyMCE.getAttrib(img, 'border');
+					hspace = tinyMCE.getAttrib(img, 'hspace');
+					vspace = tinyMCE.getAttrib(img, 'vspace');
+					width = tinyMCE.getAttrib(img, 'width');
+					height = tinyMCE.getAttrib(img, 'height');
+					align = tinyMCE.getAttrib(img, 'align');
+					onmouseover = tinyMCE.getAttrib(img, 'onmouseover');
+					onmouseout = tinyMCE.getAttrib(img, 'onmouseout');
+					title = tinyMCE.getAttrib(img, 'title');
+
+					// Is realy specified?
+					if (tinyMCE.isMSIE) {
+						width = img.attributes['width'].specified ? width : "";
+						height = img.attributes['height'].specified ? height : "";
+					}
+
+					//onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover));
+					//onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout));
+
+					src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
+
+					// Use mce_src if defined
+					mceRealSrc = tinyMCE.getAttrib(img, 'mce_src');
+					if (mceRealSrc != "") {
+						src = mceRealSrc;
+
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
+					}
+
+					//if (onmouseover != "")
+					//	onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);");
+
+					//if (onmouseout != "")
+					//	onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);");
+
+					action = "update";
+				}
+
+				var template = new Array();
+
+				template['file'] = 'image.htm?src={$src}';
+				template['width'] = 355;
+				template['height'] = 265 + (tinyMCE.isMSIE ? 25 : 0);
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0);
+
+				if (inst.settings['insertimage_callback']) {
+					var returnVal = eval(inst.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");
+					if (returnVal && returnVal['src'])
+						TinyMCE_AdvancedTheme._insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']);
+				} else
+					tinyMCE.openWindow(template, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action, inline : "yes"});
 
-		case "mceCharMap":
-			var template = new Array();
+				return true;
 
-			template['file'] = 'charmap.htm';
-			template['width'] = 550;
-			template['height'] = 280;
+			case "mceForeColor":
+				var template = new Array();
+				var elm = tinyMCE.selectedInstance.getFocusElement();
+				var inputColor = tinyMCE.getAttrib(elm, "color");
 
-			tinyMCE.openWindow(template, {editor_id : editor_id});
+				if (inputColor == '')
+					inputColor = elm.style.color;
+
+				if (!inputColor)
+					inputColor = "#000000";
+
+				template['file'] = 'color_picker.htm';
+				template['width'] = 220;
+				template['height'] = 190;
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "forecolor", input_color : inputColor});
 			return true;
 
-		case "mceInsertAnchor":
-			var template = new Array();
+			case "mceBackColor":
+				var template = new Array();
+				var elm = tinyMCE.selectedInstance.getFocusElement();
+				var inputColor = elm.style.backgroundColor;
+
+				if (!inputColor)
+					inputColor = "#000000";
+
+				template['file'] = 'color_picker.htm';
+				template['width'] = 220;
+				template['height'] = 190;
 
-			template['file'] = 'anchor.htm';
-			template['width'] = 320;
-			template['height'] = 130;
+				template['width'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_height', 0);
 
-			tinyMCE.openWindow(template, {editor_id : editor_id, name : TinyMCE_advanced_anchorName, action : (TinyMCE_advanced_anchorName == "" ? "insert" : "update")});
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "HiliteColor", input_color : inputColor});
+				//mceBackColor
 			return true;
-	}
 
-	// Default behavior
-	return false;
-}
+			case "mceColorPicker":
+				if (user_interface) {
+					var template = new Array();
+					var inputColor = value['document'].getElementById(value['element_id']).value;
+
+					template['file'] = 'color_picker.htm';
+					template['width'] = 220;
+					template['height'] = 190;
+					template['close_previous'] = "no";
+
+					template['width'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height', 0);
+
+					if (typeof(value['store_selection']) == "undefined")
+						value['store_selection'] = true;
+
+					tinyMCE.lastColorPickerValue = value;
+					tinyMCE.openWindow(template, {editor_id : editor_id, mce_store_selection : value['store_selection'], inline : "yes", command : "mceColorPicker", input_color : inputColor});
+				} else {
+					var savedVal = tinyMCE.lastColorPickerValue;
+					var elm = savedVal['document'].getElementById(savedVal['element_id']);
+					elm.value = value;
 
-/**
- * Editor instance template function.
- */
-function TinyMCE_advanced_getEditorTemplate(settings) {
-	function removeFromArray(in_array, remove_array) {
-		var outArray = new Array();
-		for (var i=0; i<in_array.length; i++) {
-			skip = false;
+					if (elm.onchange != null && elm.onchange != '')
+						eval('elm.onchange();');
+				}
+			return true;
+
+			case "mceCodeEditor":
+				var template = new Array();
+
+				template['file'] = 'source_editor.htm';
+				template['width'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_width", 720));
+				template['height'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_height", 580));
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no", inline : "yes"});
+				return true;
+
+			case "mceCharMap":
+				var template = new Array();
+
+				template['file'] = 'charmap.htm';
+				template['width'] = 550 + (tinyMCE.isOpera ? 40 : 0);
+				template['height'] = 250;
+
+				template['width'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				return true;
+
+			case "mceInsertAnchor":
+				var template = new Array();
+
+				template['file'] = 'anchor.htm';
+				template['width'] = 320;
+				template['height'] = 90 + (tinyMCE.isNS7 ? 30 : 0);
 
-			for (var j=0; j<remove_array.length; j++) {
-				if (in_array[i] == remove_array[j])
-					skip = true;
+				template['width'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				return true;
+
+			case "mceNewDocument":
+				if (confirm(tinyMCE.getLang('lang_newdocument')))
+					tinyMCE.execInstanceCommand(editor_id, 'mceSetContent', false, ' ');
+
+				return true;
+		}
+
+		return false;
+	},
+
+	/**
+	 * Editor instance template function.
+	 */
+	getEditorTemplate : function(settings, editorId) {
+		function removeFromArray(in_array, remove_array) {
+			var outArray = new Array();
+			
+			for (var i=0; i<in_array.length; i++) {
+				skip = false;
+
+				for (var j=0; j<remove_array.length; j++) {
+					if (in_array[i] == remove_array[j]) {
+						skip = true;
+					}
+				}
+
+				if (!skip) {
+					outArray[outArray.length] = in_array[i];
+				}
 			}
 
-			if (!skip)
-				outArray[outArray.length] = in_array[i];
+			return outArray;
 		}
 
-		return outArray; 
-	}
+		function addToArray(in_array, add_array) {
+			for (var i=0; i<add_array.length; i++) {
+				in_array[in_array.length] = add_array[i];
+			}
 
-	function addToArray(in_array, add_array) {
-		for (var i=0; i<add_array.length; i++)
-			in_array[in_array.length] = add_array[i];
+			return in_array;
+		}
 
-		return in_array; 
-	}
+		var template = new Array();
+		var deltaHeight = 0;
+		var resizing = tinyMCE.getParam("theme_advanced_resizing", false);
+		var path = tinyMCE.getParam("theme_advanced_path", true);
+		var statusbarHTML = '<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: ' + (path ? "block" : "none") + '">&#160;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: ' + (resizing ? "block" : "none") + '" onmousedown="tinyMCE.themes.advanced._setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';
+		var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout");
+
+		// Setup style select options -- MOVED UP FOR EXTERNAL TOOLBAR COMPATABILITY!
+		var styleSelectHTML = '<option value="">{$lang_theme_style_select}</option>';
+		if (settings['theme_advanced_styles']) {
+			var stylesAr = settings['theme_advanced_styles'].split(';');
+			
+			for (var i=0; i<stylesAr.length; i++) {
+				var key, value;
 
-	var template = new Array();
-	var toolbarHTML = "";
-	var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom");
-
-	// Render row 1
-	var buttonNamesRow1 = tinyMCE.getParam("theme_advanced_buttons1", "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect", true, ',');
-	buttonNamesRow1 = removeFromArray(buttonNamesRow1, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
-	buttonNamesRow1 = addToArray(buttonNamesRow1, tinyMCE.getParam("theme_advanced_buttons1_add", "", true, ','));
-	buttonNamesRow1 = addToArray(tinyMCE.getParam("theme_advanced_buttons1_add_before", "", true, ','), buttonNamesRow1);
-	for (var i=0; i<buttonNamesRow1.length; i++)
-		toolbarHTML += tinyMCE.getControlHTML(buttonNamesRow1[i]);
-
-	if (buttonNamesRow1.length > 0)
-		toolbarHTML += "<br />";
-
-	// Render row 2
-	var buttonNamesRow2 = tinyMCE.getParam("theme_advanced_buttons2", "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code", true, ',');
-	buttonNamesRow2 = removeFromArray(buttonNamesRow2, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
-	buttonNamesRow2 = addToArray(buttonNamesRow2, tinyMCE.getParam("theme_advanced_buttons2_add", "", true, ','));
-	buttonNamesRow2 = addToArray(tinyMCE.getParam("theme_advanced_buttons2_add_before", "", true, ','), buttonNamesRow2);
-	for (var i=0; i<buttonNamesRow2.length; i++)
-		toolbarHTML += tinyMCE.getControlHTML(buttonNamesRow2[i]);
-
-	if (buttonNamesRow2.length > 0)
-		toolbarHTML += "<br />";
-
-	// Render row 3
-	var buttonNamesRow3 = tinyMCE.getParam("theme_advanced_buttons3", "table,separator,row_before,row_after,delete_row,separator,col_before,col_after,delete_col,separator,hr,removeformat,visualaid,separator,sub,sup,separator,charmap", true, ',');
-	buttonNamesRow3 = removeFromArray(buttonNamesRow3, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
-	buttonNamesRow3 = addToArray(buttonNamesRow3, tinyMCE.getParam("theme_advanced_buttons3_add", "", true, ','));
-	buttonNamesRow3 = addToArray(tinyMCE.getParam("theme_advanced_buttons3_add_before", "", true, ','), buttonNamesRow3);
-	for (var i=0; i<buttonNamesRow3.length; i++)
-		toolbarHTML += tinyMCE.getControlHTML(buttonNamesRow3[i]);
-
-	// Setup template html
-	template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';
-
-	if (toolbarLocation == "top")
-		template['html'] += '<tr><td class="mceToolbarTop" align="center" height="1">' + toolbarHTML + '</td></tr>';
-
-/*	template['html'] += '<tr><td align="center">\
-		<iframe id="{$editor_id}" class="mceEditorArea" border="1" frameborder="0" src="{$default_document}" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" style="width:{$area_width};height:{$area_height}" width="{$area_width}" height="{$area_height}"></iframe>\
-		</td></tr>';*/
-	template['html'] += '<tr><td align="center">\
-		<span id="{$editor_id}"></span>\
-		</td></tr>';
-
-	if (toolbarLocation == "bottom")
-		template['html'] += '<tr><td class="mceToolbarBottom" align="center" height="1">' + toolbarHTML + '</td></tr>';
-
-	template['html'] += '</table>';
-
-	// Setup style select options
-	var styleSelectHTML = '<option value="">-- {$lang_theme_style_select} --</option>';
-	if (settings['theme_advanced_styles']) {
-		var stylesAr = settings['theme_advanced_styles'].split(';');
-		for (var i=0; i<stylesAr.length; i++) {
-			var key, value;
+				key = stylesAr[i].split('=')[0];
+				value = stylesAr[i].split('=')[1];
 
-			key = stylesAr[i].split('=')[0];
-			value = stylesAr[i].split('=')[1];
+				styleSelectHTML += '<option value="' + value + '">' + key + '</option>';
+			}
 
-			styleSelectHTML += '<option value="' + value + '">' + key + '</option>';
+			TinyMCE_AdvancedTheme._autoImportCSSClasses = false;
 		}
 
-		TinyMCE_advanced_autoImportCSSClasses = false;
-	}
+		switch(layoutManager) {
+			case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)...
+				var toolbarHTML = "";
+				var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom");
+				var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center");
+				var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Compatiblity
+				var statusbarLocation = tinyMCE.getParam("theme_advanced_statusbar_location", pathLocation);
+				var defVals = {
+					theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",
+					theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",
+					theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
+				};
+
+				// Add accessibility control
+				toolbarHTML += '<a href="#" accesskey="q" title="' + tinyMCE.getLang("lang_toolbar_focus") + '"';
+
+				if (!tinyMCE.getParam("accessibility_focus"))
+					toolbarHTML += ' onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"';
+
+				toolbarHTML += '></a>';
+
+				// Render rows
+				for (var i=1; i<100; i++) {
+					var def = defVals["theme_advanced_buttons" + i];
 
-	template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML);
-	template['delta_width'] = 0;
-	template['delta_height'] = -40;
+					var buttons = tinyMCE.getParam("theme_advanced_buttons" + i, def == null ? '' : def, true, ',');
+					if (buttons.length == 0)
+						break;
 
-	return template;
-}
+					buttons = removeFromArray(buttons, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
+					buttons = addToArray(buttons, tinyMCE.getParam("theme_advanced_buttons" + i + "_add", "", true, ','));
+					buttons = addToArray(tinyMCE.getParam("theme_advanced_buttons" + i + "_add_before", "", true, ','), buttons);
+
+					for (var b=0; b<buttons.length; b++)
+						toolbarHTML += tinyMCE.getControlHTML(buttons[b]);
+
+					if (buttons.length > 0) {
+						toolbarHTML += "<br />";
+						deltaHeight -= 23;
+					}
+				}
 
-/**
- * Insert link template function.
- */
-function TinyMCE_advanced_getInsertLinkTemplate() {
-	var template = new Array();
+				// Add accessibility control
+				toolbarHTML += '<a href="#" accesskey="z" onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"></a>';
 
-	template['file'] = 'link.htm';
-	template['width'] = 320;
-	template['height'] = 170;
-
-	// Language specific width and height addons
-	template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0);
-	template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0);
+				// Setup template html
+				template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';
 
-	return template;
-}
+				if (toolbarLocation == "top") {
+					template['html'] += '<tr><td class="mceToolbarTop" align="' + toolbarAlign + '" height="1" nowrap="nowrap">' + toolbarHTML + '</td></tr>';
+				}
 
-/**
- * Insert image template function.
- */
-function TinyMCE_advanced_getInsertImageTemplate() {
-	var template = new Array();
+				if (statusbarLocation == "top") {
+					template['html'] += '<tr><td class="mceStatusbarTop" height="1">' + statusbarHTML + '</td></tr>';
+					deltaHeight -= 23;
+				}
 
-	template['file'] = 'image.htm';
-	template['width'] = 340;
-	template['height'] = 280;
-
-	// Language specific width and height addons
-	template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0);
-	template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0);
+				template['html'] += '<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';
 
-	return template;
-}
+				if (toolbarLocation == "bottom") {
+					template['html'] += '<tr><td class="mceToolbarBottom" align="' + toolbarAlign + '" height="1">' + toolbarHTML + '</td></tr>';
+				}
 
-/**
- * Insert table template function.
- */
-function TinyMCE_advanced_getInsertTableTemplate(settings) {
-	var template = new Array();
+				// External toolbar changes
+				if (toolbarLocation == "external") {
+					var bod = document.body;
+					var elm = document.createElement ("div");
+
+					toolbarHTML = tinyMCE.replaceVar(toolbarHTML, 'style_select_options', styleSelectHTML);
+					toolbarHTML = tinyMCE.applyTemplate(toolbarHTML, {editor_id : editorId});
+
+					elm.className = "mceToolbarExternal";
+					elm.id = editorId+"_toolbar";
+					elm.innerHTML = '<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';
+					bod.appendChild (elm);
+					// bod.style.marginTop = elm.offsetHeight + "px";
+
+					deltaHeight = 0;
+					tinyMCE.getInstanceById(editorId).toolbarElement = elm;
+
+					//template['html'] = '<div id="mceExternalToolbar" align="center" class="mceToolbarExternal"><table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table></div>' + template["html"];
+				} else {
+					tinyMCE.getInstanceById(editorId).toolbarElement = null;
+				}
+
+				if (statusbarLocation == "bottom") {
+					template['html'] += '<tr><td class="mceStatusbarBottom" height="1">' + statusbarHTML + '</td></tr>';
+					deltaHeight -= 23;
+				}
 
-	template['file'] = 'table.htm';
-	template['width'] = 340;
-	template['height'] = 220;
-
-	// Language specific width and height addons
-	template['width'] += tinyMCE.getLang('lang_insert_table_delta_width', 0);
-	template['height'] += tinyMCE.getLang('lang_insert_table_delta_height', 0);
+				template['html'] += '</tbody></table>';
+				//"SimpleLayout"
+			break;
 
-	return template;
-}
+			case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom.
+				template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';
 
-/**
- * Node change handler.
- */
-function TinyMCE_advanced_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
-	function selectByValue(select_elm, value) {
-		if (select_elm) {
-			for (var i=0; i<select_elm.options.length; i++) {
-				if (select_elm.options[i].value == value) {
-					select_elm.selectedIndex = i;
-					return true;
+				var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ",");
+				var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container");
+				var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center");
+
+				//Render Containers:
+				for (var i = 0; i < containers.length; i++)
+				{
+					if (containers[i] == "mceEditor") //Exceptions for mceEditor and ...
+						template['html'] += '<tr><td align="center" class="mceEditor_border"><span id="{$editor_id}"></span></td></tr>';
+					else if (containers[i] == "mceElementpath" || containers[i] == "mceStatusbar") // ... mceElementpath:
+					{
+						var pathClass = "mceStatusbar";
+
+						if (i == containers.length-1)
+						{
+							pathClass = "mceStatusbarBottom";
+						}
+						else if (i == 0)
+						{
+							pathClass = "mceStatusbar";
+						}
+						else
+						{
+							deltaHeight-=2;
+						}
+
+						template['html'] += '<tr><td class="' + pathClass + '" height="1">' + statusbarHTML + '</td></tr>';
+						deltaHeight -= 22;
+					} else { // Render normal Container
+						var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ',');
+						var curContainerHTML = "";
+						var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign);
+						var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS);
+
+						for (var j=0; j<curContainer.length; j++) {
+							curContainerHTML += tinyMCE.getControlHTML(curContainer[j]);
+						}
+
+						if (curContainer.length > 0) {
+							curContainerHTML += "<br />";
+							deltaHeight -= 23;
+						}
+
+						template['html'] += '<tr><td class="' + curCSS + '" align="' + curAlign + '" height="1">' + curContainerHTML + '</td></tr>';
+					}
+				}
+
+				template['html'] += '</tbody></table>';
+				//RowLayout
+			break;
+
+			case "CustomLayout" : //User defined layout callback...
+				var customLayout = tinyMCE.getParam("theme_advanced_custom_layout","");
+
+				if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined") {
+					template = eval(customLayout + "(template);");
 				}
+			break;
+		}
+
+		if (resizing)
+			template['html'] += '<span id="{$editor_id}_resize_box" class="mceResizeBox"></span>';
+
+		template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML);
+		template['delta_width'] = 0;
+		template['delta_height'] = deltaHeight;
+
+		return template;
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.getParam("theme_advanced_resizing", false)) {
+			if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
+				var w = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_width");
+				var h = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_height");
+
+				TinyMCE_AdvancedTheme._resizeTo(inst, w, h, tinyMCE.getParam("theme_advanced_resize_horizontal", true));
 			}
 		}
 
-		return false;
-	}
+		inst.addShortcut('ctrl', 'k', 'lang_link_desc', 'mceLink');
+	},
 
-	function getAttrib(elm, name) {
-		return elm.getAttribute(name) ? elm.getAttribute(name) : "";
-	}
+	/**
+	 * Node change handler.
+	 */
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection, setup_content) {
+		function selectByValue(select_elm, value, first_index) {
+			first_index = typeof(first_index) == "undefined" ? false : true;
+
+			if (select_elm) {
+				for (var i=0; i<select_elm.options.length; i++) {
+					var ov = "" + select_elm.options[i].value;
+
+					if (first_index && ov.toLowerCase().indexOf(value.toLowerCase()) == 0) {
+						select_elm.selectedIndex = i;
+						return true;
+					}
 
-	// Get element color
-	var colorElm = tinyMCE.getParentElement(node, "font", "color");
-	if (colorElm)
-		TinyMCE_advanced_foreColor = "" + colorElm.color.toUpperCase();
-
-	// Reset old states
-	tinyMCE.switchClassSticky(editor_id + '_justifyleft', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_justifyright', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_justifycenter', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_justifyfull', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_sub', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_sup', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_table', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_anchor', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_link', 'mceButtonDisabled', true);
-	tinyMCE.switchClassSticky(editor_id + '_unlink', 'mceButtonDisabled', true);
-	tinyMCE.switchClassSticky(editor_id + '_row_before', 'mceButtonDisabled', true);
-	tinyMCE.switchClassSticky(editor_id + '_row_after', 'mceButtonDisabled', true);
-	tinyMCE.switchClassSticky(editor_id + '_delete_row', 'mceButtonDisabled', true);
-	tinyMCE.switchClassSticky(editor_id + '_col_before', 'mceButtonDisabled', true);
-	tinyMCE.switchClassSticky(editor_id + '_col_after', 'mceButtonDisabled', true);
-	tinyMCE.switchClassSticky(editor_id + '_delete_col', 'mceButtonDisabled', true);
-	tinyMCE.switchClassSticky(editor_id + '_outdent', 'mceButtonDisabled', true);
-    tinyMCE.switchClassSticky(editor_id + '_image', 'mceButtonNormal');
-    tinyMCE.switchClassSticky(editor_id + '_hr', 'mceButtonNormal');
-
-	// Get anchor name
-	var anchorName = tinyMCE.getParentElement(node, "a", "name");
-	TinyMCE_advanced_anchorName = "";
-	if (anchorName) {
-		TinyMCE_advanced_anchorName = anchorName.getAttribute("name");
-		tinyMCE.switchClassSticky(editor_id + '_anchor', 'mceButtonSelected');
-	}
+					if (ov == value) {
+						select_elm.selectedIndex = i;
+						return true;
+					}
+				}
+			}
 
-	// Get link
-	var anchorLink = tinyMCE.getParentElement(node, "a", "href");
-	if (anchorLink || any_selection) {
-		tinyMCE.switchClassSticky(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal', false);
-		tinyMCE.switchClassSticky(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal', false);
-	}
+			return false;
+		};
 
-	// Handle visual aid
-	tinyMCE.switchClassSticky(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal', false);
+		function getAttrib(elm, name) {
+			return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+		};
+
+		// No node provided
+		if (node == null)
+			return;
+
+		// Update path
+		var pathElm = document.getElementById(editor_id + "_path");
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var doc = inst.getDoc();
+
+		if (pathElm) {
+			// Get node path
+			var parentNode = node;
+			var path = new Array();
+			
+			while (parentNode != null) {
+				if (parentNode.nodeName.toUpperCase() == "BODY") {
+					break;
+				}
 
-	if (undo_levels != -1) {
-		tinyMCE.switchClassSticky(editor_id + '_undo', 'mceButtonDisabled', true);
-		tinyMCE.switchClassSticky(editor_id + '_redo', 'mceButtonDisabled', true);
-	}
+				// Only append element nodes to path
+				if (parentNode.nodeType == 1 && tinyMCE.getAttrib(parentNode, "class").indexOf('mceItemHidden') == -1) {
+					path[path.length] = parentNode;
+				}
 
-	// Within a td element
-	if (tinyMCE.getParentElement(node, "td")) {
-		tinyMCE.switchClassSticky(editor_id + '_row_before', 'mceButtonNormal', false);
-		tinyMCE.switchClassSticky(editor_id + '_row_after', 'mceButtonNormal', false);
-		tinyMCE.switchClassSticky(editor_id + '_delete_row', 'mceButtonNormal', false);
-		tinyMCE.switchClassSticky(editor_id + '_col_before', 'mceButtonNormal', false);
-		tinyMCE.switchClassSticky(editor_id + '_col_after', 'mceButtonNormal', false);
-		tinyMCE.switchClassSticky(editor_id + '_delete_col', 'mceButtonNormal', false);
-	}
+				parentNode = parentNode.parentNode;
+			}
+
+			// Setup HTML
+			var html = "";
+			for (var i=path.length-1; i>=0; i--) {
+				var nodeName = path[i].nodeName.toLowerCase();
+				var nodeData = "";
 
-	// Within table
-	if (tinyMCE.getParentElement(node, "table"))
-		tinyMCE.switchClassSticky(editor_id + '_table', 'mceButtonSelected');
-
-	// Within li, blockquote
-	if (tinyMCE.getParentElement(node, "li,blockquote"))
-		tinyMCE.switchClassSticky(editor_id + '_outdent', 'mceButtonNormal', false);
-
-	// Has redo levels
-	if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0))
-		tinyMCE.switchClassSticky(editor_id + '_redo', 'mceButtonNormal', false);
-
-	// Has undo levels
-	if (undo_index != -1 && (undo_index > 0 && undo_levels > 0))
-		tinyMCE.switchClassSticky(editor_id + '_undo', 'mceButtonNormal', false);
-
-	// Select class in select box
-	var selectElm = document.getElementById(editor_id + "_styleSelect");
-	if (selectElm) {
-		TinyMCE_advanced_setupCSSClasses(editor_id);
+				if (nodeName == "b") {
+					nodeName = "strong";
+				}
+
+				if (nodeName == "i") {
+					nodeName = "em";
+				}
 
-		classNode = node;
+				if (nodeName == "span") {
+					var cn = tinyMCE.getAttrib(path[i], "class");
+					if (cn != "" && cn.indexOf('mceItem') == -1)
+						nodeData += "class: " + cn + " ";
+
+					var st = tinyMCE.getAttrib(path[i], "style");
+					if (st != "") {
+						st = tinyMCE.serializeStyle(tinyMCE.parseStyle(st));
+						nodeData += "style: " + st + " ";
+					}
+				}
+
+				if (nodeName == "font") {
+					if (tinyMCE.getParam("convert_fonts_to_spans"))
+						nodeName = "span";
+
+					var face = tinyMCE.getAttrib(path[i], "face");
+					if (face != "")
+						nodeData += "font: " + face + " ";
+
+					var size = tinyMCE.getAttrib(path[i], "size");
+					if (size != "")
+						nodeData += "size: " + size + " ";
+
+					var color = tinyMCE.getAttrib(path[i], "color");
+					if (color != "")
+						nodeData += "color: " + color + " ";
+				}
+
+				if (getAttrib(path[i], 'id') != "") {
+					nodeData += "id: " + path[i].getAttribute('id') + " ";
+				}
+
+				var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+				if (className != "" && className.indexOf('mceItem') == -1)
+					nodeData += "class: " + className + " ";
+
+				if (getAttrib(path[i], 'src') != "") {
+					var src = tinyMCE.getAttrib(path[i], "mce_src");
+
+					if (src == "")
+						 src = tinyMCE.getAttrib(path[i], "src");
+
+					nodeData += "src: " + src + " ";
+				}
+
+				if (getAttrib(path[i], 'href') != "") {
+					var href = tinyMCE.getAttrib(path[i], "mce_href");
+
+					if (href == "")
+						 href = tinyMCE.getAttrib(path[i], "href");
+
+					nodeData += "href: " + href + " ";
+				}
+
+				if (nodeName == "img" && tinyMCE.getAttrib(path[i], "class").indexOf('mceItemFlash') != -1) {
+					nodeName = "flash";
+					nodeData = "src: " + path[i].getAttribute('title');
+				}
+
+				if (nodeName == "a" && (anchor = tinyMCE.getAttrib(path[i], "name")) != "") {
+					nodeName = "a";
+					nodeName += "#" + anchor;
+					nodeData = "";
+				}
+
+				if (getAttrib(path[i], 'name').indexOf("mce_") != 0) {
+					var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+					if (className != "" && className.indexOf('mceItem') == -1) {
+						nodeName += "." + className;
+					}
+				}
+
+				var cmd = 'tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');';
+				html += '<a title="' + nodeData + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" target="_self" class="mcePathItem">' + nodeName + '</a>';
+
+				if (i > 0) {
+					html += " &raquo; ";
+				}
+			}
+
+			pathElm.innerHTML = '<a href="#" accesskey="x"></a>' + tinyMCE.getLang('lang_theme_path') + ": " + html + '&#160;';
+		}
+
+		// Reset old states
+		tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_sub', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_sup', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_link', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_unlink', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_image', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_hr', 'mceButtonNormal');
+
+		if (node.nodeName == "A" && tinyMCE.getAttrib(node, "class").indexOf('mceItemAnchor') != -1)
+			tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonSelected');
+
+		// Get link
+		var anchorLink = tinyMCE.getParentElement(node, "a", "href");
+
+		if (anchorLink || any_selection) {
+			tinyMCE.switchClass(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
+		}
+
+		// Handle visual aid
+		tinyMCE.switchClass(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal');
+
+		if (undo_levels != -1) {
+			tinyMCE.switchClass(editor_id + '_undo', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_redo', 'mceButtonDisabled');
+		}
+
+		// Within li, blockquote
+		if (tinyMCE.getParentElement(node, "li,blockquote"))
+			tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonNormal');
+
+		// Has redo levels
+		if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0))
+			tinyMCE.switchClass(editor_id + '_redo', 'mceButtonNormal');
+
+		// Has undo levels
+		if (undo_index != -1 && (undo_index > 0 && undo_levels > 0))
+			tinyMCE.switchClass(editor_id + '_undo', 'mceButtonNormal');
+
+		// Select class in select box
+		var selectElm = document.getElementById(editor_id + "_styleSelect");
+		
+		if (selectElm) {
+			TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);
+
+			classNode = node;
+			breakOut = false;
+			var index = 0;
+
+			do {
+				if (classNode && classNode.className) {
+					for (var i=0; i<selectElm.options.length; i++) {
+						if (selectElm.options[i].value == classNode.className) {
+							index = i;
+							breakOut = true;
+							break;
+						}
+					}
+				}
+			} while (!breakOut && classNode != null && (classNode = classNode.parentNode) != null);
+
+			selectElm.selectedIndex = index;
+		}
+
+		// Select formatblock
+		var selectElm = document.getElementById(editor_id + "_formatSelect");
+		if (selectElm) {
+			var elm = tinyMCE.getParentElement(node, "p,div,h1,h2,h3,h4,h5,h6,pre,address");
+
+			if (elm)
+				selectByValue(selectElm, "<" + elm.nodeName.toLowerCase() + ">");
+			else
+				selectByValue(selectElm, "");
+		}
+
+		// Select fontselect
+		var selectElm = document.getElementById(editor_id + "_fontNameSelect");
+		if (selectElm) {
+			if (!tinyMCE.isSafari && !(tinyMCE.isMSIE && !tinyMCE.isOpera)) {
+				var face = inst.queryCommandValue('FontName');
+
+				face = face == null || face == "" ? "" : face;
+
+				selectByValue(selectElm, face, face != "");
+			} else {
+				var elm = tinyMCE.getParentElement(node, "font", "face");
+
+				if (elm) {
+					var family = tinyMCE.getAttrib(elm, "face");
+
+					if (family == '')
+						family = '' + elm.style.fontFamily;
+
+					if (!selectByValue(selectElm, family, family != ""))
+						selectByValue(selectElm, "");
+				} else
+					selectByValue(selectElm, "");
+			}
+		}
+
+		// Select fontsize
+		var selectElm = document.getElementById(editor_id + "_fontSizeSelect");
+		if (selectElm) {
+			if (!tinyMCE.isSafari && !tinyMCE.isOpera) {
+				var size = inst.queryCommandValue('FontSize');
+				selectByValue(selectElm, size == null || size == "" ? "0" : size);
+			} else {
+				var elm = tinyMCE.getParentElement(node, "font", "size");
+				if (elm) {
+					var size = tinyMCE.getAttrib(elm, "size");
+
+					if (size == '') {
+						var sizes = new Array('', '8px', '10px', '12px', '14px', '18px', '24px', '36px');
+
+						size = '' + elm.style.fontSize;
+
+						for (var i=0; i<sizes.length; i++) {
+							if (('' + sizes[i]) == size) {
+								size = i;
+								break;
+							}
+						}
+					}
+
+					if (!selectByValue(selectElm, size))
+						selectByValue(selectElm, "");
+				} else
+					selectByValue(selectElm, "0");
+			}
+		}
+
+		// Handle align attributes
+		alignNode = node;
 		breakOut = false;
-		var index = 0;
+		do {
+			if (!alignNode.getAttribute || !alignNode.getAttribute('align'))
+				continue;
+
+			switch (alignNode.getAttribute('align').toLowerCase()) {
+				case "left":
+					tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "right":
+					tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "middle":
+				case "center":
+					tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "justify":
+					tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonSelected');
+					breakOut = true;
+				break;
+			}
+		} while (!breakOut && (alignNode = alignNode.parentNode) != null);
+
+		// Div justification
+		var div = tinyMCE.getParentElement(node, "div");
+		if (div && div.style.textAlign == "center")
+			tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
+
+		// Do special text
+		if (!setup_content) {
+			// , "JustifyLeft", "_justifyleft", "JustifyCenter", "justifycenter", "JustifyRight", "justifyright", "JustifyFull", "justifyfull", "InsertUnorderedList", "bullist", "InsertOrderedList", "numlist", "InsertUnorderedList", "bullist", "Outdent", "outdent", "Indent", "indent", "subscript", "sub"
+			var ar = new Array("Bold", "_bold", "Italic", "_italic", "Strikethrough", "_strikethrough", "superscript", "_sup", "subscript", "_sub");
+			for (var i=0; i<ar.length; i+=2) {
+				if (inst.queryCommandState(ar[i]))
+					tinyMCE.switchClass(editor_id + ar[i+1], 'mceButtonSelected');
+			}
 
+			if (inst.queryCommandState("Underline") && (node.parentNode == null || node.parentNode.nodeName != "A"))
+				tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected');
+		}
+
+		// Handle elements
 		do {
-			if (classNode && classNode.className) {
-				for (var i=0; i<selectElm.options.length; i++) {
-					if (selectElm.options[i].value == classNode.className) {
-						index = i;
-						breakOut = true;
-						break;
-					}
+			switch (node.nodeName) {
+				case "UL":
+					tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected');
+				break;
+
+				case "OL":
+					tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected');
+				break;
+
+				case "HR":
+					 tinyMCE.switchClass(editor_id + '_hr', 'mceButtonSelected');
+				break;
+
+				case "IMG":
+				if (getAttrib(node, 'name').indexOf('mce_') != 0) {
+					tinyMCE.switchClass(editor_id + '_image', 'mceButtonSelected');
 				}
+				break;
 			}
-		} while (!breakOut && (classNode = classNode.parentNode));
+		} while ((node = node.parentNode) != null);
+	},
 
-		selectElm.selectedIndex = index;
-	}
+	// Private theme internal functions
 
-	// Select formatblock
-	var selectElm = document.getElementById(editor_id + "_formatSelect");
-	if (selectElm) {
-		var elm = tinyMCE.getParentElement(node, "p,div,h1,h2,h3,h4,h5,h6,pre,address");
-		if (elm) {
-			selectByValue(selectElm, "<" + elm.nodeName.toLowerCase() + ">");
+	// This function auto imports CSS classes into the class selection droplist
+	_setupCSSClasses : function(editor_id) {
+		var i, selectElm;
+
+		if (!TinyMCE_AdvancedTheme._autoImportCSSClasses)
+			return;
+
+		selectElm = document.getElementById(editor_id + '_styleSelect');
+
+		if (selectElm && selectElm.getAttribute('cssImported') != 'true') {
+			var csses = tinyMCE.getCSSClasses(editor_id);
+			if (csses && selectElm)	{
+				for (i=0; i<csses.length; i++)
+					selectElm.options[selectElm.options.length] = new Option(csses[i], csses[i]);
+			}
+
+			// Only do this once
+			if (csses != null && csses.length > 0)
+				selectElm.setAttribute('cssImported', 'true');
+		}
+	},
+
+	_setCookie : function(name, value, expires, path, domain, secure) {
+		var curCookie = name + "=" + escape(value) +
+			((expires) ? "; expires=" + expires.toGMTString() : "") +
+			((path) ? "; path=" + escape(path) : "") +
+			((domain) ? "; domain=" + domain : "") +
+			((secure) ? "; secure" : "");
+
+		document.cookie = curCookie;
+	},
+
+	_getCookie : function(name) {
+		var dc = document.cookie;
+		var prefix = name + "=";
+		var begin = dc.indexOf("; " + prefix);
+
+		if (begin == -1) {
+			begin = dc.indexOf(prefix);
+
+			if (begin != 0)
+				return null;
 		} else
-			selectByValue(selectElm, "<p>");
-	}
+			begin += 2;
 
-	// Select fontselect
-	var selectElm = document.getElementById(editor_id + "_fontNameSelect");
-	if (selectElm) {
-		var elm = tinyMCE.getParentElement(node, "font", "face");
-		if (elm)
-			selectByValue(selectElm, elm.getAttribute("face"));
-		else
-			selectByValue(selectElm, "");
-	}
+		var end = document.cookie.indexOf(";", begin);
 
-	// Select fontsize
-	var selectElm = document.getElementById(editor_id + "_fontSizeSelect");
-	if (selectElm) {
-		var elm = tinyMCE.getParentElement(node, "font", "size");
-		if (elm)
-			selectByValue(selectElm, elm.getAttribute("size"));
-		else
-			selectByValue(selectElm, "1");
-	}
+		if (end == -1)
+			end = dc.length;
 
-	// Handle align attributes
-	alignNode = node;
-	breakOut = false;
-	do {
-		if (!alignNode.getAttribute || !alignNode.getAttribute('align'))
-			continue;
-
-		switch (alignNode.getAttribute('align').toLowerCase()) {
-			case "left":
-				tinyMCE.switchClassSticky(editor_id + '_justifyleft', 'mceButtonSelected');
-				breakOut = true;
-			break;
+		return unescape(dc.substring(begin + prefix.length, end));
+	},
 
-			case "right":
-				tinyMCE.switchClassSticky(editor_id + '_justifyright', 'mceButtonSelected');
-				breakOut = true;
-			break;
+	_resizeTo : function(inst, w, h, set_w) {
+		var editorContainer = document.getElementById(inst.editorId + '_parent');
+		var tableElm = editorContainer.firstChild;
+		var iframe = inst.iframeElement;
 
-			case "middle":
-			case "center":
-				tinyMCE.switchClassSticky(editor_id + '_justifycenter', 'mceButtonSelected');
-				breakOut = true;
-			break;
+		if (w == null || w == "null") {
+			set_w = false;
+			w = 0;
+		}
 
-			case "justify":
-				tinyMCE.switchClassSticky(editor_id + '_justifyfull', 'mceButtonSelected');
-				breakOut = true;
-			break;
+		if (h == null || h == "null")
+			return;
+
+		w = parseInt(w);
+		h = parseInt(h);
+
+		if (tinyMCE.isGecko) {
+			w += 2;
+			h += 2;
 		}
-	} while (!breakOut && (alignNode = alignNode.parentNode));
 
-	// Handle elements
-	do {
-		switch (node.nodeName.toLowerCase()) {
-			case "b":
-			case "strong":
-				tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonSelected');
-			break;
+		var dx = w - tableElm.clientWidth;
+		var dy = h - tableElm.clientHeight;
 
-			case "i":
-			case "em":
-				tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonSelected');
-			break;
+		w = w < 1 ? 30 : w;
+		h = h < 1 ? 30 : h;
 
-			case "u":
-				tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonSelected');
-			break;
+		if (set_w)
+			tableElm.style.width = w + "px";
 
-			case "strike":
-				tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonSelected');
-			break;
-			
-			case "ul":
-				tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonSelected');
-			break;
+		tableElm.style.height = h + "px";
 
-			case "ol":
-				tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonSelected');
-			break;
+		iw = iframe.clientWidth + dx;
+		ih = iframe.clientHeight + dy;
 
-			case "sub":
-				tinyMCE.switchClassSticky(editor_id + '_sub', 'mceButtonSelected');
-			break;
+		iw = iw < 1 ? 30 : iw;
+		ih = ih < 1 ? 30 : ih;
 
-			case "sup":
-				tinyMCE.switchClassSticky(editor_id + '_sup', 'mceButtonSelected');
-			break;
+		if (tinyMCE.isGecko) {
+			iw -= 2;
+			ih -= 2;
+		}
+
+		if (set_w)
+			iframe.style.width = iw + "px";
 
-            case "hr":
-                tinyMCE.switchClassSticky(editor_id + '_hr', 'mceButtonSelected');
-            break;
-
-            case "img":
-				if (getAttrib(node, 'name').indexOf('mce_') != 0)
-					tinyMCE.switchClassSticky(editor_id + '_image', 'mceButtonSelected');
-            break;
-		}
-	} while ((node = node.parentNode));
-}
-
-// This function auto imports CSS classes into the class selection droplist
-function TinyMCE_advanced_setupCSSClasses(editor_id) {
-	if (!TinyMCE_advanced_autoImportCSSClasses)
-		return;
-
-	var selectElm = document.getElementById(editor_id + '_styleSelect');
-
-	if (selectElm && selectElm.getAttribute('cssImported') != 'true') {
-		var csses = tinyMCE.getCSSClasses(editor_id);
-		if (csses && selectElm) {
-			for (var i=0; i<csses.length; i++)
-				selectElm.options[selectElm.length] = new Option(csses[i], csses[i]);
-		}
-
-		// Only do this once
-		if (csses != null && csses.length > 0)
-			selectElm.setAttribute('cssImported', 'true');
+		iframe.style.height = ih + "px";
+
+		// Is it to small, make it bigger again
+		if (set_w) {
+			var tableBodyElm = tableElm.firstChild;
+			var minIframeWidth = tableBodyElm.scrollWidth;
+			if (inst.iframeElement.clientWidth < minIframeWidth) {
+				dx = minIframeWidth - inst.iframeElement.clientWidth;
+
+				inst.iframeElement.style.width = (iw + dx) + "px";
+			}
+		}
+	},
+
+	/**
+	 * Handles resizing events.
+	 */
+	_resizeEventHandler : function(e) {
+		var resizer = TinyMCE_AdvancedTheme._resizer;
+
+		// Do nothing
+		if (!resizer.resizing)
+			return;
+
+		e = typeof(e) == "undefined" ? window.event : e;
+
+		var dx = e.screenX - resizer.downX;
+		var dy = e.screenY - resizer.downY;
+		var resizeBox = resizer.resizeBox;
+		var editorId = resizer.editorId;
+
+		switch (e.type) {
+			case "mousemove":
+				var w, h;
+
+				w = resizer.width + dx;
+				h = resizer.height + dy;
+
+				w = w < 1 ? 1 : w;
+				h = h < 1 ? 1 : h;
+
+				if (resizer.horizontal)
+					resizeBox.style.width = w + "px";
+
+				resizeBox.style.height = h + "px";
+				break;
+
+			case "mouseup":
+				TinyMCE_AdvancedTheme._setResizing(e, editorId, false);
+				TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId), resizer.width + dx, resizer.height + dy, resizer.horizontal);
+
+				// Expire in a month
+				if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
+					var expires = new Date();
+					expires.setTime(expires.getTime() + 3600000 * 24 * 30);
+
+					// Set the cookies
+					TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_width", "" + (resizer.horizontal ? resizer.width + dx : ""), expires);
+					TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_height", "" + (resizer.height + dy), expires);
+				}
+				break;
+		}
+	},
+
+	/**
+	 * Starts/stops the editor resizing.
+	 */
+	_setResizing : function(e, editor_id, state) {
+		e = typeof(e) == "undefined" ? window.event : e;
+
+		var resizer = TinyMCE_AdvancedTheme._resizer;
+		var editorContainer = document.getElementById(editor_id + '_parent');
+		var editorArea = document.getElementById(editor_id + '_parent').firstChild;
+		var resizeBox = document.getElementById(editor_id + '_resize_box');
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		if (state) {
+			// Place box over editor area
+			var width = editorArea.clientWidth;
+			var height = editorArea.clientHeight;
+
+			resizeBox.style.width = width + "px";
+			resizeBox.style.height = height + "px";
+
+			resizer.iframeWidth = inst.iframeElement.clientWidth;
+			resizer.iframeHeight = inst.iframeElement.clientHeight;
+
+			// Hide editor and show resize box
+			editorArea.style.display = "none";
+			resizeBox.style.display = "block";
+
+			// Add event handlers, only once
+			if (!resizer.eventHandlers) {
+				if (tinyMCE.isMSIE)
+					tinyMCE.addEvent(document, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
+				else
+					tinyMCE.addEvent(window, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
+
+				tinyMCE.addEvent(document, "mouseup", TinyMCE_AdvancedTheme._resizeEventHandler);
+
+				resizer.eventHandlers = true;
+			}
+
+			resizer.resizing = true;
+			resizer.downX = e.screenX;
+			resizer.downY = e.screenY;
+			resizer.width = parseInt(resizeBox.style.width);
+			resizer.height = parseInt(resizeBox.style.height);
+			resizer.editorId = editor_id;
+			resizer.resizeBox = resizeBox;
+			resizer.horizontal = tinyMCE.getParam("theme_advanced_resize_horizontal", true);
+		} else {
+			resizer.resizing = false;
+			resizeBox.style.display = "none";
+			editorArea.style.display = tinyMCE.isMSIE && !tinyMCE.isOpera ? "block" : "table";
+			tinyMCE.execCommand('mceResetDesignMode');
+		}
+	},
+
+	_insertImage : function(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) {
+		tinyMCE.execCommand('mceBeginUndoLevel');
+
+		if (src == "")
+			return;
+
+		if (!tinyMCE.imgElement && tinyMCE.isSafari) {
+			var html = "";
+
+			html += '<img src="' + src + '" alt="' + alt + '"';
+			html += ' border="' + border + '" hspace="' + hspace + '"';
+			html += ' vspace="' + vspace + '" width="' + width + '"';
+			html += ' height="' + height + '" align="' + align + '" title="' + title + '" onmouseover="' + onmouseover + '" onmouseout="' + onmouseout + '" />';
+
+			tinyMCE.execCommand("mceInsertContent", false, html);
+		} else {
+			if (!tinyMCE.imgElement && tinyMCE.selectedInstance) {
+				if (tinyMCE.isSafari)
+					tinyMCE.execCommand("mceInsertContent", false, '<img src="' + tinyMCE.uniqueURL + '" />');
+				else
+					tinyMCE.selectedInstance.contentDocument.execCommand("insertimage", false, tinyMCE.uniqueURL);
+
+				tinyMCE.imgElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "img", "src", tinyMCE.uniqueURL);
+			}
+		}
+
+		if (tinyMCE.imgElement) {
+			var needsRepaint = false;
+			var msrc = src;
+
+			src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, tinyMCE.imgElement);");
+
+			if (tinyMCE.getParam('convert_urls'))
+				msrc = src;
+
+			if (onmouseover && onmouseover != "")
+				onmouseover = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, tinyMCE.imgElement);") + "';";
+
+			if (onmouseout && onmouseout != "")
+				onmouseout = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, tinyMCE.imgElement);") + "';";
+
+			// Use alt as title if it's undefined
+			if (typeof(title) == "undefined")
+				title = alt;
+
+			if (width != tinyMCE.imgElement.getAttribute("width") || height != tinyMCE.imgElement.getAttribute("height") || align != tinyMCE.imgElement.getAttribute("align"))
+				needsRepaint = true;
+
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'src', src);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'mce_src', msrc);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'alt', alt);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'title', title);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'align', align);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'border', border, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'hspace', hspace, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'vspace', vspace, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'width', width, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'height', height, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseover', onmouseover);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseout', onmouseout);
+
+			// Fix for bug #989846 - Image resize bug
+			if (width && width != "")
+				tinyMCE.imgElement.style.pixelWidth = width;
+
+			if (height && height != "")
+				tinyMCE.imgElement.style.pixelHeight = height;
+
+			if (needsRepaint)
+				tinyMCE.selectedInstance.repaint();
+		}
+
+		tinyMCE.execCommand('mceEndUndoLevel');
+	},
+
+	_insertLink : function(href, target, title, onclick, style_class) {
+		tinyMCE.execCommand('mceBeginUndoLevel');
+
+		if (tinyMCE.selectedInstance && tinyMCE.selectedElement && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
+			var doc = tinyMCE.selectedInstance.getDoc();
+			var linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+			var newLink = false;
+
+			if (!linkElement) {
+				linkElement = doc.createElement("a");
+				newLink = true;
+			}
+
+			var mhref = href;
+			var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);");
+			mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+			tinyMCE.setAttrib(linkElement, 'href', thref);
+			tinyMCE.setAttrib(linkElement, 'mce_href', mhref);
+			tinyMCE.setAttrib(linkElement, 'target', target);
+			tinyMCE.setAttrib(linkElement, 'title', title);
+			tinyMCE.setAttrib(linkElement, 'onclick', onclick);
+			tinyMCE.setAttrib(linkElement, 'class', style_class);
+
+			if (newLink) {
+				linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));
+				tinyMCE.selectedElement.parentNode.replaceChild(linkElement, tinyMCE.selectedElement);
+			}
+
+			return;
+		}
+
+		if (!tinyMCE.linkElement && tinyMCE.selectedInstance) {
+			if (tinyMCE.isSafari) {
+				tinyMCE.execCommand("mceInsertContent", false, '<a href="' + tinyMCE.uniqueURL + '">' + tinyMCE.selectedInstance.selection.getSelectedHTML() + '</a>');
+			} else
+				tinyMCE.selectedInstance.contentDocument.execCommand("createlink", false, tinyMCE.uniqueURL);
+
+			tinyMCE.linkElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
+
+			var elementArray = tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
+
+			for (var i=0; i<elementArray.length; i++) {
+				var mhref = href;
+				var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, elementArray[i]);");
+				mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+				tinyMCE.setAttrib(elementArray[i], 'href', thref);
+				tinyMCE.setAttrib(elementArray[i], 'mce_href', mhref);
+				tinyMCE.setAttrib(elementArray[i], 'target', target);
+				tinyMCE.setAttrib(elementArray[i], 'title', title);
+				tinyMCE.setAttrib(elementArray[i], 'onclick', onclick);
+				tinyMCE.setAttrib(elementArray[i], 'class', style_class);
+			}
+
+			tinyMCE.linkElement = elementArray[0];
+		}
+
+		if (tinyMCE.linkElement) {
+			var mhref = href;
+			href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement);");
+			mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'href', href);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'mce_href', mhref);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'target', target);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'title', title);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'onclick', onclick);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'class', style_class);
+		}
+
+		tinyMCE.execCommand('mceEndUndoLevel');
 	}
-}
+};
+
+tinyMCE.addTheme("advanced", TinyMCE_AdvancedTheme);
+
+// Add default buttons maps for advanced theme and all internal plugins
+tinyMCE.addButtonMap(TinyMCE_AdvancedTheme._buttonMap);
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_ui.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_ui.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_ui.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_ui.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,118 +0,0 @@
-.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
-	margin-top: 1px;
-	margin-left: 1px;
-}
-
-.mceButtonNormal {
-	border-top: 1px solid;
-	border-left: 1px solid;
-	border-bottom: 1px solid;
-	border-right: 1px solid;
-	border-color: #F0F0EE;
-	cursor: hand
-}
-
-.mceButtonOver {
-	border-top: 1px solid buttonhighlight;
-	border-left: 1px solid buttonhighlight;
-	border-bottom: 1px solid buttonshadow;
-	border-right: 1px solid buttonshadow;
-	cursor: hand
-}
-
-.mceButtonDown {
-	border-bottom: 1px solid buttonhighlight;
-	border-right: 1px solid buttonhighlight;
-	border-top: 1px solid buttonshadow;
-	border-left: 1px solid buttonshadow;
-	cursor: hand
-}
-
-.mceButtonSelected {
-	border-bottom: 1px solid;
-	border-right: 1px solid;
-	border-top: 1px solid;
-	border-left: 1px solid;
-	border-color: #C0C0BB;
-	cursor: hand
-}
-
-.mceButtonDisabled {
-	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
-	-moz-opacity:0.3;
-	opacity: 0.3;
-	border-top: 1px solid;
-	border-left: 1px solid;
-	border-bottom: 1px solid;
-	border-right: 1px solid;
-	border-color: #F0F0EE;
-	cursor: text
-}
-
-.mceSeparator {
-	border-top: 1px solid buttonhighlight;
-	border-left: 1px solid buttonhighlight;
-	border-bottom: 1px solid buttonshadow;
-	border-right: 1px solid buttonshadow;
-	margin-right: 2px;
-	margin-left: 2px;
-}
-
-.mceSeparatorLine {
-	margin:2px;
-	margin-left: 4px;
-	background-color: #F0F0EE;
-	border-top: 1px solid buttonshadow;
-	border-left: 1px solid buttonshadow;
-	border-bottom: 1px solid buttonhighlight;
-	border-right: 1px solid buttonhighlight;
-	width: 0px;
-	height: 15px;
-}
-
-.mceSelectList {
-	font-family: "MS Sans Serif";
-	font-size: 7pt;
-	font-weight: normal;
-	margin-top: 3px;
-	padding: 0px;
-	display: inline;
-	vertical-align: top;
-	background-color: #F0F0EE
-}
-
-.mceLabel, .mceLabelDisabled {
-	font-family: "MS Sans Serif";
-	font-size: 9pt;
-}
-
-.mceLabel {
-	color: #000000;
-}
-
-.mceLabelDisabled {
-	cursor: text;
-	color: #999999;
-}
-
-.mceEditor {
-	background: #F0F0EE;
-	border: 1px solid #cccccc;
-}
-
-.mceEditorArea {
-	font-family: "MS Sans Serif";
-	background: #FFFFFF;
-}
-
-.mceToolbarTop, .mceToolbarBottom {
-	background: #F0F0EE;
-}
-
-.mceToolbarTop {
-	border-bottom: 1px solid #cccccc;
-}
-
-.mceToolbarBottom {
-	border-top: 1px solid #cccccc;
-}
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/image.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/image.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/image.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/image.htm	2006-08-01 01:34:25.000000000 -0500
@@ -1,69 +1,57 @@
-<html>
+<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title>{$lang_insert_image_title}</title>
-<script language="javascript" src="../../tiny_mce_popup.js"></script>
-<script language="javascript">
-	function insertImage() {
-		if (window.opener) {
-			var src = document.forms[0].src.value;
-			var alt = document.forms[0].alt.value;
-			var border = document.forms[0].border.value;
-			var vspace = document.forms[0].vspace.value;
-			var hspace = document.forms[0].hspace.value;
-			var width = document.forms[0].width.value;
-			var height = document.forms[0].height.value;
-			var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value;
-
-			window.opener.tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align);
-			top.close();
-		}
-	}
-
-	function init() {
-		var formObj = document.forms[0];
-
-		for (var i=0; i<document.forms[0].align.options.length; i++) {
-			if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
-				document.forms[0].align.options.selectedIndex = i;
-		}
-
-		formObj.src.value = tinyMCE.getWindowArg('src');
-		formObj.alt.value = tinyMCE.getWindowArg('alt');
-		formObj.border.value = tinyMCE.getWindowArg('border');
-		formObj.vspace.value = tinyMCE.getWindowArg('vspace');
-		formObj.hspace.value = tinyMCE.getWindowArg('hspace');
-		formObj.width.value = tinyMCE.getWindowArg('width');
-		formObj.height.value = tinyMCE.getWindowArg('height');
-		formObj.height.value = tinyMCE.getWindowArg('height');
-		formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action')); 
-
-		window.focus();
-	}
-
-	function cancelAction() {
-		top.close();
-	}
-</script>
+	<title>{$lang_insert_image_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/image.js"></script>
+	<base target="_self" />
 </head>
-<body onload="window.focus();init();">
-<form onsubmit="insertImage();return false;">
-  <table border="0" cellpadding="0" cellspacing="0" width="100%">
-    <tr>
-      <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
+<body id="image" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertImage();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_image_title}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+     <table border="0" cellpadding="4" cellspacing="0">
+          <tr>
+            <td nowrap="nowrap"><label for="src">{$lang_insert_image_src}</label></td>
+            <td><table border="0" cellspacing="0" cellpadding="0">
+                <tr>
+                  <td><input id="src" name="src" type="text" value="" style="width: 200px" onchange="getImageData();"></td>
+                  <td id="srcbrowsercontainer">&nbsp;</td>
+                </tr>
+              </table></td>
+          </tr>
+		  <!-- Image list -->
+		  <script language="javascript">
+			if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+				var html = "";
+
+				html += '<tr><td><label for="image_list">{$lang_image_list}</label></td>';
+				html += '<td><select id="image_list" name="image_list" style="width: 200px" onchange="this.form.src.value=this.options[this.selectedIndex].value;resetImageData();getImageData();">';
+				html += '<option value="">---</option>';
+
+				for (var i=0; i<tinyMCEImageList.length; i++)
+					html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+				html += '</select></td></tr>';
+
+				document.write(html);
+			}
+		  </script>
+		  <!-- /Image list -->
           <tr>
-            <td colspan="2" class="title">{$lang_insert_image_title}</td>
+            <td nowrap="nowrap"><label for="alt">{$lang_insert_image_alt}</label></td>
+            <td><input id="alt" name="alt" type="text" value="" style="width: 200px"></td>
           </tr>
           <tr>
-            <td>{$lang_insert_image_src}:</td>
-            <td><input name="src" type="text" id="src" value="" style="width: 200px"></td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_image_alt}:</td>
-            <td><input name="alt" type="text" id="alt" value="" style="width: 200px"></td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_image_align}:</td>
-            <td><select name="align">
+            <td nowrap="nowrap"><label for="align">{$lang_insert_image_align}</label></td>
+            <td><select id="align" name="align">
                 <option value="">{$lang_insert_image_align_default}</option>
                 <option value="baseline">{$lang_insert_image_align_baseline}</option>
                 <option value="top">{$lang_insert_image_align_top}</option>
@@ -77,31 +65,36 @@
               </select></td>
           </tr>
           <tr>
-            <td>{$lang_insert_image_dimensions}:</td>
-            <td><input name="width" type="text" id="width" value="" size="3" maxlength="3">
+            <td nowrap="nowrap"><label for="width">{$lang_insert_image_dimensions}</label></td>
+            <td><input id="width" name="width" type="text" value="" size="3" maxlength="3">
               x
-              <input name="height" type="text" id="height" value="" size="3" maxlength="3"></td>
+              <input id="height" name="height" type="text" value="" size="3" maxlength="3"></td>
           </tr>
           <tr>
-            <td>{$lang_insert_image_border}:</td>
-            <td><input name="border" type="text" id="border" value="" size="3" maxlength="3"></td>
+            <td nowrap="nowrap"><label for="border">{$lang_insert_image_border}</label></td>
+            <td><input id="border" name="border" type="text" value="" size="3" maxlength="3"></td>
           </tr>
           <tr>
-            <td>{$lang_insert_image_vspace}:</td>
-            <td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3"></td>
+            <td nowrap="nowrap"><label for="vspace">{$lang_insert_image_vspace}</label></td>
+            <td><input id="vspace" name="vspace" type="text" value="" size="3" maxlength="3"></td>
           </tr>
           <tr>
-            <td>{$lang_insert_image_hspace}:</td>
-            <td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3"></td>
+            <td nowrap="nowrap"><label for="hspace">{$lang_insert_image_hspace}</label></td>
+            <td><input id="hspace" name="hspace" type="text" value="" size="3" maxlength="3"></td>
           </tr>
-          <tr>
-            <td><input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertImage();">
-            </td>
-            <td align="right"><input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();"></td>
-          </tr>
-        </table></td>
-    </tr>
-  </table>
+        </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertImage();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
 </form>
 </body>
 </html>
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/anchor.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/anchor.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/anchor_symbol.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/anchor_symbol.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/backcolor.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/backcolor.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_de_se.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_de_se.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_es.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_es.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_fr.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_fr.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_ru.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_ru.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_tw.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_tw.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/browse.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/browse.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bullist.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bullist.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/button_menu.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/button_menu.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/buttons.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/buttons.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/center.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/center.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/charmap.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/charmap.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cleanup.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cleanup.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/close.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/close.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/code.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/code.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/color.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/color.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/copy.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/copy.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/custom_1.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/custom_1.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cut.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cut.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/forecolor.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/forecolor.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/full.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/full.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/help.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/help.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/hr.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/hr.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/image.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/image.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/indent.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/indent.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/insert_button_bg.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/insert_button_bg.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_de_se.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_de_se.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_es.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_es.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_ru.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_ru.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_tw.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_tw.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifycenter.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifycenter.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyfull.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyfull.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyleft.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyleft.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyright.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyright.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/left.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/left.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/link.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/link.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/menu_check.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/menu_check.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/newdocument.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/newdocument.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/numlist.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/numlist.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/opacity.png and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/opacity.png differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/outdent.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/outdent.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/paste.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/paste.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/redo.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/redo.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/removeformat.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/removeformat.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/right.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/right.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/separator.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/separator.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/spacer.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/spacer.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/statusbar_resize.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/statusbar_resize.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/strikethrough.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/strikethrough.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/sub.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/sub.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/sup.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/sup.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_delete_col.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_delete_col.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_delete_row.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_delete_row.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_insert_col_after.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_insert_col_after.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_insert_col_before.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_insert_col_before.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_insert_row_after.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_insert_row_after.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_insert_row_before.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/table_insert_row_before.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_es.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_es.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_fr.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_fr.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_ru.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_ru.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_tw.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_tw.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/undo.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/undo.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/unlink.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/unlink.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/visualaid.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/visualaid.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_end.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_end.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/about.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/about.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/about.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/about.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,75 @@
+function init() {
+	var inst;
+
+	tinyMCEPopup.resizeToInnerSize();
+	inst = tinyMCE.selectedInstance;
+
+	// Give FF some time
+	window.setTimeout('insertHelpIFrame();', 10);
+
+	var tcont = document.getElementById('plugintablecontainer');
+	var plugins = tinyMCE.getParam('plugins', '', true, ',');
+	if (plugins.length == 0)
+		document.getElementById('plugins_tab').style.display = 'none';
+
+	var html = "";
+	html += '<table id="plugintable">';
+	html += '<thead>';
+	html += '<tr>';
+	html += '<td>' + tinyMCE.getLang('lang_plugin') + '</td>';
+	html += '<td>' + tinyMCE.getLang('lang_author') + '</td>';
+	html += '<td>' + tinyMCE.getLang('lang_version') + '</td>';
+	html += '</tr>';
+	html += '</thead>';
+	html += '<tbody>';
+
+	for (var i=0; i<inst.plugins.length; i++) {
+		var info = getPluginInfo(inst.plugins[i]);
+
+		html += '<tr>';
+
+		if (info.infourl != null && info.infourl != '')
+			html += '<td width="50%" title="' + plugins[i] + '"><a href="' + info.infourl + '" target="mceplugin">' + info.longname + '</a></td>';
+		else
+			html += '<td width="50%" title="' + plugins[i] + '">' + info.longname + '</td>';
+
+		if (info.authorurl != null && info.authorurl != '')
+			html += '<td width="35%"><a href="' + info.authorurl + '" target="mceplugin">' + info.author + '</a></td>';
+		else
+			html += '<td width="35%">' + info.author + '</td>';
+
+		html += '<td width="15%">' + info.version + '</td>';
+		html += '</tr>';
+	}
+
+	html += '</tbody>';
+	html += '</table>';
+
+	tcont.innerHTML = html;
+}
+
+function getPluginInfo(name) {
+	if (tinyMCE.plugins[name].getInfo)
+		return tinyMCE.plugins[name].getInfo();
+
+	return {
+		longname : name,
+		authorurl : '',
+		infourl : '',
+		author : '--',
+		version : '--'
+	};
+}
+
+function insertHelpIFrame() {
+	var html = '<iframe width="100%" height="300" src="' + tinyMCE.themeURL + "/docs/" + tinyMCE.settings['docs_language'] + "/index.htm" + '"></iframe>';
+
+	document.getElementById('iframecontainer').innerHTML = html;
+
+	html = '';
+	html += '<a href="http://www.moxiecode.com" target="_blank"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="Got Moxie?" border="0" /></a> ';
+	html += '<a href="http://sourceforge.net/projects/tinymce/" target="_blank"><img src="http://sourceforge.net/sflogo.php?group_id=103281" alt="Hosted By Sourceforge" border="0" /></a> ';
+	html += '<a href="http://www.freshmeat.net/projects/tinymce" target="_blank"><img src="http://tinymce.moxiecode.com/images/fm.gif" alt="Also on freshmeat" border="0" /></a> ';
+
+	document.getElementById('buttoncontainer').innerHTML = html;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,74 @@
+var action, element;
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");
+	var img = inst.getFocusElement();
+	action = 'insert';
+
+	if (anchor != null) {
+		element = anchor;
+		action = "update";
+	}
+
+	if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {
+		element = img;
+		action = "update";
+	}
+
+	if (action == "update")
+		document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");
+
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
+}
+
+function insertAnchor() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var name = document.forms[0].anchorName.value, e;
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+	if (action == "update") {
+		if (element.nodeName == "IMG")
+			element.setAttribute("title", name);
+		else
+			element.setAttribute("name", name);
+	} else {
+		var rng = inst.getRng();
+
+		if (rng.collapse)
+			rng.collapse(false);
+
+		name = name.replace(/&/g, '&amp;');
+		name = name.replace(/\"/g, '&quot;');
+		name = name.replace(/</g, '&lt;');
+		name = name.replace(/>/g, '&gt;');
+
+		// Fix for bug #1447335
+		if (tinyMCE.isGecko)
+			html = '<a id="mceNewAnchor" name="' + name + '"></a>';
+		else
+			html = '<a name="' + name + '"></a>';
+
+		tinyMCEPopup.execCommand("mceInsertContent", false, html);
+
+		// Fix for bug #1447335 force cursor after the anchor element
+		if (tinyMCE.isGecko) {
+			e = inst.getDoc().getElementById('mceNewAnchor');
+
+			if (e) {
+				inst.selection.selectNode(e, true, false, false);
+				e.removeAttribute('id');
+			}
+		}
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	}
+
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.close();
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,326 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+var charmap = new Array();
+
+// for mor details please see w3c.org
+// now here is the complete list ;)
+
+charmap = [
+	['&nbsp;',    '&#160;',  true, 'no-break space'],
+	['&amp;',     '&#38;',   true, 'ampersand'],
+	['&quot;',    '&#34;',   true, 'quotation mark'],
+// finance
+	['&cent;',    '&#162;',  true, 'cent sign'],
+	['&euro;',    '&#8364;', true, 'euro sign'],
+	['&pound;',   '&#163;',  true, 'pound sign'],
+	['&yen;',     '&#165;',  true, 'yen sign'],
+// signs
+	['&copy;',    '&#169;',  true, 'copyright sign'],
+	['&reg;',     '&#174;',  true, 'registered sign'],
+	['&trade;',   '&#8482;', true, 'trade mark sign'],
+	['&permil;',  '&#8240;', true, 'per mille sign'],
+	['&micro;',   '&#181;',  true, 'micro sign'],
+	['&middot;',  '&#183;',  true, 'middle dot'],
+	['&bull;',    '&#8226;', true, 'bullet'],
+	['&hellip;',  '&#8230;', true, 'three dot leader'],
+	['&prime;',   '&#8242;', true, 'minutes / feet'],
+	['&Prime;',   '&#8243;', true, 'seconds / inches'],
+	['&sect;',    '&#167;',  true, 'section sign'],
+	['&para;',    '&#182;',  true, 'paragraph sign'],
+	['&szlig;',   '&#223;',  true, 'sharp s / ess-zed'],
+// quotations
+	['&lsaquo;',  '&#8249;', true, 'single left-pointing angle quotation mark'],
+	['&rsaquo;',  '&#8250;', true, 'single right-pointing angle quotation mark'],
+	['&laquo;',   '&#171;',  true, 'left pointing guillemet'],
+	['&raquo;',   '&#187;',  true, 'right pointing guillemet'],
+	['&lsquo;',   '&#8216;', true, 'left single quotation mark'],
+	['&rsquo;',   '&#8217;', true, 'right single quotation mark'],
+	['&ldquo;',   '&#8220;', true, 'left double quotation mark'],
+	['&rdquo;',   '&#8221;', true, 'right double quotation mark'],
+	['&sbquo;',   '&#8218;', true, 'single low-9 quotation mark'],
+	['&bdquo;',   '&#8222;', true, 'double low-9 quotation mark'],
+	['&lt;',      '&#60;',   true, 'less-than sign'],
+	['&gt;',      '&#62;',   true, 'greater-than sign'],
+	['&le;',      '&#8804;', true, 'less-than or equal to'],
+	['&ge;',      '&#8805;', true, 'greater-than or equal to'],
+	['&ndash;',   '&#8211;', true, 'en dash'],
+	['&mdash;',   '&#8212;', true, 'em dash'],
+	['&macr;',    '&#175;',  true, 'macron'],
+	['&oline;',   '&#8254;', true, 'overline'],
+	['&curren;',  '&#164;',  true, 'currency sign'],
+	['&brvbar;',  '&#166;',  true, 'broken bar'],
+	['&uml;',     '&#168;',  true, 'diaeresis'],
+	['&iexcl;',   '&#161;',  true, 'inverted exclamation mark'],
+	['&iquest;',  '&#191;',  true, 'turned question mark'],
+	['&circ;',    '&#710;',  true, 'circumflex accent'],
+	['&tilde;',   '&#732;',  true, 'small tilde'],
+	['&deg;',     '&#176;',  true, 'degree sign'],
+	['&minus;',   '&#8722;', true, 'minus sign'],
+	['&plusmn;',  '&#177;',  true, 'plus-minus sign'],
+	['&divide;',  '&#247;',  true, 'division sign'],
+	['&frasl;',   '&#8260;', true, 'fraction slash'],
+	['&times;',   '&#215;',  true, 'multiplication sign'],
+	['&sup1;',    '&#185;',  true, 'superscript one'],
+	['&sup2;',    '&#178;',  true, 'superscript two'],
+	['&sup3;',    '&#179;',  true, 'superscript three'],
+	['&frac14;',  '&#188;',  true, 'fraction one quarter'],
+	['&frac12;',  '&#189;',  true, 'fraction one half'],
+	['&frac34;',  '&#190;',  true, 'fraction three quarters'],
+// math / logical
+	['&fnof;',    '&#402;',  true, 'function / florin'],
+	['&int;',     '&#8747;', true, 'integral'],
+	['&sum;',     '&#8721;', true, 'n-ary sumation'],
+	['&infin;',   '&#8734;', true, 'infinity'],
+	['&radic;',   '&#8730;', true, 'square root'],
+	['&sim;',     '&#8764;', false,'similar to'],
+	['&cong;',    '&#8773;', false,'approximately equal to'],
+	['&asymp;',   '&#8776;', true, 'almost equal to'],
+	['&ne;',      '&#8800;', true, 'not equal to'],
+	['&equiv;',   '&#8801;', true, 'identical to'],
+	['&isin;',    '&#8712;', false,'element of'],
+	['&notin;',   '&#8713;', false,'not an element of'],
+	['&ni;',      '&#8715;', false,'contains as member'],
+	['&prod;',    '&#8719;', true, 'n-ary product'],
+	['&and;',     '&#8743;', false,'logical and'],
+	['&or;',      '&#8744;', false,'logical or'],
+	['&not;',     '&#172;',  true, 'not sign'],
+	['&cap;',     '&#8745;', true, 'intersection'],
+	['&cup;',     '&#8746;', false,'union'],
+	['&part;',    '&#8706;', true, 'partial differential'],
+	['&forall;',  '&#8704;', false,'for all'],
+	['&exist;',   '&#8707;', false,'there exists'],
+	['&empty;',   '&#8709;', false,'diameter'],
+	['&nabla;',   '&#8711;', false,'backward difference'],
+	['&lowast;',  '&#8727;', false,'asterisk operator'],
+	['&prop;',    '&#8733;', false,'proportional to'],
+	['&ang;',     '&#8736;', false,'angle'],
+// undefined
+	['&acute;',   '&#180;',  true, 'acute accent'],
+	['&cedil;',   '&#184;',  true, 'cedilla'],
+	['&ordf;',    '&#170;',  true, 'feminine ordinal indicator'],
+	['&ordm;',    '&#186;',  true, 'masculine ordinal indicator'],
+	['&dagger;',  '&#8224;', true, 'dagger'],
+	['&Dagger;',  '&#8225;', true, 'double dagger'],
+// alphabetical special chars
+	['&Agrave;',  '&#192;',  true, 'A - grave'],
+	['&Aacute;',  '&#193;',  true, 'A - acute'],
+	['&Acirc;',   '&#194;',  true, 'A - circumflex'],
+	['&Atilde;',  '&#195;',  true, 'A - tilde'],
+	['&Auml;',    '&#196;',  true, 'A - diaeresis'],
+	['&Aring;',   '&#197;',  true, 'A - ring above'],
+	['&AElig;',   '&#198;',  true, 'ligature AE'],
+	['&Ccedil;',  '&#199;',  true, 'C - cedilla'],
+	['&Egrave;',  '&#200;',  true, 'E - grave'],
+	['&Eacute;',  '&#201;',  true, 'E - acute'],
+	['&Ecirc;',   '&#202;',  true, 'E - circumflex'],
+	['&Euml;',    '&#203;',  true, 'E - diaeresis'],
+	['&Igrave;',  '&#204;',  true, 'I - grave'],
+	['&Iacute;',  '&#205;',  true, 'I - acute'],
+	['&Icirc;',   '&#206;',  true, 'I - circumflex'],
+	['&Iuml;',    '&#207;',  true, 'I - diaeresis'],
+	['&ETH;',     '&#208;',  true, 'ETH'],
+	['&Ntilde;',  '&#209;',  true, 'N - tilde'],
+	['&Ograve;',  '&#210;',  true, 'O - grave'],
+	['&Oacute;',  '&#211;',  true, 'O - acute'],
+	['&Ocirc;',   '&#212;',  true, 'O - circumflex'],
+	['&Otilde;',  '&#213;',  true, 'O - tilde'],
+	['&Ouml;',    '&#214;',  true, 'O - diaeresis'],
+	['&Oslash;',  '&#216;',  true, 'O - slash'],
+	['&OElig;',   '&#338;',  true, 'ligature OE'],
+	['&Scaron;',  '&#352;',  true, 'S - caron'],
+	['&Ugrave;',  '&#217;',  true, 'U - grave'],
+	['&Uacute;',  '&#218;',  true, 'U - acute'],
+	['&Ucirc;',   '&#219;',  true, 'U - circumflex'],
+	['&Uuml;',    '&#220;',  true, 'U - diaeresis'],
+	['&Yacute;',  '&#221;',  true, 'Y - acute'],
+	['&Yuml;',    '&#376;',  true, 'Y - diaeresis'],
+	['&THORN;',   '&#222;',  true, 'THORN'],
+	['&agrave;',  '&#224;',  true, 'a - grave'],
+	['&aacute;',  '&#225;',  true, 'a - acute'],
+	['&acirc;',   '&#226;',  true, 'a - circumflex'],
+	['&atilde;',  '&#227;',  true, 'a - tilde'],
+	['&auml;',    '&#228;',  true, 'a - diaeresis'],
+	['&aring;',   '&#229;',  true, 'a - ring above'],
+	['&aelig;',   '&#230;',  true, 'ligature ae'],
+	['&ccedil;',  '&#231;',  true, 'c - cedilla'],
+	['&egrave;',  '&#232;',  true, 'e - grave'],
+	['&eacute;',  '&#233;',  true, 'e - acute'],
+	['&ecirc;',   '&#234;',  true, 'e - circumflex'],
+	['&euml;',    '&#235;',  true, 'e - diaeresis'],
+	['&igrave;',  '&#236;',  true, 'i - grave'],
+	['&iacute;',  '&#237;',  true, 'i - acute'],
+	['&icirc;',   '&#238;',  true, 'i - circumflex'],
+	['&iuml;',    '&#239;',  true, 'i - diaeresis'],
+	['&eth;',     '&#240;',  true, 'eth'],
+	['&ntilde;',  '&#241;',  true, 'n - tilde'],
+	['&ograve;',  '&#242;',  true, 'o - grave'],
+	['&oacute;',  '&#243;',  true, 'o - acute'],
+	['&ocirc;',   '&#244;',  true, 'o - circumflex'],
+	['&otilde;',  '&#245;',  true, 'o - tilde'],
+	['&ouml;',    '&#246;',  true, 'o - diaeresis'],
+	['&oslash;',  '&#248;',  true, 'o slash'],
+	['&oelig;',   '&#339;',  true, 'ligature oe'],
+	['&scaron;',  '&#353;',  true, 's - caron'],
+	['&ugrave;',  '&#249;',  true, 'u - grave'],
+	['&uacute;',  '&#250;',  true, 'u - acute'],
+	['&ucirc;',   '&#251;',  true, 'u - circumflex'],
+	['&uuml;',    '&#252;',  true, 'u - diaeresis'],
+	['&yacute;',  '&#253;',  true, 'y - acute'],
+	['&thorn;',   '&#254;',  true, 'thorn'],
+	['&yuml;',    '&#255;',  true, 'y - diaeresis'],
+    ['&Alpha;',   '&#913;',  true, 'Alpha'],
+	['&Beta;',    '&#914;',  true, 'Beta'],
+	['&Gamma;',   '&#915;',  true, 'Gamma'],
+	['&Delta;',   '&#916;',  true, 'Delta'],
+	['&Epsilon;', '&#917;',  true, 'Epsilon'],
+	['&Zeta;',    '&#918;',  true, 'Zeta'],
+	['&Eta;',     '&#919;',  true, 'Eta'],
+	['&Theta;',   '&#920;',  true, 'Theta'],
+	['&Iota;',    '&#921;',  true, 'Iota'],
+	['&Kappa;',   '&#922;',  true, 'Kappa'],
+	['&Lambda;',  '&#923;',  true, 'Lambda'],
+	['&Mu;',      '&#924;',  true, 'Mu'],
+	['&Nu;',      '&#925;',  true, 'Nu'],
+	['&Xi;',      '&#926;',  true, 'Xi'],
+	['&Omicron;', '&#927;',  true, 'Omicron'],
+	['&Pi;',      '&#928;',  true, 'Pi'],
+	['&Rho;',     '&#929;',  true, 'Rho'],
+	['&Sigma;',   '&#931;',  true, 'Sigma'],
+	['&Tau;',     '&#932;',  true, 'Tau'],
+	['&Upsilon;', '&#933;',  true, 'Upsilon'],
+	['&Phi;',     '&#934;',  true, 'Phi'],
+	['&Chi;',     '&#935;',  true, 'Chi'],
+	['&Psi;',     '&#936;',  true, 'Psi'],
+	['&Omega;',   '&#937;',  true, 'Omega'],
+	['&alpha;',   '&#945;',  true, 'alpha'],
+	['&beta;',    '&#946;',  true, 'beta'],
+	['&gamma;',   '&#947;',  true, 'gamma'],
+	['&delta;',   '&#948;',  true, 'delta'],
+	['&epsilon;', '&#949;',  true, 'epsilon'],
+	['&zeta;',    '&#950;',  true, 'zeta'],
+	['&eta;',     '&#951;',  true, 'eta'],
+	['&theta;',   '&#952;',  true, 'theta'],
+	['&iota;',    '&#953;',  true, 'iota'],
+	['&kappa;',   '&#954;',  true, 'kappa'],
+	['&lambda;',  '&#955;',  true, 'lambda'],
+	['&mu;',      '&#956;',  true, 'mu'],
+	['&nu;',      '&#957;',  true, 'nu'],
+	['&xi;',      '&#958;',  true, 'xi'],
+	['&omicron;', '&#959;',  true, 'omicron'],
+	['&pi;',      '&#960;',  true, 'pi'],
+	['&rho;',     '&#961;',  true, 'rho'],
+	['&sigmaf;',  '&#962;',  true, 'final sigma'],
+	['&sigma;',   '&#963;',  true, 'sigma'],
+	['&tau;',     '&#964;',  true, 'tau'],
+	['&upsilon;', '&#965;',  true, 'upsilon'],
+	['&phi;',     '&#966;',  true, 'phi'],
+	['&chi;',     '&#967;',  true, 'chi'],
+	['&psi;',     '&#968;',  true, 'psi'],
+	['&omega;',   '&#969;',  true, 'omega'],
+// symbols
+	['&alefsym;', '&#8501;', false,'alef symbol'],
+	['&piv;',     '&#982;',  false,'pi symbol'],
+	['&real;',    '&#8476;', false,'real part symbol'],
+	['&thetasym;','&#977;',  false,'theta symbol'],
+	['&upsih;',   '&#978;',  false,'upsilon - hook symbol'],
+	['&weierp;',  '&#8472;', false,'Weierstrass p'],
+	['&image;',   '&#8465;', false,'imaginary part'],
+// arrows
+	['&larr;',    '&#8592;', true, 'leftwards arrow'],
+	['&uarr;',    '&#8593;', true, 'upwards arrow'],
+	['&rarr;',    '&#8594;', true, 'rightwards arrow'],
+	['&darr;',    '&#8595;', true, 'downwards arrow'],
+	['&harr;',    '&#8596;', true, 'left right arrow'],
+	['&crarr;',   '&#8629;', false,'carriage return'],
+	['&lArr;',    '&#8656;', false,'leftwards double arrow'],
+	['&uArr;',    '&#8657;', false,'upwards double arrow'],
+	['&rArr;',    '&#8658;', false,'rightwards double arrow'],
+	['&dArr;',    '&#8659;', false,'downwards double arrow'],
+	['&hArr;',    '&#8660;', false,'left right double arrow'],
+	['&there4;',  '&#8756;', false,'therefore'],
+	['&sub;',     '&#8834;', false,'subset of'],
+	['&sup;',     '&#8835;', false,'superset of'],
+	['&nsub;',    '&#8836;', false,'not a subset of'],
+	['&sube;',    '&#8838;', false,'subset of or equal to'],
+	['&supe;',    '&#8839;', false,'superset of or equal to'],
+	['&oplus;',   '&#8853;', false,'circled plus'],
+	['&otimes;',  '&#8855;', false,'circled times'],
+	['&perp;',    '&#8869;', false,'perpendicular'],
+	['&sdot;',    '&#8901;', false,'dot operator'],
+	['&lceil;',   '&#8968;', false,'left ceiling'],
+	['&rceil;',   '&#8969;', false,'right ceiling'],
+	['&lfloor;',  '&#8970;', false,'left floor'],
+	['&rfloor;',  '&#8971;', false,'right floor'],
+	['&lang;',    '&#9001;', false,'left-pointing angle bracket'],
+	['&rang;',    '&#9002;', false,'right-pointing angle bracket'],
+	['&loz;',     '&#9674;', true,'lozenge'],
+	['&spades;',  '&#9824;', false,'black spade suit'],
+	['&clubs;',   '&#9827;', true, 'black club suit'],
+	['&hearts;',  '&#9829;', true, 'black heart suit'],
+	['&diams;',   '&#9830;', true, 'black diamond suit'],
+	['&ensp;',    '&#8194;', false,'en space'],
+	['&emsp;',    '&#8195;', false,'em space'],
+	['&thinsp;',  '&#8201;', false,'thin space'],
+	['&zwnj;',    '&#8204;', false,'zero width non-joiner'],
+	['&zwj;',     '&#8205;', false,'zero width joiner'],
+	['&lrm;',     '&#8206;', false,'left-to-right mark'],
+	['&rlm;',     '&#8207;', false,'right-to-left mark'],
+	['&shy;',     '&#173;',  false,'soft hyphen']
+];
+
+function renderCharMapHTML() {
+	var charsPerRow = 20, tdWidth=20, tdHeight=20;
+	var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
+	var cols=-1;
+	for (var i=0; i<charmap.length; i++) {
+		if (charmap[i][2]==true) {
+			cols++;
+			html += ''
+				+ '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'
+				+ ' onmouseover="this.className=\'charmapOver\';'
+				+ 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'
+				+ ' onmouseout="this.className=\'charmap\';"'
+				+ ' nowrap="nowrap" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');"><a style="text-decoration: none;" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'
+				+ charmap[i][1]
+				+ '</a></td>';
+			if ((cols+1) % charsPerRow == 0)
+				html += '</tr><tr height="' + tdHeight + '">';
+		}
+	 }
+	if (cols % charsPerRow > 0) {
+		var padd = charsPerRow - (cols % charsPerRow);
+		for (var i=0; i<padd-1; i++)
+			html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
+	}
+	html += '</tr></table>';
+	document.write(html);
+}
+
+function insertChar(chr) {
+	tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
+
+	// Refocus in window
+	if (tinyMCEPopup.isWindow)
+		window.focus();
+
+	tinyMCEPopup.close();
+}
+
+function previewChar(codeA, codeB, codeN) {
+	var elmA = document.getElementById('codeA');
+	var elmB = document.getElementById('codeB');
+	var elmV = document.getElementById('codeV');
+	var elmN = document.getElementById('codeN');
+
+	if (codeA=='#160;') {
+		elmV.innerHTML = '__';
+	} else {
+		elmV.innerHTML = '&' + codeA;
+	}
+
+	elmB.innerHTML = '&amp;' + codeA;
+	elmA.innerHTML = '&amp;' + codeB;
+	elmN.innerHTML = codeN;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,108 @@
+function init() {
+	if (tinyMCE.isMSIE)
+		tinyMCEPopup.resizeToInnerSize();
+}
+
+function selectColor() {
+	var color = document.getElementById("selectedColorBox").value;
+
+	tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, color);
+	tinyMCEPopup.close();
+}
+
+function showColor(color) {
+	document.getElementById("selectedColor").style.backgroundColor = color;
+	document.getElementById("selectedColorBox").value = color;
+}
+
+var colors = new Array(
+	"#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
+	"#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099",
+	"#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff",
+	"#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033",
+	"#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399",
+	"#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff",
+	"#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333",
+	"#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399",
+	"#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff",
+	"#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633",
+	"#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699",
+	"#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff",
+	"#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633",
+	"#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999",
+	"#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff",
+	"#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933",
+	"#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999",
+	"#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff",
+	"#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33",
+	"#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99",
+	"#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff",
+	"#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33",
+	"#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99",
+	"#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff",
+	"#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33",
+	"#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99",
+	"#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff"
+);
+
+function convertRGBToHex(col) {
+	var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+	var rgb = col.replace(re, "$1,$2,$3").split(',');
+	if (rgb.length == 3) {
+		r = parseInt(rgb[0]).toString(16);
+		g = parseInt(rgb[1]).toString(16);
+		b = parseInt(rgb[2]).toString(16);
+
+		r = r.length == 1 ? '0' + r : r;
+		g = g.length == 1 ? '0' + g : g;
+		b = b.length == 1 ? '0' + b : b;
+
+		return "#" + r + g + b;
+	}
+
+	return col;
+}
+
+function convertHexToRGB(col) {
+	if (col.indexOf('#') != -1) {
+		col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+		r = parseInt(col.substring(0, 2), 16);
+		g = parseInt(col.substring(2, 4), 16);
+		b = parseInt(col.substring(4, 6), 16);
+
+		return "rgb(" + r + "," + g + "," + b + ")";
+	}
+
+	return col;
+}
+
+function renderColorMap() {
+	var html = "";
+	var inputColor = convertRGBToHex(tinyMCE.getWindowArg('input_color'));
+
+	html += '<table border="0" cellspacing="1" cellpadding="0">'
+		+ '<tr>';
+	for (var i=0; i<colors.length; i++) {
+		html += '<td bgcolor="' + colors[i] + '">'
+			+ '<a href="javascript:selectColor();" onfocus="showColor(\'' + colors[i] +  '\');" onmouseover="showColor(\'' + colors[i] +  '\');">'
+			+ '<img border="0" src="images/spacer.gif" width="10" height="10" title="' + colors[i] +  '" alt="' + colors[i] +  '" /></a></td>';
+		if ((i+1) % 18 == 0)
+			html += '</tr><tr>';
+	}
+	html += '<tr><td colspan="18">'
+		+ '<table width="100%" border="0" cellspacing="0" cellpadding="0">'
+		+ '<tr><td>'
+		+ '<img id="selectedColor" style="background-color:' + tinyMCE.getWindowArg('input_color') + '" border="0" src="images/spacer.gif" width="80" height="16" />'
+		+ '</td><td align="right">'
+		+ '<input id="selectedColorBox" name="selectedColorBox" type="text" size="7" maxlength="7" style="width:65px" value="' + inputColor + '" />'
+		+ '</td></tr>'
+		+ '</table>'
+		+ '<div style="float: left"><input type="button" id="insert" name="insert" value="{$lang_theme_colorpicker_apply}" style="margin-top:3px" onclick="selectColor();"></div>'
+		+ '<div style="float: right"><input type="button" name="cancel" value="{$lang_cancel}" style="margin-top:3px" onclick="tinyMCEPopup.close();" id="cancel" /></div>'
+		+ '</td></tr>'
+		+ '</table>';
+
+	document.write(html);
+}
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/image.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/image.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/image.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/image.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,81 @@
+var url = tinyMCE.getParam("external_image_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function insertImage() {
+	var src = document.forms[0].src.value;
+	var alt = document.forms[0].alt.value;
+	var border = document.forms[0].border.value;
+	var vspace = document.forms[0].vspace.value;
+	var hspace = document.forms[0].hspace.value;
+	var width = document.forms[0].width.value;
+	var height = document.forms[0].height.value;
+	var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value;
+
+	tinyMCEPopup.restoreSelection();
+	tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align);
+	tinyMCEPopup.close();
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
+
+	var formObj = document.forms[0];
+
+	for (var i=0; i<document.forms[0].align.options.length; i++) {
+		if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
+			document.forms[0].align.options.selectedIndex = i;
+	}
+
+	formObj.src.value = tinyMCE.getWindowArg('src');
+	formObj.alt.value = tinyMCE.getWindowArg('alt');
+	formObj.border.value = tinyMCE.getWindowArg('border');
+	formObj.vspace.value = tinyMCE.getWindowArg('vspace');
+	formObj.hspace.value = tinyMCE.getWindowArg('hspace');
+	formObj.width.value = tinyMCE.getWindowArg('width');
+	formObj.height.value = tinyMCE.getWindowArg('height');
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+	// Handle file browser
+	if (isVisible('srcbrowser'))
+		document.getElementById('src').style.width = '180px';
+
+	// Auto select image in list
+	if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+		for (var i=0; i<formObj.image_list.length; i++) {
+			if (formObj.image_list.options[i].value == tinyMCE.getWindowArg('src'))
+				formObj.image_list.options[i].selected = true;
+		}
+	}
+}
+
+var preloadImg = new Image();
+
+function resetImageData() {
+	var formObj = document.forms[0];
+	formObj.width.value = formObj.height.value = "";	
+}
+
+function updateImageData() {
+	var formObj = document.forms[0];
+
+	if (formObj.width.value == "")
+		formObj.width.value = preloadImg.width;
+
+	if (formObj.height.value == "")
+		formObj.height.value = preloadImg.height;
+}
+
+function getImageData() {
+	preloadImg = new Image();
+	tinyMCE.addEvent(preloadImg, "load", updateImageData);
+	tinyMCE.addEvent(preloadImg, "error", function () {var formObj = document.forms[0];formObj.width.value = formObj.height.value = "";});
+	preloadImg.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/link.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/link.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/link.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/link.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,70 @@
+var url = tinyMCE.getParam("external_link_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','theme_advanced_link');
+
+	// Handle file browser
+	if (isVisible('hrefbrowser'))
+		document.getElementById('href').style.width = '180px';
+
+	var formObj = document.forms[0];
+
+	for (var i=0; i<document.forms[0].target.options.length; i++) {
+		var option = document.forms[0].target.options[i];
+
+		if (option.value == tinyMCE.getWindowArg('target'))
+			option.selected = true;
+	}
+
+	document.forms[0].href.value = tinyMCE.getWindowArg('href');
+	document.forms[0].linktitle.value = tinyMCE.getWindowArg('title');
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+	addClassesToList('styleSelect', 'theme_advanced_link_styles');
+	selectByValue(formObj, 'styleSelect', tinyMCE.getWindowArg('className'), true);
+
+	// Hide css select row if no CSS classes
+	if (formObj.styleSelect && formObj.styleSelect.options.length <= 1) {
+		var sr = document.getElementById('styleSelectRow');
+		sr.style.display = 'none';
+		sr.parentNode.removeChild(sr);
+	}
+
+	// Auto select link in list
+	if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+		var formObj = document.forms[0];
+
+		for (var i=0; i<formObj.link_list.length; i++) {
+			if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('href'))
+				formObj.link_list.options[i].selected = true;
+		}
+	}
+}
+
+function insertLink() {
+	var href = document.forms[0].href.value;
+	var target = document.forms[0].target.options[document.forms[0].target.selectedIndex].value;
+	var title = document.forms[0].linktitle.value;
+	var style_class = document.forms[0].styleSelect ? document.forms[0].styleSelect.value : "";
+	var dummy;
+
+	// Make anchors absolute
+	if (href.charAt(0) == '#')
+		href = tinyMCE.settings['document_base_url'] + href;
+
+	if (target == '_self')
+		target = '';
+
+	tinyMCEPopup.restoreSelection();
+	tinyMCE.themes['advanced']._insertLink(href, target, title, dummy, style_class);
+	tinyMCEPopup.close();
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/source_editor.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/source_editor.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/source_editor.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/source_editor.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,66 @@
+function saveContent() {
+	tinyMCE.setContent(document.getElementById('htmlSource').value);
+	tinyMCE.closeWindow(window);
+}
+
+// Fixes some charcode issues
+function fixContent(html) {
+/*	html = html.replace(new RegExp('<(p|hr|table|tr|td|ol|ul|object|embed|li|blockquote)', 'gi'),'\n<$1');
+	html = html.replace(new RegExp('<\/(p|ol|ul|li|table|tr|td|blockquote|object)>', 'gi'),'</$1>\n');
+	html = tinyMCE.regexpReplace(html, '<br />','<br />\n','gi');
+	html = tinyMCE.regexpReplace(html, '\n\n','\n','gi');*/
+	return html;
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.forms[0].htmlSource.value = fixContent(tinyMCE.getContent(tinyMCE.getWindowArg('editor_id')));
+	resizeInputs();
+
+	if (tinyMCE.getParam("theme_advanced_source_editor_wrap", true)) {
+		setWrap('soft');
+		document.forms[0].wraped.checked = true;
+	}
+}
+
+function setWrap(val) {
+	var s = document.forms[0].htmlSource;
+
+	s.wrap = val;
+
+	if (tinyMCE.isGecko) {
+		var v = s.value;
+		var n = s.cloneNode(false);
+		n.setAttribute("wrap", val);
+		s.parentNode.replaceChild(n, s);
+		n.value = v;
+	}
+}
+
+function toggleWordWrap(elm) {
+	if (elm.checked)
+		setWrap('soft');
+	else
+		setWrap('off');
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+	if (!tinyMCE.isMSIE) {
+		 wHeight = self.innerHeight-80;
+		 wWidth = self.innerWidth-16;
+	} else {
+		 wHeight = document.body.clientHeight - 80;
+		 wWidth = document.body.clientWidth - 16;
+	}
+
+	document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
+	document.forms[0].htmlSource.style.width  = Math.abs(wWidth) + 'px';
+}
+
+function renderWordWrap() {
+	if (tinyMCE.isMSIE || tinyMCE.isGecko)
+		document.write('<input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{$lang_theme_code_wordwrap}</label>');
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,81 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '-- Styles --',
+theme_code_desc : 'Edit HTML Source',
+theme_code_title : 'HTML Source Editor',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Subscript',
+theme_sup_desc : 'Superscript',
+theme_hr_desc : 'Insert horizontal ruler',
+theme_removeformat_desc : 'Remove formatting',
+theme_custom1_desc : 'Your custom description here',
+insert_image_border : 'Border',
+insert_image_dimensions : 'Dimensions',
+insert_image_vspace : 'Vertical space',
+insert_image_hspace : 'Horizontal space',
+insert_image_align : 'Alignment',
+insert_image_align_default : '-- Not set --',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Top',
+insert_image_align_middle : 'Middle',
+insert_image_align_bottom : 'Bottom',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Absolute Middle',
+insert_image_align_absbottom : 'Absolute Bottom',
+insert_image_align_left : 'Left',
+insert_image_align_right : 'Right',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatted',
+theme_h1 : 'Heading 1',
+theme_h2 : 'Heading 2',
+theme_h3 : 'Heading 3',
+theme_h4 : 'Heading 4',
+theme_h5 : 'Heading 5',
+theme_h6 : 'Heading 6',
+theme_blockquote : 'Blockquote',
+theme_code : 'Code',
+theme_samp : 'Code sample',
+theme_dt : 'Definition term ',
+theme_dd : 'Definition description',
+theme_colorpicker_title : 'Select a color',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : 'Select text color',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Class',
+newdocument : 'Are you sure you want clear all contents?',
+about_title : 'About TinyMCE',
+about : 'About',
+license : 'License',
+plugins : 'Plugins',
+plugin : 'Plugin',
+author : 'Author',
+version : 'Version',
+loaded_plugins : 'Loaded plugins',
+help : 'Help',
+not_set : '-- Not set --',
+close : 'Close',
+toolbar_focus : 'Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X'
+});
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/uk.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/uk.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/uk.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/uk.js	1969-12-31 18:00:00.000000000 -0600
@@ -1,72 +0,0 @@
-// UK lang variables
-
-tinyMCELang['lang_theme_style_select'] = 'Styles';
-tinyMCELang['lang_theme_code_desc'] = 'Edit HTML Source';
-tinyMCELang['lang_theme_code_title'] = 'HTML Source Editor';
-tinyMCELang['lang_theme_code_wordwrap'] = 'Word wrap';
-tinyMCELang['lang_theme_sub_desc'] = 'Subscript';
-tinyMCELang['lang_theme_sup_desc'] = 'Superscript';
-tinyMCELang['lang_theme_hr_desc'] = 'Insert horizontal ruler';
-tinyMCELang['lang_theme_removeformat_desc'] = 'Remove formatting';
-tinyMCELang['lang_theme_table_desc'] = 'Inserts a new table';
-tinyMCELang['lang_theme_table_insert_row_before_desc'] = 'Insert row before';
-tinyMCELang['lang_theme_table_insert_row_after_desc'] = 'Insert row after';
-tinyMCELang['lang_theme_table_delete_row_desc'] = 'Delete row';
-tinyMCELang['lang_theme_table_insert_col_before_desc'] = 'Insert column before';
-tinyMCELang['lang_theme_table_insert_col_after_desc'] = 'Insert column after';
-tinyMCELang['lang_theme_table_delete_col_desc'] = 'Remove col';
-tinyMCELang['lang_theme_custom1_desc'] = 'Your custom description here';
-tinyMCELang['lang_insert_image_border'] = 'Border';
-tinyMCELang['lang_insert_image_dimensions'] = 'Dimensions';
-tinyMCELang['lang_insert_image_vspace'] = 'VSpace';
-tinyMCELang['lang_insert_image_hspace'] = 'HSpace';
-tinyMCELang['lang_insert_image_align'] = 'Alignment';
-tinyMCELang['lang_insert_image_align_default'] = 'Default';
-tinyMCELang['lang_insert_image_align_baseline'] = 'Baseline';
-tinyMCELang['lang_insert_image_align_top'] = 'Top';
-tinyMCELang['lang_insert_image_align_middle'] = 'Middle';
-tinyMCELang['lang_insert_image_align_bottom'] = 'Bottom';
-tinyMCELang['lang_insert_image_align_texttop'] = 'TextTop';
-tinyMCELang['lang_insert_image_align_absmiddle'] = 'Absolute Middle';
-tinyMCELang['lang_insert_image_align_absbottom'] = 'Absolute Bottom';
-tinyMCELang['lang_insert_image_align_left'] = 'Left';
-tinyMCELang['lang_insert_image_align_right'] = 'Right';
-tinyMCELang['lang_insert_table_title'] = 'Insert/Modify table';
-tinyMCELang['lang_insert_table_width'] = 'Width';
-tinyMCELang['lang_insert_table_height'] = 'Height';
-tinyMCELang['lang_insert_table_cols'] = 'Columns';
-tinyMCELang['lang_insert_table_rows'] = 'Rows';
-tinyMCELang['lang_insert_table_cellspacing'] = 'Cellspacing';
-tinyMCELang['lang_insert_table_cellpadding'] = 'Cellpadding';
-tinyMCELang['lang_insert_table_border'] = 'Border';
-tinyMCELang['lang_insert_table_align'] = 'Alignment';
-tinyMCELang['lang_insert_table_align_default'] = 'Default';
-tinyMCELang['lang_insert_table_align_left'] = 'Left';
-tinyMCELang['lang_insert_table_align_right'] = 'Right';
-tinyMCELang['lang_insert_table_align_middle'] = 'Middle';
-tinyMCELang['lang_insert_table_class'] = 'Class';
-tinyMCELang['lang_theme_fontdefault'] = 'Default';
-tinyMCELang['lang_theme_paragraph'] = 'Paragraph';
-tinyMCELang['lang_theme_div'] = 'Div';
-tinyMCELang['lang_theme_address'] = 'Address';
-tinyMCELang['lang_theme_pre'] = 'Preformatted';
-tinyMCELang['lang_theme_h1'] = 'Heading 1';
-tinyMCELang['lang_theme_h2'] = 'Heading 2';
-tinyMCELang['lang_theme_h3'] = 'Heading 3';
-tinyMCELang['lang_theme_h4'] = 'Heading 4';
-tinyMCELang['lang_theme_h5'] = 'Heading 5';
-tinyMCELang['lang_theme_h6'] = 'Heading 6';
-tinyMCELang['lang_theme_colorpicker_title'] = 'Select a color';
-tinyMCELang['lang_theme_colorpicker_apply'] = 'Apply';
-tinyMCELang['lang_theme_forecolor_desc'] = 'Select forecolor';
-tinyMCELang['lang_theme_charmap_title'] = 'Select custom character';
-tinyMCELang['lang_theme_charmap_desc'] = 'Insert custom character';
-tinyMCELang['lang_theme_visualaid_desc'] = 'Toggle guidelines/invisible elements';
-tinyMCELang['lang_insert_anchor_title'] = 'Insert/edit anchor';
-tinyMCELang['lang_insert_anchor_name'] = 'Anchor name';
-tinyMCELang['lang_theme_anchor_desc'] = 'Insert/edit anchor';
-tinyMCELang['lang_theme_insert_link_titlefield'] = 'Title';
-tinyMCELang['lang_theme_clipboard_msg'] = 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?';
-tinyMCELang['lang_cut_desc'] = 'Cut';
-tinyMCELang['lang_copy_desc'] = 'Copy';
-tinyMCELang['lang_paste_desc'] = 'Paste';
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/link.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/link.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/link.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/link.htm	2006-08-01 01:34:25.000000000 -0500
@@ -1,70 +1,100 @@
-<html>
+<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title>{$lang_insert_link_title}</title>
-<script language="javascript" src="../../tiny_mce_popup.js"></script>
-<script language="javascript">
-	function init() {
-		for (var i=0; i<document.forms[0].target.options.length; i++) {
-			var option = document.forms[0].target.options[i];
-
-			if (option.value == tinyMCE.getWindowArg('target'))
-				option.selected = true;
-		}
-
-		document.forms[0].href.value = tinyMCE.getWindowArg('href');
-		document.forms[0].linktitle.value = tinyMCE.getWindowArg('title');
-		document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action')); 
-
-		window.focus();
-	}
-
-	function insertLink() {
-		if (window.opener) {
-			var href = document.forms[0].href.value;
-			var target = document.forms[0].target.options[document.forms[0].target.selectedIndex].value;
-			var title = document.forms[0].linktitle.value;
-
-			window.opener.tinyMCE.insertLink(href, target, title);
-			top.close();
-		}
-	}
-
-	function cancelAction() {
-		top.close();
-	}
-</script>
+	<title>{$lang_insert_link_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/link.js"></script>
+	<base target="_self" />
 </head>
-<body onload="init();">
-<form onsubmit="insertLink();return false;">
-  <table border="0" cellpadding="0" cellspacing="0" width="100%">
-    <tr>
-      <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
-          <tr>
-            <td colspan="2" class="title">{$lang_insert_link_title}</td>
-          </tr>
+<body id="link" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertLink();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_link_title}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+
+		<table border="0" cellpadding="4" cellspacing="0">
           <tr>
-            <td>{$lang_insert_link_url}:</td>
-            <td><input name="href" type="text" id="href" value="" style="width: 200px"></td>
+            <td nowrap="nowrap"><label for="href">{$lang_insert_link_url}</label></td>
+            <td><table border="0" cellspacing="0" cellpadding="0"> 
+				  <tr> 
+					<td><input id="href" name="href" type="text" value="" style="width: 200px" /></td> 
+					<td id="hrefbrowsercontainer">&nbsp;</td>
+				  </tr> 
+				</table></td>
           </tr>
+		  <!-- Link list -->
+		  <script language="javascript">
+			if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+				var html = "";
+
+				html += '<tr><td><label for="link_list">{$lang_link_list}</label></td>';
+				html += '<td><select id="link_list" name="link_list" style="width: 200px" onchange="this.form.href.value=this.options[this.selectedIndex].value;">';
+				html += '<option value="">---</option>';
+
+				for (var i=0; i<tinyMCELinkList.length; i++)
+					html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+				html += '</select></td></tr>';
+
+				document.write(html);
+			}
+		  </script>
+		  <!-- /Link list -->
           <tr>
-            <td>{$lang_insert_link_target}:</td>
-            <td><select name="target" style="width: 200px">
+            <td nowrap="nowrap"><label for="target">{$lang_insert_link_target}</label></td>
+            <td><select id="target" name="target" style="width: 200px">
                 <option value="_self">{$lang_insert_link_target_same}</option>
                 <option value="_blank">{$lang_insert_link_target_blank}</option>
+				<script language="javascript">
+					var html = "";
+					var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+
+					for (var i=0; i<targets.length; i++) {
+						var key, value;
+
+						if (targets[i] == "")
+							continue;
+
+						key = targets[i].split('=')[0];
+						value = targets[i].split('=')[1];
+
+						html += '<option value="' + value + '">' + key + '</option>';
+					}
+
+					document.write(html);
+				</script>
             </select></td>
           </tr>
           <tr>
-            <td>{$lang_theme_insert_link_titlefield}:</td>
-            <td><input name="linktitle" type="text" id="linktitle" value="" style="width: 200px"></td>
+            <td nowrap="nowrap"><label for="linktitle">{$lang_theme_insert_link_titlefield}</label></td>
+            <td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px"></td>
           </tr>
-          <tr>
-            <td><input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertLink();">
-            </td>
-            <td align="right"><input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();"></td>
+          <tr id="styleSelectRow">
+            <td><label for="styleSelect">{$lang_class_name}</label></td>
+            <td>
+			 <select id="styleSelect" name="styleSelect">
+                <option value="" selected>{$lang_theme_style_select}</option>
+             </select></td>
           </tr>
-        </table></td>
-    </tr>
-  </table>
+        </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertLink();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
 </form>
 </body>
 </html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm	2006-08-01 01:34:25.000000000 -0500
@@ -1,88 +1,30 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>{$lang_theme_code_title}</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
-<script language="javascript" type="text/javascript">
-<!--
-    function saveContent() {
-        if (window.opener) {
-            window.opener.tinyMCE.setContent(document.getElementById('htmlSource').value);
-            window.close();
-        }
-    }
-
-    // Fixes some charcode issues
-    function fixContent(html) {
-        html = html.replace(new RegExp(/<(p|hr|table|tr|td|ol|ul|object|embed|li|blockquote)/gi),'\n<$1');
-        html = html.replace(new RegExp(/<\/(p|ol|ul|li|table|tr|td|blockquote|object)>/gi),'</$1>\n');
-        html = tinyMCE.regexpReplace(html, '<br />','<br />\n','gi');
-        html = tinyMCE.regexpReplace(html, '\n\n','\n','gi');
-        return html;
-    }
-
-    function onLoadInit() {
-        document.forms[0].htmlSource.value = fixContent(tinyMCE.getContent(tinyMCE.getWindowArg('editor_id')));
-        resizeInputs();
-        setWrap('off');
-    }
-
-    function setWrap(val) {
-        // hard soft off
-        document.forms[0].htmlSource.wrap = val;
-    }
-
-	function toggleWordWrap(elm) {
-		if (elm.checked)
-			setWrap('soft');
-		else
-			setWrap('off');
-	}
-
-    var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
-
-    function resizeInputs() {
-        if (!tinyMCE.isMSIE) {
-             wHeight = self.innerHeight-80;
-             wWidth = self.innerWidth-25;
-        } else {
-             wHeight = document.body.clientHeight-80;
-             wWidth = document.body.clientWidth-25;
-        }
-
-        document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
-        document.forms[0].htmlSource.style.width  = Math.abs(wWidth) + 'px';
-            
-    }
-
-    window.focus();
-//-->
-</script>
-</head>
-<body scroll="no" onload="onLoadInit();" onresize="resizeInputs();">
-<form name="source" onsubmit="saveContent();">
-    <table border="0" cellpadding="0" cellspacing="2" align="center">
-        <tr>
-            <td class="title">{$lang_theme_code_title}</td>
-            <td align="right"><script language="javascript" type="text/javascript">
-<!--
-    if (tinyMCE.isMSIE) {
-        document.write('<input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{$lang_theme_code_wordwrap}</label>');
-    }
-//-->
-            </script></td>
-        </tr>
-        <tr>
-            <td colspan="2" align="center">
-                <textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea>
-            </td>
-        </tr>
-        <tr>
-            <td colspan="2" align="right"><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="saveContent();" /></td>
-        </tr>
-    </table>
-</form>
-</body>
-</html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>{$lang_theme_code_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/source_editor.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+	<form name="source" onsubmit="saveContent();" action="#">
+		<div style="float: left" class="title">{$lang_theme_code_title}</div>
+
+		<div style="float: right">
+			<script language="javascript" type="text/javascript">renderWordWrap();</script>
+		</div>
+
+		<textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px" dir="ltr" wrap="off"></textarea>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" name="insert" value="{$lang_update}" onclick="saveContent();" id="insert" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/table.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/table.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/table.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/table.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>{$lang_insert_table_title}</title>
-<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
-<script language="javascript" type="text/javascript">
-function insertTable() {
-	if (window.opener) {
-		var args = new Array();
-		args["cols"] = document.forms[0].cols.value;
-		args["rows"] = document.forms[0].rows.value;
-		args["border"] = document.forms[0].border.value;
-		args["cellpadding"] = document.forms[0].cellpadding.value;
-		args["cellspacing"] = document.forms[0].cellspacing.value;
-		args["width"] = document.forms[0].width.value;
-		args["height"] = document.forms[0].height.value;
-		args["align"] = document.forms[0].align.options[document.forms[0].align.selectedIndex].value;
-		args["className"] = document.forms[0].styleSelect.options[document.forms[0].styleSelect.selectedIndex].value;
-
-		window.opener.tinyMCE.execCommand("mceInsertTable", false, args);
-		top.close();
-	}
-}
-
-function init() {
-	for (var i=0; i<document.forms[0].align.options.length; i++) {
-		if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
-			document.forms[0].align.options.selectedIndex = i;
-	}
-
-	var className = tinyMCE.getWindowArg('className');
-	var styleSelectElm = document.forms[0].styleSelect;
-	var stylesAr = tinyMCE.getParam('theme_advanced_styles', false);
-	if (stylesAr) {
-		stylesAr = stylesAr.split(';');
-
-		for (var i=0; i<stylesAr.length; i++) {
-			var key, value;
-
-			key = stylesAr[i].split('=')[0];
-			value = stylesAr[i].split('=')[1];
-
-			styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
-			if (value == className)
-				styleSelectElm.options.selectedIndex = styleSelectElm.options.length-1;
-		}
-	} else {
-		var csses = tinyMCE.getCSSClasses(tinyMCE.getWindowArg('editor_id'));
-		for (var i=0; i<csses.length; i++) {
-			styleSelectElm.options[styleSelectElm.length] = new Option(csses[i], csses[i]);
-			if (csses[i] == className)
-				styleSelectElm.options.selectedIndex = styleSelectElm.options.length-1;
-		}
-	}
-
-	if (tinyMCE.getWindowArg('action') == "update") {
-		document.forms[0].cols.disabled = true;
-		document.forms[0].rows.disabled = true;
-	}
-
-	var formObj = document.forms[0];
-	formObj.cols.value = tinyMCE.getWindowArg('cols');
-	formObj.rows.value = tinyMCE.getWindowArg('rows');
-	formObj.border.value = tinyMCE.getWindowArg('border');
-	formObj.cellpadding.value = tinyMCE.getWindowArg('cellpadding');
-	formObj.cellspacing.value = tinyMCE.getWindowArg('cellspacing');
-	formObj.width.value = tinyMCE.getWindowArg('width');
-	formObj.height.value = tinyMCE.getWindowArg('height');
-	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action')); 
-
-	window.focus();
-}
-
-function cancelAction() {
-	top.close();
-}
-</script>
-</head>
-<body onload="window.focus();init();">
-<form onsubmit="insertTable();return false;">
-  <table border="0" cellpadding="0" cellspacing="0" width="100%">
-    <tr>
-      <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
-          <tr>
-            <td colspan="4" class="title">{$lang_insert_table_title}</td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_table_cols}:</td>
-            <td><input name="cols" type="text" id="cols" value="" size="3" maxlength="3"></td>
-            <td>{$lang_insert_table_rows}:</td>
-            <td><input name="rows" type="text" id="rows" value="" size="3" maxlength="3"></td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_table_cellpadding}:</td>
-            <td><input name="cellpadding" type="text" id="cellpadding" value="" size="3" maxlength="3"></td>
-            <td>{$lang_insert_table_cellspacing}:</td>
-            <td><input name="cellspacing" type="text" id="cellspacing" value="" size="3" maxlength="3"></td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_table_align}:</td>
-            <td><select name="align">
-                <option value="">{$lang_insert_table_align_default}</option>
-                <option value="center">{$lang_insert_table_align_middle}</option>
-                <option value="left">{$lang_insert_table_align_left}</option>
-                <option value="right">{$lang_insert_table_align_right}</option>
-              </select></td>
-            <td>{$lang_insert_table_border}:</td>
-            <td><input name="border" type="text" id="border" value="" size="3" maxlength="3"></td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_table_width}:</td>
-            <td><input name="width" type="text" id="width" value="" size="4" maxlength="4"></td>
-            <td>{$lang_insert_table_height}: </td>
-            <td><input name="height" type="text" id="height" value="" size="4" maxlength="4"></td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_table_class}:</td>
-            <td>
-			 <select name="styleSelect">
-                <option value="" selected>-- {$lang_theme_style_select} --</option>
-             </select></td>
-            <td align="right">&nbsp;</td>
-            <td align="right">&nbsp;</td>
-          </tr>
-          <tr>
-            <td><input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertTable();"></td>
-            <td align="right">&nbsp;</td>
-            <td align="right">&nbsp;</td>
-            <td align="right"><input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();"></td>
-          </tr>
-        </table></td>
-    </tr>
-  </table>
-</form>
-</body>
-</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/about.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/about.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/about.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/about.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>About TinyMCE</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">About TinyMCE</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla 
-that enables you to edit HTML contents in a more user friendly way. It has common 
-features that are found in most word processors and should not be difficult to 
-use.<br>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-<br>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/common_buttons.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/common_buttons.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/common_buttons.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/common_buttons.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,111 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Common buttons</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Common buttons</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-Below is a short description about each button.<img src="../../images/spacer.gif" width="1" height="1"> 
-<br>
-<br>
-<table border="1" cellpadding="3" cellspacing="0">
-  <tr>
-    <td><img src="../../images/bold.gif" width="20" height="20"></td>
-    <td>Bold text style.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/italic.gif" width="20" height="20"></td>
-    <td>Italic text style.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/underline.gif" width="20" height="20"></td>
-    <td>Underline text style.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
-    <td>Strikethrough text style.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/left.gif" width="20" height="20"></td>
-    <td>Align left.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/center.gif" width="20" height="20"></td>
-    <td>Align center.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/right.gif" width="20" height="20"></td>
-    <td>Align right.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/full.gif" width="20" height="20"></td>
-    <td>Align full.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
-    <td>Unordered list/bullet list.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
-    <td>Ordered list/numbered list</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
-    <td>Outdent/decrease indentation.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/indent.gif" width="20" height="20"></td>
-    <td>Indent/incread indentation.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/undo.gif" width="20" height="20"></td>
-    <td>Undo the last operation.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/redo.gif" width="20" height="20"></td>
-    <td>Redo the last operation.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/link.gif" width="20" height="20"></td>
-    <td>Insert a new link, read more about this function in the <a href="insert_link_button.htm">Insert 
-      link section</a>.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
-    <td>Unlinks the current selection/removes all selected links.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/image.gif" width="20" height="20"></td>
-    <td>Insert a new image, read more about this function in the <a href="insert_image_button.htm">Insert 
-      image section</a>.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
-    <td>Cleanup code/Removes unwanted formating. This function is useful when 
-      you copy contents from for example a office product.</td>
-  </tr>
-  <tr>
-    <td><img src="../../images/help.gif" width="20" height="20"></td>
-    <td>Shows this help window.</td>
-  </tr>
-</table>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/insert_image_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/insert_image_window.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/insert_link_window.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/insert_link_window.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/index.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/index.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/index.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/index.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Help Index</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-<BODY onload="window.focus();">
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Table of contents</span></td>
-    <td align="right">&nbsp;</td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-Click the links below to go to the different help sections. 
-<ul class="toc_ul">
-  <li class="toc_li"><a href="about.htm">About TinyMCE</a></li>
-  <li class="toc_li"><a href="common_buttons.htm">Common buttons</a></li>
-  <li class="toc_li"><a href="insert_image_button.htm">Insert image button</a></li>
-  <li class="toc_li"><a href="insert_link_button.htm">Insert link button</a></li>
-</ul>
-<hr noshade>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_image_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_image_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_image_button.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_image_button.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Insert image button</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Insert image button</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-The insert image button opens the window shown below.<br>
-<br>
-<img src="images/insert_image_window.gif" width="350" height="159"><br>
-<br>
-You simply enter a URL to the image you want to link to and enter a image description, 
-this is then displayed as an alternative text descripton of the image on the page.<br>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-<br>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_link_button.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_link_button.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_link_button.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_link_button.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Insert link button</TITLE>
-<link href="style.css" rel="stylesheet" type="text/css">
-</HEAD>
-
-<BODY>
-
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
-  <tr> 
-    <td><span class="title">Insert link button</span></td>
-    <td align="right"><a href="index.htm">TOC</a></td>
-  </tr>
-</table>
-<hr noshade>
-<br>
-This button opens a new window with the insert/edit link function.<br>
-<br>
-<img src="images/insert_link_window.gif" width="330" height="159"><br>
-<br>
-There are two fields in this window the first one &quot;Link URL&quot; is the 
-URL of the link. The target enables you to select how the link is to be opened.<br>
-<br>
-<hr noshade>
-<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
-  <tr> 
-    <td>Go to: <a href="index.htm">Table of contents</a></td>
-    <td align="right"><a href="#">Top</a></td>
-  </tr>
-</table>
-<br>
-</BODY>
-</HTML>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/style.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/style.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/style.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/docs/uk/style.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,28 +0,0 @@
-body { background-color: #FFFFFF; }
-body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
-.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
-.subtitle { font-size: 12px; font-weight: bold; }
-
-.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
-.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
-img { border: #000000 solid 1px; }
-
-a:visited { color: #666666; text-decoration: underline; }
-a:active { color: #666666; text-decoration: underline; }
-a:hover { color: #666666; text-decoration: underline; }
-a { color: #666666; text-decoration: underline; }
-
-.pageheader { border: #E0E0E0 solid 1px; }
-.pagefooter { border: #E0E0E0 solid 1px; }
-.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
-.samplecontent { font-size: 10px; }
-
-.code { background-color: #FFFFFF; border: #000000 solid 1px; }
-.codecontent { font-size: 10px; }
-.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
-.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
-.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
-.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
-
-hr { height: 1px; }
-
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_content.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_content.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_content.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_content.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,24 +0,0 @@
-body {
-	background-color: #FFFFFF;
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 10px;
-	scrollbar-3dlight-color: #F0F0EE;
-	scrollbar-arrow-color: #676662;
-	scrollbar-base-color: #F0F0EE;
-	scrollbar-darkshadow-color: #DDDDDD;
-	scrollbar-face-color: #E0E0DD;
-	scrollbar-highlight-color: #F0F0EE;
-	scrollbar-shadow-color: #F0F0EE;
-	scrollbar-track-color: #F5F5F5;
-}
-
-td {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 10px;
-}
-
-pre {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 10px;
-}
-
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_popup.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_popup.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_popup.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_popup.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,41 +0,0 @@
-body {
-	background-color: #F0F0EE;
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 11px;
-	scrollbar-3dlight-color: #F0F0EE;
-	scrollbar-arrow-color: #676662;
-	scrollbar-base-color: #F0F0EE;
-	scrollbar-darkshadow-color: #DDDDDD;
-	scrollbar-face-color: #E0E0DD;
-	scrollbar-highlight-color: #F0F0EE;
-	scrollbar-shadow-color: #F0F0EE;
-	scrollbar-track-color: #F5F5F5;
-}
-
-td {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 11px;
-}
-
-input {
-	background: #FFFFFF;
-	border: 1px solid #cccccc;
-}
-
-td, input, select, textarea {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 10px;
-}
-
-input, select, textarea {
-	border: 1px solid #808080;
-}
-
-.input_noborder {
-	border: 0px solid #808080;
-}
-
-.title {
-	font-size: 12px;
-	font-weight: bold;
-}
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_template.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_template.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_template.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_template.js	1969-12-31 18:00:00.000000000 -0600
@@ -1,151 +0,0 @@
-function TinyMCE_default_getEditorTemplate() {
-	var template = new Array();
-
-	template['html'] = '\
-<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">\
-<tr><td align="center">\
-<span id="{$editor_id}">IFRAME</span>\
-</td></tr>\
-<tr><td class="mceToolbar" align="center" height="1">\
-<img id="{$editor_id}_bold" src="{$themeurl}/images/{$lang_bold_img}" title="{$lang_bold_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Bold\')">\
-<img id="{$editor_id}_italic" src="{$themeurl}/images/{$lang_italic_img}" title="{$lang_italic_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Italic\')">\
-<img id="{$editor_id}_underline" src="{$themeurl}/images/{$lang_underline_img}" title="{$lang_underline_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Underline\')">\
-<img id="{$editor_id}_strikethrough" src="{$themeurl}/images/strikethrough.gif" title="{$lang_striketrough_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Strikethrough\')">\
-<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">\
-<img id="{$editor_id}_left" src="{$themeurl}/images/left.gif" title="{$lang_justifyleft_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyLeft\')">\
-<img id="{$editor_id}_center" src="{$themeurl}/images/center.gif" title="{$lang_justifycenter_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyCenter\')">\
-<img id="{$editor_id}_right" src="{$themeurl}/images/right.gif" title="{$lang_justifyright_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyRight\')">\
-<img id="{$editor_id}_full" src="{$themeurl}/images/full.gif" title="{$lang_justifyfull_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyFull\')">\
-<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">\
-<img src="{$themeurl}/images/outdent.gif" title="{$lang_outdent_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Outdent\')">\
-<img src="{$themeurl}/images/indent.gif" title="{$lang_indent_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Indent\')">\
-<br>\
-<img id="{$editor_id}_bullist" src="{$themeurl}/images/bullist.gif" title="{$lang_bullist_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertUnorderedList\')">\
-<img id="{$editor_id}_numlist" src="{$themeurl}/images/numlist.gif" title="{$lang_numlist_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertOrderedList\')">\
-<img src="{$themeurl}/images/spacer.gif" width="1" height="15" width="20" height="20" class="mceSeparatorLine">\
-<img src="{$themeurl}/images/undo.gif" title="{$lang_undo_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Undo\')">\
-<img src="{$themeurl}/images/redo.gif" title="{$lang_redo_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Redo\')">\
-<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">\
-<img id="{$editor_id}_link" src="{$themeurl}/images/link.gif" title="{$lang_link_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceLink\', true)">\
-<img src="{$themeurl}/images/unlink.gif" title="{$lang_unlink_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'unlink\')">\
-<img id="{$editor_id}_image" src="{$themeurl}/images/image.gif" title="{$lang_image_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceImage\', true)">\
-<img src="{$themeurl}/images/cleanup.gif" title="{$lang_cleanup_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceCleanup\')">\
-<img src="{$themeurl}/images/help.gif" title="{$lang_help_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceHelp\')">\
-</td></tr>\
-</table>';
-
-	template['delta_width'] = 0;
-	template['delta_height'] = -40;
-
-	return template;
-}
-
-/**
- * Insert link template function.
- */
-function TinyMCE_default_getInsertLinkTemplate() {
-	var template = new Array();
-
-	template['file'] = 'link.htm';
-	template['width'] = 320;
-	template['height'] = 145;
-
-	// Language specific width and height addons
-	template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0);
-	template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0);
-
-	return template;
-}
-
-/**
- * Insert image template function.
- */
-function TinyMCE_default_getInsertImageTemplate() {
-	var template = new Array();
-
-	template['file'] = 'image.htm';
-	template['width'] = 360;
-	template['height'] = 145;
-
-	// Language specific width and height addons
-	template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0);
-	template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0);
-
-	return template;
-}
-
-function TinyMCE_default_handleNodeChange(editor_id, node) {
-	// Reset old states
-	tinyMCE.switchClassSticky(editor_id + '_left', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_right', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_center', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_full', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonNormal');
-	tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonNormal');
-
-	// Handle align attributes
-	alignNode = node;
-	breakOut = false;
-	do {
-		if (!alignNode.getAttribute || !alignNode.getAttribute('align'))
-			continue;
-
-		switch (alignNode.getAttribute('align').toLowerCase()) {
-			case "left":
-				tinyMCE.switchClassSticky(editor_id + '_left', 'mceButtonSelected');
-				breakOut = true;
-			break;
-
-			case "right":
-				tinyMCE.switchClassSticky(editor_id + '_right', 'mceButtonSelected');
-				breakOut = true;
-			break;
-
-			case "middle":
-			case "center":
-				tinyMCE.switchClassSticky(editor_id + '_center', 'mceButtonSelected');
-				breakOut = true;
-			break;
-
-			case "justify":
-				tinyMCE.switchClassSticky(editor_id + '_full', 'mceButtonSelected');
-				breakOut = true;
-			break;
-		}
-	} while (!breakOut && (alignNode = alignNode.parentNode));
-
-	// Handle elements
-	do {
-		switch (node.nodeName.toLowerCase()) {
-			case "b":
-			case "strong":
-				tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonSelected');
-			break;
-
-			case "i":
-			case "em":
-				tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonSelected');
-			break;
-
-			case "u":
-				tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonSelected');
-			break;
-
-			case "strike":
-				tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonSelected');
-			break;
-			
-			case "ul":
-				tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonSelected');
-			break;
-
-			case "ol":
-				tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonSelected');
-			break;
-		}
-	} while ((node = node.parentNode));
-}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_ui.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_ui.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_ui.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/editor_ui.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,105 +0,0 @@
-.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
-	margin-top: 1px;
-	margin-left: 1px;
-}
-
-.mceButtonNormal {
-	border-top: 1px solid;
-	border-left: 1px solid;
-	border-bottom: 1px solid;
-	border-right: 1px solid;
-	border-color: #F0F0EE;
-	cursor: hand
-}
-
-.mceButtonOver {
-	border-top: 1px solid buttonhighlight;
-	border-left: 1px solid buttonhighlight;
-	border-bottom: 1px solid buttonshadow;
-	border-right: 1px solid buttonshadow;
-	cursor: hand
-}
-
-.mceButtonDown {
-	border-bottom: 1px solid buttonhighlight;
-	border-right: 1px solid buttonhighlight;
-	border-top: 1px solid buttonshadow;
-	border-left: 1px solid buttonshadow;
-	cursor: hand
-}
-
-.mceButtonSelected {
-	border-bottom: 1px solid;
-	border-right: 1px solid;
-	border-top: 1px solid;
-	border-left: 1px solid;
-	border-color: #C0C0BB;
-	cursor: hand
-}
-
-.mceButtonDisabled {
-	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
-	border-top: 1px solid;
-	border-left: 1px solid;
-	border-bottom: 1px solid;
-	border-right: 1px solid;
-	border-color: #F0F0EE;
-	cursor: text
-}
-
-.mceSeparator {
-	border-top: 1px solid buttonhighlight;
-	border-left: 1px solid buttonhighlight;
-	border-bottom: 1px solid buttonshadow;
-	border-right: 1px solid buttonshadow;
-	margin-right: 2px;
-	margin-left: 2px;
-}
-
-.mceSeparatorLine {
-	margin:2px;
-	margin-left: 4px;
-	background-color: #F0F0EE;
-	border-top: 1px solid buttonshadow;
-	border-left: 1px solid buttonshadow;
-	border-bottom: 1px solid buttonhighlight;
-	border-right: 1px solid buttonhighlight;
-	width: 0px;
-	height: 15px;
-}
-
-.mceSelectList {
-	font-family: "MS Sans Serif";
-	font-size: 7pt;
-	font-weight: normal;
-	margin-top: 2px;
-}
-
-.mceLabel, .mceLabelDisabled {
-	font-family: "MS Sans Serif";
-	font-size: 9pt;
-}
-
-.mceLabel {
-	color: #000000;
-}
-
-.mceLabelDisabled {
-	cursor: text;
-	color: #999999;
-}
-
-.mceEditor {
-	background: #F0F0EE;
-	border: 1px solid #cccccc;
-}
-
-.mceEditorArea {
-	font-family: "MS Sans Serif";
-	background: #FFFFFF;
-}
-
-.mceToolbar {
-	background: #F0F0EE;
-	border-top: 1px solid #cccccc;
-}
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/image.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/image.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/image.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/image.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,56 +0,0 @@
-<html>
-<head>
-<title>{$lang_insert_image_title}</title>
-<script language="javascript" src="../../tiny_mce_popup.js"></script>
-<script language="javascript">
-	function insertImage() {
-		if (window.opener) {
-			var src = document.forms[0].src.value;
-			var alt = document.forms[0].alt.value;
-
-			window.opener.tinyMCE.insertImage(src, alt, 0, 0, 0);
-			top.close();
-		}
-	}
-
-	function init() {
-		var formObj = document.forms[0];
-
-		formObj.src.value = tinyMCE.getWindowArg('src');
-		formObj.alt.value = tinyMCE.getWindowArg('alt');
-
-		window.focus();
-	}
-
-	function cancelAction() {
-		top.close();
-	}
-</script>
-</head>
-<body onload="window.focus();init();">
-<form onsubmit="insertImage();return false;">
-  <table border="0" cellpadding="0" cellspacing="0" width="100%">
-    <tr>
-      <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
-          <tr>
-            <td colspan="2" class="title">{$lang_insert_image_title}</td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_image_src}:</td>
-            <td><input name="src" type="text" id="src" value="" style="width: 200px"></td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_image_alt}:</td>
-            <td><input name="alt" type="text" id="alt" value="" style="width: 200px"></td>
-          </tr>
-          <tr>
-            <td><input type="button" name="insert" value="{$lang_insert}" onclick="insertImage();">
-            </td>
-            <td align="right"><input type="button" name="cancel" value="{$lang_cancel}" onclick="cancelAction();"></td>
-          </tr>
-        </table></td>
-    </tr>
-  </table>
-</form>
-</body>
-</html>
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/bold_de_se.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/bold_de_se.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/bold_fr.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/bold_fr.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/bold.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/bold.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/bullist.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/bullist.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/center.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/center.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/cleanup.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/cleanup.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/code.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/code.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/copy.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/copy.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/cut.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/cut.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/full.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/full.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/help.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/help.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/image.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/image.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/indent.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/indent.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/italic_de_se.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/italic_de_se.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/italic.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/italic.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/left.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/left.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/link.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/link.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/mosimage.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/mosimage.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/mospage.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/mospage.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/numlist.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/numlist.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/outdent.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/outdent.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/paste.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/paste.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/redo.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/redo.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/right.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/right.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/spacer.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/spacer.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/strikethrough.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/strikethrough.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/underline.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/underline.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/undo.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/undo.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/unlink.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/images/unlink.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/link.htm 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/link.htm
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/link.htm	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/default/link.htm	1969-12-31 18:00:00.000000000 -0600
@@ -1,63 +0,0 @@
-<html>
-<head>
-<title>{$lang_insert_link_title}</title>
-<script language="javascript" src="../../tiny_mce_popup.js"></script>
-<script language="javascript">
-	function init() {
-		for (var i=0; i<document.forms[0].target.options.length; i++) {
-			var option = document.forms[0].target.options[i];
-
-			if (option.value == tinyMCE.getWindowArg('target'))
-				option.selected = true;
-		}
-
-		document.forms[0].href.value = tinyMCE.getWindowArg('href');
-
-		window.focus();
-	}
-
-	function insertLink() {
-		if (window.opener) {
-			var href = document.forms[0].href.value;
-			var target = document.forms[0].target.options[document.forms[0].target.selectedIndex].value;
-
-			window.opener.tinyMCE.insertLink(href, target);
-			top.close();
-		}
-	}
-
-	function cancelAction() {
-		top.close();
-	}
-</script>
-</head>
-<body onload="init();">
-<form onsubmit="insertLink();return false;">
-  <table border="0" cellpadding="0" cellspacing="0" width="100%">
-    <tr>
-      <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
-          <tr>
-            <td colspan="2" class="title">{$lang_insert_link_title}</td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_link_url}:</td>
-            <td><input name="href" type="text" id="href" value="" style="width: 200px"></td>
-          </tr>
-          <tr>
-            <td>{$lang_insert_link_target}:</td>
-            <td><select name="target" style="width: 200px">
-                <option value="_self">{$lang_insert_link_target_same}</option>
-                <option value="_blank">{$lang_insert_link_target_blank}</option>
-              </select></td>
-          </tr>
-          <tr>
-            <td><input type="button" name="insert" value="{$lang_insert}" onclick="insertLink();">
-            </td>
-            <td align="right"><input type="button" name="cancel" value="{$lang_cancel}" onclick="cancelAction();"></td>
-          </tr>
-        </table></td>
-    </tr>
-  </table>
-</form>
-</body>
-</html>
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/index.html 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/index.html
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_content.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_content.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_content.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_content.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,25 @@
+body, td, pre {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+body {
+	background-color: #FFFFFF;
+}
+
+.mceVisualAid {
+	border: 1px dashed #BBBBBB;
+}
+
+/* MSIE specific */
+
+* html body {
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;	
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_popup.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_popup.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_popup.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_popup.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,41 @@
+body {
+	background-color: #F0F0EE;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}
+
+td {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+}
+
+input {
+	background: #FFFFFF;
+	border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+input, select, textarea {
+	border: 1px solid #808080;
+}
+
+.input_noborder {
+	border: 0;
+}
+
+.title {
+	font-size: 12px;
+	font-weight: bold;
+}
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_ui.css 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_ui.css
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_ui.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_ui.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,125 @@
+.mceSeparatorLine {
+	border: 0;
+	padding: 0;
+	margin-left: 4px;
+	margin-right: 2px;
+}
+
+.mceSelectList {
+	font-family: "MS Sans Serif";
+	font-size: 7pt;
+	font-weight: normal;
+	margin-top: 2px;
+}
+
+.mceLabel, .mceLabelDisabled {
+	font-family: "MS Sans Serif";
+	font-size: 9pt;
+}
+
+.mceLabel {
+	color: #000000;
+}
+
+.mceLabelDisabled {
+	cursor: text;
+	color: #999999;
+}
+
+.mceEditor {
+	background: #F0F0EE;
+	border: 1px solid #cccccc;
+}
+
+.mceEditorArea {
+	font-family: "MS Sans Serif";
+	background: #FFFFFF;
+}
+
+.mceToolbar {
+	background: #F0F0EE;
+	border-top: 1px solid #cccccc;
+	line-height: 1px;
+	font-size: 1px;
+	padding-bottom: 1px;
+}
+
+.mceEditorIframe {
+	border: 0;
+}
+
+/* Button CSS rules */
+
+a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {
+	width: 20px;
+	height: 20px;
+	cursor: default;
+	margin-top: 1px;
+	margin-left: 1px;
+}
+
+a.mceButtonDisabled img {
+	border: 0 !important;
+}
+
+a.mceButtonNormal img, a.mceButtonSelected img {
+	border: 1px solid #F0F0EE !important;
+}
+
+a.mceButtonSelected img {
+	border: 1px solid #C0C0BB !important;
+}
+
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {
+	border: 1px solid #0A246A !important;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+a.mceButtonDisabled img {
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border: 1px solid #F0F0EE !important;
+	cursor: default;
+}
+
+a.mceTiledButton img {
+	background-image: url('../images/buttons.gif');
+	background-repeat: no-repeat;
+}
+
+/* MSIE specific rules */
+
+* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {
+	border: 0px !important;
+	margin-top: 2px;
+	margin-bottom: 1px;
+}
+
+* html a.mceButtonDisabled img {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	border: 0px !important;
+}
+
+* html a.mceButtonDisabled {
+	border: 1px solid #F0F0EE !important;
+}
+
+* html a.mceButtonNormal, * html a.mceButtonSelected {
+	border: 1px solid #F0F0EE;
+	cursor: default;
+}
+
+* html a.mceButtonSelected {
+	border: 1px solid #C0C0BB;
+}
+
+* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {
+	border: 1px solid #0A246A;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+* html .mceSelectList {
+	margin-top: 2px;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,4 @@
+var TinyMCE_SimpleTheme={_buttonMap:'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',getEditorTemplate:function(){var html='';html+='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';html+='<tr><td align="center">';html+='<span id="{$editor_id}">IFRAME</span>';html+='</td></tr>';html+='<tr><td class="mceToolbar" align="center" height="1">';html+=tinyMCE.getButtonHTML('bold','lang_bold_desc','{$themeurl}/images/{$lang_bold_img}','Bold');html+=tinyMCE.getButtonHTML('italic','lang_italic_desc','{$themeurl}/images/{$lang_italic_img}','Italic');html+=tinyMCE.getButtonHTML('underline','lang_underline_desc','{$themeurl}/images/{$lang_underline_img}','Underline');html+=tinyMCE.getButtonHTML('strikethrough','lang_striketrough_desc','{$themeurl}/images/strikethrough.gif','Strikethrough');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('undo','lang_undo_desc','{$themeurl}/images/undo.gif','Undo');html+=tinyMCE.getButtonHTML('redo','lang_redo_desc','{$themeurl}/images/redo.gif','Redo');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('cleanup','lang_cleanup_desc','{$themeurl}/images/cleanup.gif','mceCleanup')
+html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('bullist','lang_bullist_desc','{$themeurl}/images/bullist.gif','InsertUnorderedList')
+html+=tinyMCE.getButtonHTML('numlist','lang_numlist_desc','{$themeurl}/images/numlist.gif','InsertOrderedList')
+html+='</td></tr></table>';return{delta_width:0,delta_height:20,html:html};},handleNodeChange:function(editor_id,node){tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');do{switch(node.nodeName.toLowerCase()){case"b":case"strong":tinyMCE.switchClass(editor_id+'_bold','mceButtonSelected');break;case"i":case"em":tinyMCE.switchClass(editor_id+'_italic','mceButtonSelected');break;case"u":tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected');break;case"strike":tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonSelected');break;case"ul":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"ol":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break;}}while((node=node.parentNode)!=null);}};tinyMCE.addTheme("simple",TinyMCE_SimpleTheme);tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap);
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,86 @@
+/**
+ * $RCSfile: editor_template_src.js,v $
+ * $Revision: 1.9 $
+ * $Date: 2006/04/18 13:32:53 $
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_SimpleTheme = {
+	// List of button ids in tile map
+	_buttonMap : 'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',
+
+	getEditorTemplate : function() {
+		var html = '';
+
+		html += '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';
+		html += '<tr><td align="center">';
+		html += '<span id="{$editor_id}">IFRAME</span>';
+		html += '</td></tr>';
+		html += '<tr><td class="mceToolbar" align="center" height="1">';
+		html += tinyMCE.getButtonHTML('bold', 'lang_bold_desc', '{$themeurl}/images/{$lang_bold_img}', 'Bold');
+		html += tinyMCE.getButtonHTML('italic', 'lang_italic_desc', '{$themeurl}/images/{$lang_italic_img}', 'Italic');
+		html += tinyMCE.getButtonHTML('underline', 'lang_underline_desc', '{$themeurl}/images/{$lang_underline_img}', 'Underline');
+		html += tinyMCE.getButtonHTML('strikethrough', 'lang_striketrough_desc', '{$themeurl}/images/strikethrough.gif', 'Strikethrough');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('undo', 'lang_undo_desc', '{$themeurl}/images/undo.gif', 'Undo');
+		html += tinyMCE.getButtonHTML('redo', 'lang_redo_desc', '{$themeurl}/images/redo.gif', 'Redo');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('cleanup', 'lang_cleanup_desc', '{$themeurl}/images/cleanup.gif', 'mceCleanup')
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('bullist', 'lang_bullist_desc', '{$themeurl}/images/bullist.gif', 'InsertUnorderedList')
+		html += tinyMCE.getButtonHTML('numlist', 'lang_numlist_desc', '{$themeurl}/images/numlist.gif', 'InsertOrderedList')
+		html += '</td></tr></table>';
+
+		return {
+			delta_width : 0,
+			delta_height : 20,
+			html : html
+		};
+	},
+
+	handleNodeChange : function(editor_id, node) {
+		// Reset old states
+		tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal');
+
+		// Handle elements
+		do {
+			switch (node.nodeName.toLowerCase()) {
+				case "b":
+				case "strong":
+					tinyMCE.switchClass(editor_id + '_bold', 'mceButtonSelected');
+				break;
+
+				case "i":
+				case "em":
+					tinyMCE.switchClass(editor_id + '_italic', 'mceButtonSelected');
+				break;
+
+				case "u":
+					tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected');
+				break;
+
+				case "strike":
+					tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonSelected');
+				break;
+				
+				case "ul":
+					tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected');
+				break;
+
+				case "ol":
+					tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected');
+				break;
+			}
+		} while ((node = node.parentNode) != null);
+	}
+};
+
+tinyMCE.addTheme("simple", TinyMCE_SimpleTheme);
+tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap);
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_de_se.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_de_se.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_fr.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_fr.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_ru.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_ru.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_tw.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_tw.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bullist.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bullist.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/buttons.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/buttons.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/cleanup.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/cleanup.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_de_se.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_de_se.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_ru.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_ru.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_tw.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_tw.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/numlist.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/numlist.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/redo.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/redo.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/separator.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/separator.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/spacer.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/spacer.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/strikethrough.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/strikethrough.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_fr.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_fr.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_ru.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_ru.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_tw.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_tw.gif differ
Files 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/undo.gif and 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/undo.gif differ
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js	2006-08-01 01:34:25.000000000 -0500
@@ -1,3633 +1 @@
-/**
- * $RCSfile: tiny_mce.js,v $
- * $Revision: 1.4 $
- * $Date: 2004/12/17 03:40:34 $
- *
- * @author Moxiecode
- * @copyright Copyright  2004, Moxiecode Systems AB, All rights reserved.
- */
-
-function TinyMCE() {
-	this.instances = new Array();
-	this.stickyClassesLookup = new Array();
-	this.windowArgs = new Array();
-
-	// Browser check
-	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
-	this.isMSIE5 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5') != -1);
-	this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
-
-	// TinyMCE editor id instance counter
-	this.idCounter = 0;
-
-	// Editor functions
-	this.init = TinyMCE_init;
-	this.addMCEControl = TinyMCE_addMCEControl;
-	this.createMCEControl = TinyMCE_createMCEControl;
-	this.triggerSave = TinyMCE_triggerSave;
-	this._convertOnClick = TinyMCE__convertOnClick;
-	this.resetForm = TinyMCE_resetForm;
-	this.execCommand = TinyMCE_execCommand;
-	this.execInstanceCommand = TinyMCE_execInstanceCommand;
-	this._createIFrame = TinyMCE__createIFrame;
-	this.setEditMode = TinyMCE_setEditMode;
-	this.handleEvent = TinyMCE_handleEvent;
-	this.setupContent = TinyMCE_setupContent;
-	this.switchClass = TinyMCE_switchClass;
-	this.restoreAndSwitchClass = TinyMCE_restoreAndSwitchClass;
-	this.switchClassSticky = TinyMCE_switchClassSticky;
-	this.restoreClass = TinyMCE_restoreClass;
-	this.setClassLock = TinyMCE_setClassLock;
-	this.onLoad = TinyMCE_onLoad;
-	this.removeMCEControl = TinyMCE_removeMCEControl;
-	this._initCleanup = TinyMCE__initCleanup;
-	this._cleanupHTML = TinyMCE__cleanupHTML;
-	this._cleanupAttribute = TinyMCE__cleanupAttribute;
-	this._fixInlineStyles = TinyMCE__fixInlineStyles;
-	this._cleanupElementName = TinyMCE__cleanupElementName;
-	this._verifyClass = TinyMCE__verifyClass;
-	this.cleanupNode = TinyMCE_cleanupNode;
-	this.convertStringToXML = TinyMCE_convertStringToXML;
-	this.insertLink = TinyMCE_insertLink;
-	this.insertImage = TinyMCE_insertImage;
-	this.getElementByAttributeValue = TinyMCE_getElementByAttributeValue;
-	this.getElementsByAttributeValue = TinyMCE_getElementsByAttributeValue;
-	this.getParentElement = TinyMCE_getParentElement;
-	this.getParam = TinyMCE_getParam;
-	this.getLang = TinyMCE_getLang;
-	this.replaceVar = TinyMCE_replaceVar;
-	this.replaceVars = TinyMCE_replaceVars;
-	this.triggerNodeChange = TinyMCE_triggerNodeChange;
-	this.parseURL = TinyMCE_parseURL;
-	this.convertAbsoluteURLToRelativeURL = TinyMCE_convertAbsoluteURLToRelativeURL;
-	this.updateContent = TinyMCE_updateContent;
-	this._customCleanup = TinyMCE__customCleanup;
-	this.getContent = TinyMCE_getContent;
-	this.setContent = TinyMCE_setContent;
-	this.importThemeLanguagePack = TinyMCE_importThemeLanguagePack;
-	this.importPluginLanguagePack = TinyMCE_importPluginLanguagePack;
-	this.applyTemplate = TinyMCE_applyTemplate;
-	this.openWindow = TinyMCE_openWindow;
-	this.handleVisualAid = TinyMCE_handleVisualAid;
-	this.setAttrib = TinyMCE_setAttrib;
-	this.getAttrib = TinyMCE_getAttrib;
-	this._selectNode = TinyMCE__selectNode;
-	this._getThemeFunction = TinyMCE__getThemeFunction;
-	this._themeExecCommand = TinyMCE__themeExecCommand;
-	this.getControlHTML = TinyMCE_getControlHTML;
-	this._setHTML = TinyMCE__setHTML;
-	this._getElementById = TinyMCE__getElementById;
-	this._getInstanceById = TinyMCE__getInstanceById;
-	this.getEditorId = TinyMCE_getEditorId;
-	this.queryInstanceCommandValue = TinyMCE_queryInstanceCommandValue;
-	this.queryInstanceCommandState = TinyMCE_queryInstanceCommandState;
-	this.getWindowArg = TinyMCE_getWindowArg;
-	this.getCSSClasses = TinyMCE_getCSSClasses;
-	this.regexpReplace = TinyMCE_regexpReplace;
-	this.cleanupEventStr = TinyMCE_cleanupEventStr;
-}
-
-function TinyMCE_init(settings) {
-	var theme;
-
-	// Check if valid browser has execcommand support
-	if (typeof(document.execCommand) == 'undefined')
-		return;
-
-	// Get script base path
-	if (!tinyMCE.baseURL) {
-		var elements = document.getElementsByTagName('script');
-
-		for (var i=0; i<elements.length; i++) {
-			if (elements[i].src && (elements[i].src.indexOf("tiny_mce.js") != -1 || elements[i].src.indexOf("tiny_mce_src.js") != -1)) {
-				var src = elements[i].src;
-
-				src = src.substring(0, src.lastIndexOf('/'));
-
-				tinyMCE.baseURL = src;
-				break;
-			}
-		}
-	}
-
-	// Get document base path
-	this.documentBasePath = document.location.href;
-	if (this.documentBasePath.indexOf('?') != -1)
-		this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.indexOf('?'));
-	this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.lastIndexOf('/'));
-
-	// If not HTTP absolute
-	if (tinyMCE.baseURL.indexOf('://') == -1 && tinyMCE.baseURL.charAt(0) != '/') {
-		// If site absolute
-		tinyMCE.baseURL = this.documentBasePath + "/" + tinyMCE.baseURL;
-	}
-
-	this.settings = settings;
-	this.settings['mode'] = tinyMCE.getParam("mode", "none");
-	this.settings['theme'] = tinyMCE.getParam("theme", "default");
-	this.settings['plugins'] = tinyMCE.getParam("plugins", "", true);
-	this.settings['language'] = tinyMCE.getParam("language", "uk");
-	this.settings['docs_language'] = tinyMCE.getParam("docs_language", this.settings['language']);
-	this.settings['elements'] = tinyMCE.getParam("elements", "");
-	this.settings['textarea_trigger'] = tinyMCE.getParam("textarea_trigger", "mce_editable");
-	this.settings['valid_elements'] = tinyMCE.getParam("valid_elements", "a[name|href|target|title],strong/b[class],em/i[class],strike[class],u[class],p[class|align],ol,ul,li,br,img[class|src|border=0|alt|title|hspace|vspace|width|height|align],sub,sup,blockquote[dir|style],table[border=0|cellspacing|cellpadding|width|height|class|align],tr[class|rowspan],td[class|colspan|rowspan|width|height],div[class|align],span[class|align],pre[class|align],address[class|align],h1[class|align],h2[class|align],h3[class|align],h4[class|align],h5[class|align],h6[class|align],hr");
-	this.settings['extended_valid_elements'] =  tinyMCE.getParam("extended_valid_elements", "");
-	this.settings['invalid_elements'] = tinyMCE.getParam("invalid_elements", "");
-	this.settings['encoding'] = tinyMCE.getParam("encoding", "");
-	this.settings['urlconvertor_callback'] = tinyMCE.getParam("urlconvertor_callback", "TinyMCE_convertURL");
-	this.settings['save_callback'] = tinyMCE.getParam("save_callback", "");
-	this.settings['debug'] = tinyMCE.getParam("debug", false);
-	this.settings['force_br_newlines'] = tinyMCE.getParam("force_br_newlines", false);
-	this.settings['add_form_submit_trigger'] = tinyMCE.getParam("add_form_submit_trigger", true);
-	this.settings['relative_urls'] = tinyMCE.getParam("relative_urls", true);
-	this.settings['remove_script_host'] = tinyMCE.getParam("remove_script_host", true);
-	this.settings['focus_alert'] = tinyMCE.getParam("focus_alert", true);
-	this.settings['document_base_url'] = tinyMCE.getParam("document_base_url", "" + document.location.href);
-	this.settings['visual'] = tinyMCE.getParam("visual", true);
-	this.settings['visual_table_style'] = tinyMCE.getParam("visual_table_style", "border: 1px dashed #BBBBBB");
-	this.settings['setupcontent_callback'] = tinyMCE.getParam("setupcontent_callback", "");
-	this.settings['fix_content_duplication'] = tinyMCE.getParam("fix_content_duplication", true);
-	this.settings['custom_undo_redo'] = tinyMCE.getParam("custom_undo_redo", true);
-	this.settings['custom_undo_redo_levels'] = tinyMCE.getParam("custom_undo_redo_levels", -1);
-	this.settings['custom_undo_redo_keyboard_shortcuts'] = tinyMCE.getParam("custom_undo_redo_keyboard_shortcuts", true);
-	this.settings['verify_css_classes'] = tinyMCE.getParam("verify_css_classes", true);
-	this.settings['trim_span_elements'] = tinyMCE.getParam("trim_span_elements", true);
-	this.settings['verify_html'] = tinyMCE.getParam("verify_html", true);
-	this.settings['apply_source_formatting'] = tinyMCE.getParam("apply_source_formatting", false);
-	this.settings['directionality'] = tinyMCE.getParam("directionality", "ltr");
-	this.settings['auto_cleanup_word'] = tinyMCE.getParam("auto_cleanup_word", true);
-	this.settings['cleanup_on_startup'] = tinyMCE.getParam("cleanup_on_startup", false);
-	this.settings['inline_styles'] = tinyMCE.getParam("inline_styles", false);
-	this.settings['convert_newlines_to_brs'] = tinyMCE.getParam("convert_newlines_to_brs", false);
-	this.settings['auto_reset_designmode'] = tinyMCE.getParam("auto_reset_designmode", false);
-	this.settings['entities'] = tinyMCE.getParam("entities", "160,nbsp,38,amp,34,quot,162,cent,8364,euro,163,pound,165,yen,169,copy,174,reg,8482,trade,8240,permil,181,micro,183,middot,8226,bull,8230,hellip,8242,prime,8243,Prime,167,sect,182,para,223,szlig,8249,lsaquo,8250,rsaquo,171,laquo,187,raquo,8216,lsquo,8217,rsquo,8220,ldquo,8221,rdquo,8218,sbquo,8222,bdquo,60,lt,62,gt,8804,le,8805,ge,8211,ndash,8212,mdash,175,macr,8254,oline,164,curren,166,brvbar,168,uml,161,iexcl,191,iquest,710,circ,732,tilde,176,deg,8722,minus,177,plusmn,247,divide,8260,frasl,215,times,185,sup1,178,sup2,179,sup3,188,frac14,189,frac12,190,frac34,402,fnof,8747,int,8721,sum,8734,infin,8730,radic,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8712,isin,8713,notin,8715,ni,8719,prod,8743,and,8744,or,172,not,8745,cap,8746,cup,8706,part,8704,forall,8707,exist,8709,empty,8711,nabla,8727,lowast,8733,prop,8736,ang,180,acute,184,cedil,170,ordf,186,ordm,8224,dagger,8225,Dagger,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,216,Oslash,338,OElig,352,Scaron,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,376,Yuml,222,THORN,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,248,oslash,339,oelig,353,scaron,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,8501,alefsym,982,piv,8476,real,977,thetasym,978,upsih,8472,weierp,8465,image,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8756,there4,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,173,shy");
-	this.settings['cleanup_callback'] = tinyMCE.getParam("cleanup_callback", "");
-
-	// Setup baseHREF
-	var baseHREF = tinyMCE.settings['document_base_url'];
-	if (baseHREF.indexOf('?') != -1)
-		baseHREF = baseHREF.substring(0, baseHREF.indexOf('?'));
-	this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/";
-
-	theme = this.settings['theme'];
-
-	// Theme url
-	this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme;
-
-	if (!tinyMCE.isMSIE)
-		this.settings['force_br_newlines'] = false;
-
-	if (tinyMCE.getParam("content_css", false)) {
-		var cssPath = tinyMCE.getParam("content_css", "");
-
-		// Is relative
-		if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
-			this.settings['content_css'] = this.documentBasePath + "/" + cssPath;
-		else
-			this.settings['content_css'] = cssPath;
-	} else
-		this.settings['content_css'] = tinyMCE.baseURL + "/themes/" + theme + "/editor_content.css";
-
-	if (tinyMCE.getParam("popups_css", false)) {
-		var cssPath = tinyMCE.getParam("popups_css", "");
-
-		// Is relative
-		if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
-			this.settings['popups_css'] = this.documentBasePath + "/" + cssPath;
-		else
-			this.settings['popups_css'] = cssPath;
-	} else
-		this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/editor_popup.css";
-
-	if (tinyMCE.getParam("editor_css", false)) {
-		var cssPath = tinyMCE.getParam("editor_css", "");
-
-		// Is relative
-		if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
-			this.settings['editor_css'] = this.documentBasePath + "/" + cssPath;
-		else
-			this.settings['editor_css'] = cssPath;
-	} else
-		this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/editor_ui.css";
-
-	this.settings['ask'] = tinyMCE.getParam("ask", false);
-
-	if (tinyMCE.settings['debug']) {
-		var msg = "Debug: \n";
-
-		msg += "baseURL: " + this.baseURL + "\n";
-		msg += "documentBasePath: " + this.documentBasePath + "\n";
-		msg += "content_css: " + this.settings['content_css'] + "\n";
-		msg += "popups_css: " + this.settings['popups_css'] + "\n";
-		msg += "editor_css: " + this.settings['editor_css'] + "\n";
-
-		alert(msg);
-	}
-
-	// Init HTML cleanup
-	this._initCleanup();
-
-	if (this.isMSIE)
-		attachEvent("onload", TinyMCE_onLoad);
-	else
-		addEventListener("load", TinyMCE_onLoad, false);
-
-	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template.js"></script>');
-	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.baseURL + '/langs/' + this.settings['language'] +  '.js"></script>');
-	document.write('<link href="' + this.settings['editor_css'] + '" rel="stylesheet" type="text/css">');
-
-	// Add theme plugins
-	var themePlugins = tinyMCE.getParam('plugins', '', true, ',');
-	if (this.settings['plugins'] != '') {
-		for (var i=0; i<themePlugins.length; i++)
-			document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.baseURL + '/plugins/' + themePlugins[i] + '/editor_plugin.js"></script>');
-	}
-}
-
-function TinyMCE_confirmAdd(e) {
-	if (tinyMCE.isMSIE)
-		var targetElement = event.srcElement;
-	else
-		var targetElement = e.target;
-
-	var elementId = targetElement.name ? targetElement.name : targetElement.id;
-
-	if (!targetElement.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm']))
-		tinyMCE.addMCEControl(targetElement, elementId, tinyMCE.createMCEControl(tinyMCE.settings));
-	else
-		targetElement.setAttribute('mce_noask', 'true');
-}
-
-function TinyMCE_updateContent(form_element_name) {
-	// find MCE instance linked to given form element and copy it's value
-	var formElement = document.getElementById(form_element_name);
-	for (var instanceName in tinyMCE.instances) {
-		var instance = tinyMCE.instances[instanceName];
-		if (instance.formElement == formElement) {
-			tinyMCE._setHTML(instance.contentWindow.document, instance.formElement.value);
-
-			if (!tinyMCE.isMSIE)
-				instance.contentWindow.document.body.innerHTML = tinyMCE._cleanupHTML(instance.contentWindow.document, this.settings, instance.contentWindow.document.body, instance.visualAid);
-		}
-	}
-}
-
-function TinyMCE_addMCEControl(replace_element, form_element_name, mce_control) {
-	var editorId = "mce_editor_" + tinyMCE.idCounter++;
-	mce_control.editorId = editorId;
-	this.instances[editorId] = mce_control;
-	mce_control.onAdd(replace_element, form_element_name);
-}
-
-function TinyMCE_createMCEControl(settings) {
-	return new TinyMCEControl(settings);
-}
-
-function TinyMCE_triggerSave(skip_cleanup) {
-	// Cleanup and set all form fields
-	for (var instanceName in tinyMCE.instances) {
-		var instance = tinyMCE.instances[instanceName];
-		tinyMCE.settings['preformatted'] = false;
-
-		// Default to false
-		if (typeof(skip_cleanup) == "undefined")
-			skip_cleanup = false;
-
-		tinyMCE._setHTML(instance.contentWindow.document, instance.contentWindow.document.body.innerHTML);
-		var cleanedHTML = skip_cleanup ? instance.contentWindow.document.body.innerHTML : tinyMCE._cleanupHTML(instance.contentWindow.document, this.settings, instance.contentWindow.document.body, this.visualAid, true);
-
-		//var cleanedHTML = tinyMCE._cleanupHTML(instance.contentWindow.document, tinyMCE.settings, instance.contentWindow.document.body, false, true);
-
-		if (tinyMCE.settings["encoding"] == "xml" || tinyMCE.settings["encoding"] == "html")
-			cleanedHTML = tinyMCE.convertStringToXML(cleanedHTML);
-
-		if (tinyMCE.settings['save_callback'] != "")
-			var content = eval(tinyMCE.settings['save_callback'] + "(instance.formTargetElementId,cleanedHTML,instance.contentWindow.document.body);");
-
-		// Use callback content if available
-		if ((typeof(content) != "undefined") && content != null)
-			cleanedHTML = content;
-
-		// Replace some weird entities (Bug: #1056343)
-		cleanedHTML = tinyMCE.regexpReplace(cleanedHTML, "&#40;", "(", "gi");
-		cleanedHTML = tinyMCE.regexpReplace(cleanedHTML, "&#41;", ")", "gi");
-		cleanedHTML = tinyMCE.regexpReplace(cleanedHTML, "&#59;", ";", "gi");
-		cleanedHTML = tinyMCE.regexpReplace(cleanedHTML, "&#34;", "&quot;", "gi");
-		cleanedHTML = tinyMCE.regexpReplace(cleanedHTML, "&#94;", "^", "gi");
-
-//alert(cleanedHTML);
-		instance.formElement.value = cleanedHTML;
-	}
-}
-
-function TinyMCE__convertOnClick(node) {
-	// Skip on MSIE < 6+
-	if (tinyMCE.isMSIE5)
-		return;
-
-	// Convert all onclick to mce_onclick
-	var elms = node.getElementsByTagName("a");
-	for (var i=0; i<elms.length; i++) {
-		var onclick = elms[i].getAttribute('onclick');
-		if (onclick && onclick != "") {
-			elms[i].removeAttribute("onclick");
-			elms[i].setAttribute("mce_onclick", tinyMCE.cleanupEventStr("" + onclick));
-			elms[i].onclick = null;
-		}
-	}
-}
-
-function TinyMCE_resetForm(e) {
-	var formObj = tinyMCE.isMSIE ? window.event.srcElement : e.target;
-
-	for (var instanceName in tinyMCE.instances) {
-		var instance = tinyMCE.instances[instanceName];
-
-		for (var i=0; i<formObj.elements.length; i++) {
-			if (instance.formTargetElementId == formObj.elements[i].name) {
-				instance.contentWindow.document.body.innerHTML = instance.startContent;
-				return;
-			}
-		}
-	}
-}
-
-function TinyMCE_execInstanceCommand(editor_id, command, user_interface, value) {
-	var mceControl = tinyMCE._getInstanceById(editor_id);
-	if (mceControl) {
-		mceControl.contentWindow.focus();
-
-		// Reset design mode if lost
-		mceControl.autoResetDesignMode();
-
-		this.selectedElement = mceControl.getFocusElement();
-		this.selectedInstance = mceControl;
-		tinyMCE.execCommand(command, user_interface, value);
-	}
-}
-
-function TinyMCE_execCommand(command, user_interface, value) {
-	// Command within editor instance?
-/*	if (this.selectedInstance && tinyMCE.isMSIE) {
-		var node = this.selectedInstance.getFocusElement();
-		while (node = node.parentNode) {
-			if (node.nodeName == "#document" && (node.location.href.indexOf('blank.htm') == -1)) {
-				this.selectedInstance = null;
-				break;
-			}
-		}
-	}*/
-
-	// Default input
-	user_interface = user_interface ? user_interface : false;
-	value = value ? value : null;
-
-	switch (command) {
-		case 'mceHelp':
-			window.open(tinyMCE.themeURL + "/docs/" + this.settings['docs_language'] + "/index.htm", "mceHelp", "menubar=yes,toolbar=yes,scrollbars=yes,left=20,top=20,width=550,height=600");
-		return;
-
-		case 'mceFocus':
-			var mceControl = tinyMCE._getInstanceById(value);
-			if (mceControl)
-				mceControl.contentWindow.focus();
-		return;
-
-		case "mceAddControl":
-		case "mceAddEditor":
-			tinyMCE.addMCEControl(tinyMCE._getElementById(value), value, tinyMCE.createMCEControl(tinyMCE.settings));
-			return;
-
-		case "mceRemoveControl":
-		case "mceRemoveEditor":
-			tinyMCE.removeMCEControl(value);
-			return;
-
-		case "mceResetDesignMode":
-			// Resets the designmode state of the editors in Gecko
-			if (!tinyMCE.isMSIE) {
-				for (var instanceName in tinyMCE.instances)
-					tinyMCE.instances[instanceName].contentWindow.document.designMode = "on";
-			}
-
-			return;
-	}
-
-	if (this.selectedInstance)
-		this.selectedInstance.execCommand(command, user_interface, value);
-	else if (tinyMCE.settings['focus_alert'])
-		alert(tinyMCELang['lang_focus_alert']);
-}
-
-function TinyMCE_addEventHandlers(editor_id) {
-	if (tinyMCE.isMSIE) {
-		var patchFunc = function() {
-			var event = document.frames[editor_id].event;
-
-			event.target = event.srcElement;
-			event.target.editor_id = editor_id;
-
-			TinyMCE_handleEvent(event);
-		};
-
-		// Event patch
-		document.frames[editor_id].document.onkeypress = patchFunc;
-		document.frames[editor_id].document.onkeyup = patchFunc;
-		document.frames[editor_id].document.onkeydown = patchFunc;
-
-		// Due to stange focus bug in MSIE this line is disabled for now
-		//document.frames[editor_id].document.onmousedown = patchFunc;
-		document.frames[editor_id].document.onmouseup = patchFunc;
-		document.frames[editor_id].document.onclick = patchFunc;
-	} else {
-		var instance = tinyMCE.instances[editor_id];
-
-		instance.contentWindow.document.editor_id = editor_id;
-		instance.contentWindow.document.addEventListener("keypress", tinyMCE.handleEvent, false);
-		instance.contentWindow.document.addEventListener("keydown", tinyMCE.handleEvent, false);
-		instance.contentWindow.document.addEventListener("keyup", tinyMCE.handleEvent, false);
-		instance.contentWindow.document.addEventListener("click", tinyMCE.handleEvent, false);
-		instance.contentWindow.document.addEventListener("mouseup", tinyMCE.handleEvent, false);
-		instance.contentWindow.document.addEventListener("mousedown", tinyMCE.handleEvent, false);
-		instance.contentWindow.document.addEventListener("focus", tinyMCE.handleEvent, false);
-		instance.contentWindow.document.designMode = "on";
-	}
-}
-
-
-function TinyMCE__createIFrame(replace_element) {
-	var iframe = document.createElement("iframe");
-	var id = replace_element.getAttribute("id");
-
-	iframe.setAttribute("id", id);
-	iframe.setAttribute("className", "mceEditorArea");
-	iframe.setAttribute("border", "0");
-	iframe.setAttribute("frameBorder", "0");
-	iframe.setAttribute("marginWidth", "0");
-	iframe.setAttribute("marginHeight", "0");
-	iframe.setAttribute("leftMargin", "0");
-	iframe.setAttribute("topMargin", "0");
-	iframe.setAttribute("width", tinyMCE.settings['area_width']);
-	iframe.setAttribute("height", tinyMCE.settings['area_height']);
-
-	// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
-	if (tinyMCE.isMSIE)
-		iframe.setAttribute("src", this.settings['default_document']);
-
-	iframe.style.width = tinyMCE.settings['area_width'];
-	iframe.style.height = tinyMCE.settings['area_height'];
-
-	// MSIE 5.0 issue
-	if (tinyMCE.isMSIE)
-		replace_element.outerHTML = iframe.outerHTML;
-	else
-		replace_element.parentNode.replaceChild(iframe, replace_element);
-
-	if (tinyMCE.isMSIE)
-		return window.frames[id];
-	else
-		return iframe;
-}
-
-function TinyMCE_setEditMode(editor_id, mode) {
-	var targetMCEControl = this.instances[editor_id];
-	var dynamicIFrame = false;
-
-	if (!this.isMSIE) {
-		var targetElement = document.getElementById(editor_id);
-		if (targetElement && targetElement.nodeName.toLowerCase() == "span") {
-			targetElement = tinyMCE._createIFrame(targetElement);
-			dynamicIFrame = true;
-		}
-
-		targetMCEControl.targetElement = targetElement;
-		targetMCEControl.contentDocument = targetElement.contentDocument;
-		targetMCEControl.contentWindow = targetElement.contentWindow;
-
-		//targetMCEControl.contentWindow.document.designMode = mode ? "on" : "off";
-	} else {
-		var targetElement = document.getElementById(editor_id);
-		if (targetElement && targetElement.nodeName.toLowerCase() == "span")
-			targetElement = tinyMCE._createIFrame(targetElement);
-		else
-			targetElement = document.frames[editor_id];
-
-		targetMCEControl.targetElement = targetElement;
-		targetMCEControl.contentDocument = targetElement.window.document;
-		targetMCEControl.contentWindow = targetElement.window;
-
-		targetMCEControl.contentDocument.designMode = mode ? "on" : "off";
-	}
-
-	// Setup base HTML
-	var doc = targetMCEControl.contentDocument;
-	if (dynamicIFrame) {
-        var html = ""
-            + '<!doctype html public "-//w3c//dtd html 4.0 transitional//en">'
-            + '<html>'
-            + '<head>'
-            + '<title>blank_page</title>'
-            + '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
-            + '</head>'
-            + '<body>'
-            + '</body>'
-            + '</html>';
-
-		try {
-			targetMCEControl.contentWindow.document.designMode = "on";
-			doc.open();
-			doc.write(html);
-			doc.close();
-		} catch (e) {
-			// Failed Mozilla 1.3
-			targetMCEControl.contentWindow.document.location.href = tinyMCE.baseURL + "/blank.htm";
-		}
-	}
-
-	// This timeout is needed in MSIE 5.5 for some odd reason
-	// it seems that the document.frames isn't initialized yet?
-	if (tinyMCE.isMSIE)
-		window.setTimeout("TinyMCE_addEventHandlers('" + editor_id + "');", 1);
-
-	//window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", (tinyMCE.isMSIE ? 1 : 1000));
-	tinyMCE.setupContent(editor_id);
-}
-
-function TinyMCE_setupContent(editor_id) {
-	var instance = tinyMCE.instances[editor_id];
-	var doc = instance.contentWindow.document;
-	var head = doc.getElementsByTagName('head').item(0);
-
-	// Not loaded correctly hit it again, Mozilla bug #997860
-	if (!tinyMCE.isMSIE && doc.title != "blank_page") {
-		// This part will remove the designMode status
-		doc.location.href = tinyMCE.baseURL + "/blank.htm";
-		window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000);
-		return;
-	}
-
-	if (!head) {
-		window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10);
-		return;
-	}
-
-	doc.body.dir = this.settings['directionality'];
-	doc.editorId = editor_id;
-
-	// Add on document element in Mozilla
-	if (!tinyMCE.isMSIE)
-		doc.documentElement.editorId = editor_id;
-
-	// Setup base element
-	base = doc.createElement("base");
-	base.setAttribute('href', tinyMCE.settings['base_href']);
-	head.appendChild(base);
-
-	var oldElement = instance.oldTargetElement;
-	if (oldElement.nodeName.toLowerCase() == "textarea")
-		var content = oldElement.value;
-	else
-		var content = instance.oldTargetElement.innerHTML;
-
-	instance.startContent = content;
-
-	// Replace new line characters to BRs
-	if (tinyMCE.settings['convert_newlines_to_brs']) {
-		content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
-		content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
-		content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
-	}
-
-	// Call custom cleanup code
-	content = tinyMCE._customCleanup("insert_to_editor", content);
-
-	if (tinyMCE.isMSIE) {
-		var styleSheet = document.frames[editor_id].document.createStyleSheet(instance.settings['content_css']);
-
-		// Ugly!!!
-		window.setInterval('try{tinyMCE.getCSSClasses(document.frames["' + editor_id + '"].document, "' + editor_id + '");}catch(e){}', 500);
-
-		if (tinyMCE.settings["force_br_newlines"])
-			document.frames[editor_id].document.styleSheets[0].addRule("p", "margin: 0px;");
-
-		var patchFunc = function() {
-			var event = document.frames[editor_id].event;
-			event.target = document.frames[editor_id].document;
-
-			TinyMCE_handleEvent(event);
-		};
-
-		document.frames[editor_id].document.body.onbeforepaste = patchFunc;
-		document.frames[editor_id].document.body.onbeforecut = patchFunc;
-		document.frames[editor_id].document.body.onpaste = patchFunc;
-
-		document.frames[editor_id].document.body.editorId = editor_id;
-	} else {
-		var targetDocument = document.getElementById(editor_id).contentWindow.document;
-
-		// Import editor css
-		var cssImporter = targetDocument.createElement("link");
-		cssImporter.rel = "stylesheet";
-		cssImporter.href = instance.settings['content_css'];
-		if (headArr = targetDocument.getElementsByTagName("head"));
-			headArr[0].appendChild(cssImporter);
-	}
-
-	// Fix for bug #958637
-	if (!tinyMCE.isMSIE) {
-		if (tinyMCE.settings['cleanup_on_startup']) {
-			var contentElement = instance.contentWindow.document.createElement("body");
-			contentElement.innerHTML = content;
-			instance.contentWindow.document.body.innerHTML = tinyMCE._cleanupHTML(instance.contentWindow.document, this.settings, contentElement);
-		} else {
-			var contentElement = instance.contentWindow.document.createElement("body");
-			var doc = instance.contentWindow.document;
-
-			// Convert all strong/em to b/i
-			content = tinyMCE.regexpReplace(content, "<strong", "<b", "gi");
-			content = tinyMCE.regexpReplace(content, "<em", "<i", "gi");
-			content = tinyMCE.regexpReplace(content, "</strong>", "</b>", "gi");
-			content = tinyMCE.regexpReplace(content, "</em>", "</i>", "gi");
-			contentElement.innerHTML = content;
-
-			// Convert img src nodes
-			var elms = contentElement.getElementsByTagName("img");
-			for (var i=0; i<elms.length; i++) {
-				var src = elms[i].getAttribute('src');
-				if (src && src != "") {
-					src = eval(tinyMCE.cleanup_urlconvertor_callback + "(src, elms[i], tinyMCE.cleanup_on_save);");
-					elms[i].setAttribute("src", src);
-					elms[i].setAttribute("mce_real_src", src);
-				}
-			}
-
-			// Convert anchor hrefs
-			elms = contentElement.getElementsByTagName("a");
-			for (var i=0; i<elms.length; i++) {
-				var href = elms[i].getAttribute('href');
-				if (href && href != "") {
-					href = eval(tinyMCE.cleanup_urlconvertor_callback + "(href, elms[i], tinyMCE.cleanup_on_save);");
-					elms[i].setAttribute("href", href);
-					elms[i].setAttribute("mce_real_href", href);
-				}
-			}
-
-			instance.contentWindow.document.body.innerHTML = contentElement.innerHTML;
-		}
-	} else {
-		if (tinyMCE.settings['cleanup_on_startup']) {
-			tinyMCE._setHTML(instance.contentWindow.document, content);
-			// Produces permission denied error in MSIE 5.5
-			eval('try {instance.contentWindow.document.body.innerHTML = tinyMCE._cleanupHTML(instance.contentDocument, this.settings, instance.contentDocument.body);} catch(e) {}');
-		} else
-			instance.contentWindow.document.body.innerHTML = content;
-	}
-
-	tinyMCE._convertOnClick(instance.contentWindow.document.body);
-
-	// Fix for bug #957681
-	//instance.contentWindow.document.designMode = instance.contentWindow.document.designMode;
-
-	// Setup element references
-	var parentElm = document.getElementById(instance.editorId + '_parent');
-	instance.formElement = parentElm.lastChild;
-
-	if (tinyMCE.settings['handleNodeChangeCallback']) {
-		var undoIndex = -1;
-		var undoLevels = -1;
-
-		if (tinyMCE.settings['custom_undo_redo']) {
-			undoIndex = 0;
-			undoLevels = 0;
-		}
-
-		eval(tinyMCE.settings['handleNodeChangeCallback'] + '("' + editor_id + '", tinyMCE.instances["' + editor_id + '"].contentWindow.document.body,undoIndex,undoLevels,tinyMCE.instances["' + editor_id + '"].visualAid, false);');
-		//window.setTimeout(tinyMCE.settings['handleNodeChangeCallback'] + '("' + editor_id + '", tinyMCE.instances["' + editor_id + '"].contentWindow.document.body,undoIndex,undoLevels);', 10);
-	}
-
-	tinyMCE.handleVisualAid(instance.contentWindow.document.body, true, tinyMCE.settings['visual']);
-
-	// Trigger setup content
-	if (tinyMCE.settings['setupcontent_callback'] != "")
-		eval(tinyMCE.settings['setupcontent_callback'] + '(editor_id,instance.contentWindow.document.body);');
-
-	// Re-add design mode on mozilla
-	if (!tinyMCE.isMSIE)
-		TinyMCE_addEventHandlers(editor_id);
-}
-
-function TinyMCE_handleEvent(e) {
-	//window.status = e.type + " " + e.target.nodeName + " " + (e.relatedTarget ? e.relatedTarget.nodeName : "");
-
-	switch (e.type) {
-		case "submit":
-			var formObj = tinyMCE.isMSIE ? window.event.srcElement : e.target;
-
-			// Disable all UI form elements that TinyMCE created
-			for (var i=0; i<formObj.elements.length; i++) {
-				var elementId = formObj.elements[i].name ? formObj.elements[i].name : formObj.elements[i].id;
-
-				if (elementId.indexOf('mce_editor_') == 0)
-					formObj.elements[i].disabled = true;
-			}
-
-			TinyMCE_triggerSave();
-			return;
-
-		case "reset":
-			TinyMCE_resetForm(e);
-			return;
-
-		case "paste":
-			if (tinyMCE.settings['auto_cleanup_word'])
-				window.setTimeout("tinyMCE.execInstanceCommand('" + e.target.editorId + "', 'mceCleanupWord', false, null);", 1);
-			break;
-
-		case "beforecut":
-		case "beforepaste":
-			if (tinyMCE.selectedInstance)
-				tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");
-			break;
-
-		case "keypress":
-			if (e.target.editorId) {
-				tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
-			} else {
-				if (e.target.ownerDocument.editorId)
-					tinyMCE.selectedInstance = tinyMCE.instances[e.target.ownerDocument.editorId];
-			}
-
-			// Mozilla custom key handling
-			if (!tinyMCE.isMSIE && e.ctrlKey && tinyMCE.settings['custom_undo_redo']) {
-				if (e.charCode == 120 || e.charCode == 118) { // Ctrl+X, Ctrl+V
-					tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");
-					return;
-				}
-
-				if (tinyMCE.settings['custom_undo_redo_keyboard_shortcuts']) {
-					if (e.charCode == 122) { // Ctrl+Z
-						tinyMCE.selectedInstance.execCommand("Undo");
-
-						// Cancel event
-						e.preventDefault();
-						return false;
-					}
-
-					if (e.charCode == 121) { // Ctrl+Y
-						tinyMCE.selectedInstance.execCommand("Redo");
-
-						// Cancel event
-						e.preventDefault();
-						return false;
-					}
-				}
-
-				if (e.charCode == 98) { // Ctrl+B
-					tinyMCE.selectedInstance.execCommand("Bold");
-
-					// Cancel event
-					e.preventDefault();
-					return false;
-				}
-
-				if (e.charCode == 105) { // Ctrl+I
-					tinyMCE.selectedInstance.execCommand("Italic");
-
-					// Cancel event
-					e.preventDefault();
-					return false;
-				}
-
-				if (e.charCode == 117) { // Ctrl+U
-					tinyMCE.selectedInstance.execCommand("Underline");
-
-					// Cancel event
-					e.preventDefault();
-					return false;
-				}
-			}
-
-			if (tinyMCE.settings['custom_undo_redo']) {
-				// Check if it's a position key press
-				var keys = new Array(13,45,36,35,33,34,37,38,39,40);
-				var posKey = false;
-				for (var i=0; i<keys.length; i++) {
-					if (keys[i] == e.keyCode) {
-						tinyMCE.selectedInstance.typing = false;
-						posKey = true;
-						break;
-					}
-				}
-
-				// Add typing undo level
-				if (!tinyMCE.selectedInstance.typing && !posKey) {
-					tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");
-					tinyMCE.selectedInstance.typing = true;
-				}
-			}
-
-			//window.status = e.keyCode;
-			//window.status = e.type + " " + e.target.nodeName;
-
-			// Return key pressed
-			if (tinyMCE.isMSIE && tinyMCE.settings['force_br_newlines'] && e.keyCode == 13) {
-				if (e.target.editorId)
-					tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
-
-				if (tinyMCE.selectedInstance) {
-					var sel = tinyMCE.selectedInstance.contentWindow.document.selection;
-					var rng = sel.createRange();
-
-					if (tinyMCE.getParentElement(rng.parentElement(), "li") != null)
-						return false;
-
-					if (tinyMCE.getParentElement(rng.parentElement(), "div") == null)
-						return false;
-
-					// Cancel event
-					e.returnValue = false;
-					e.cancelBubble = true;
-
-					// Insert BR element
-					rng.pasteHTML("<br>");
-					rng.collapse(false);
-					rng.select();
-				}
-			}
-
-			// Backspace or delete
-			if (e.keyCode == 8 || e.keyCode == 46) {
-				tinyMCE.selectedElement = e.target;
-				tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a");
-				tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img");
-				tinyMCE.triggerNodeChange(false);
-			}
-
-			return false;
-		break;
-
-		case "keyup":
-		case "keydown":
-			if (e.target.editorId)
-				tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
-			else
-				return;
-
-			tinyMCE.selectedElement = null;
-			var elm = tinyMCE.selectedInstance.getFocusElement();
-			tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a");
-			tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img");
-			tinyMCE.selectedElement = elm;
-
-			// MSIE custom key handling
-			if (tinyMCE.isMSIE && tinyMCE.settings['custom_undo_redo']) {
-				// Check if it's a position key press
-				var keys = new Array(13,45,36,35,33,34,37,38,39,40);
-				var posKey = false;
-				for (var i=0; i<keys.length; i++) {
-					if (keys[i] == e.keyCode) {
-						tinyMCE.selectedInstance.typing = false;
-						posKey = true;
-						break;
-					}
-				}
-
-				// Add typing undo level (unless pos keys or shift, alt, ctrl, capslock)
-				if (!tinyMCE.selectedInstance.typing && !posKey && (e.keyCode < 16 || e.keyCode > 18 && e.keyCode != 255)) {
-					tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");
-					tinyMCE.selectedInstance.typing = true;
-					tinyMCE.triggerNodeChange(false);
-				}
-
-				if (posKey && e.type == "keyup")
-					tinyMCE.triggerNodeChange(false);
-
-				var ctrlKeys = new Array(66,73,85,86,88); // B/I/U/V/X
-				var keys = new Array(8,46); // Backspace,Delete
-				for (var i=0; i<keys.length; i++) {
-					if ((ctrlKeys[i] == e.keyCode && e.ctrlKey) || keys[i] == e.keyCode) {
-						tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");
-						tinyMCE.triggerNodeChange(false);
-						return true;
-					}
-				}
-
-				if (tinyMCE.settings['custom_undo_redo_keyboard_shortcuts']) {
-					if (e.keyCode == 90 && e.ctrlKey && e.type == "keydown") { // Ctrl+Z
-						tinyMCE.selectedInstance.execCommand("Undo");
-						tinyMCE.triggerNodeChange(false);
-
-						// Cancel event
-						e.returnValue = false;
-						e.cancelBubble = true;
-						return false;
-					}
-
-					if (e.keyCode == 89 && e.ctrlKey && e.type == "keydown") { // Ctrl+Y
-						tinyMCE.selectedInstance.execCommand("Redo");
-						tinyMCE.triggerNodeChange(false);
-
-						// Cancel event
-						e.returnValue = false;
-						e.cancelBubble = true;
-						return false;
-					}
-				}
-			}
-
-			// Trigger some nodechange on keyup
-			if (e.type == "keyup")
-				tinyMCE.triggerNodeChange();
-		break;
-
-		case "mousedown":
-		case "mouseup":
-		case "click":
-		case "focus":
-			// Check instance event trigged on
-			var targetBody = tinyMCE.getParentElement(e.target, "body");
-			for (var instanceName in tinyMCE.instances) {
-				var instance = tinyMCE.instances[instanceName];
-				if (instance.contentWindow.document.body == targetBody) {
-					tinyMCE.selectedInstance = instance;
-					tinyMCE.selectedElement = e.target;
-					tinyMCE.linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
-					tinyMCE.imgElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "img");
-
-					// Reset design mode if lost
-					instance.autoResetDesignMode();
-
-					// Reset typing
-					tinyMCE.selectedInstance.typing = false;
-					break;
-				}
-			}
-
-			tinyMCE.triggerNodeChange(false);
-
-			// Just in case
-			if (!tinyMCE.selectedInstance && e.target.editorId)
-				tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
-
-			// Was it alt click on link
-			if (e.target.nodeName.toLowerCase() == "a" && e.type == "click" && e.altKey) {
-				var evalCode = "" + tinyMCE.cleanupEventStr(e.target.getAttribute("mce_onclick"));
-
-				// Remove any return too
-				eval(evalCode.replace('return false;', ''));
-			}
-
-			return false;
-		break;
-    } // end switch
-} // end function
-
-function TinyMCE_switchClass(element, class_name, lock_state) {
-	var lockChanged = false;
-
-	if (typeof(lock_state) != "undefined" && element != null) {
-		element.classLock = lock_state;
-		lockChanged = true;
-	}
-
-	if (element != null && (lockChanged || !element.classLock)) {
-		element.oldClassName = element.className;
-		element.className = class_name;
-	}
-}
-
-function TinyMCE_restoreAndSwitchClass(element, class_name) {
-	if (element != null && !element.classLock) {
-		this.restoreClass(element);
-		this.switchClass(element, class_name);
-	}
-}
-
-function TinyMCE_switchClassSticky(element_name, class_name, lock_state) {
-	var element, lockChanged = false;
-
-	// Performance issue
-	if (!this.stickyClassesLookup[element_name])
-		this.stickyClassesLookup[element_name] = document.getElementById(element_name);
-
-//	element = document.getElementById(element_name);
-	element = this.stickyClassesLookup[element_name];
-
-	if (typeof(lock_state) != "undefined" && element != null) {
-		element.classLock = lock_state;
-		lockChanged = true;
-	}
-
-	if (element != null && (lockChanged || !element.classLock)) {
-		element.className = class_name;
-		element.oldClassName = class_name;
-	}
-}
-
-function TinyMCE_restoreClass(element) {
-	if (element != null && element.oldClassName && !element.classLock) {
-		element.className = element.oldClassName;
-		element.oldClassName = null;
-	}
-}
-
-function TinyMCE_setClassLock(element, lock_state) {
-	if (element != null)
-		element.classLock = lock_state;
-}
-
-function TinyMCE_onLoad() {
-	// Add submit triggers
-	if (tinyMCE.isMSIE) {
-		if (document.forms && tinyMCE.settings['add_form_submit_trigger']) {
-			for (var i=0; i<document.forms.length; i++) {
-				document.forms[i].attachEvent("onsubmit", TinyMCE_handleEvent);
-				document.forms[i].attachEvent("onreset", TinyMCE_handleEvent);
-			}
-		}
-	} else {
-		if (document.forms && tinyMCE.settings['add_form_submit_trigger']) {
-			for (var i=0; i<document.forms.length; i++) {
-				document.forms[i].addEventListener("submit", TinyMCE_handleEvent, false);
-				document.forms[i].addEventListener("reset", TinyMCE_handleEvent, false);
-			}
-		}
-	}
-
-	// Add editor instances based on mode
-	switch (tinyMCE.settings['mode']) {
-		case "exact":
-			var elements = tinyMCE.getParam('elements', '', true, ',');
-
-			for (var i=0; i<elements.length; i++) {
-				var element = tinyMCE._getElementById(elements[i]);
-
-				if (element)
-					tinyMCE.addMCEControl(element, elements[i], tinyMCE.createMCEControl(tinyMCE.settings));
-				else
-					alert("Error: Could not find element by id or name: " + elements[i]);
-			}
-		break;
-
-		case "specific_textareas":
-		case "textareas":
-			var nodeList = document.getElementsByTagName("textarea");
-			var elementRefAr = new Array();
-
-			for (var i=0; i<nodeList.length; i++) {
-				if (tinyMCE.settings['mode'] != "specific_textareas" || nodeList.item(i).getAttribute(tinyMCE.settings['textarea_trigger']) == "true")
-					elementRefAr[elementRefAr.length] = nodeList.item(i);
-			}
-
-			for (var i=0; i<elementRefAr.length; i++) {
-				var element = elementRefAr[i];
-				var elementId = element.name ? element.name : element.id;
-
-				if (tinyMCE.settings['ask']) {
-					if (tinyMCE.isMSIE)
-						element.attachEvent("onmousedown", TinyMCE_confirmAdd);
-					else
-						element.addEventListener("mousedown", TinyMCE_confirmAdd, false);
-				} else
-					tinyMCE.addMCEControl(element, elementId, tinyMCE.createMCEControl(tinyMCE.settings));
-			}
-		break;
-	}
-}
-
-function TinyMCE_removeMCEControl(editor_id) {
-	var mceControl = tinyMCE._getInstanceById(editor_id);
-	if (mceControl) {
-		editor_id = mceControl.editorId;
-		var html = tinyMCE.getContent(editor_id);
-
-		// Remove editor instance from instances array
-		var tmpInstances = new Array();
-		for (var instanceName in tinyMCE.instances) {
-			var instance = tinyMCE.instances[instanceName];
-			if (instanceName != editor_id)
-					tmpInstances[instanceName] = instance;
-		}
-		tinyMCE.instances = tmpInstances;
-
-		tinyMCE.selectedElement = null;
-		tinyMCE.selectedInstance = null;
-
-		// Remove element
-		var replaceElement = document.getElementById(editor_id + "_parent");
-		var oldTargetElement = mceControl.oldTargetElement;
-		var targetName = oldTargetElement.nodeName.toLowerCase();
-		if (targetName == "textarea" || targetName == "input")
-			oldTargetElement.value = html;
-		else
-			oldTargetElement.innerHTML = html;
-
-		replaceElement.parentNode.insertBefore(oldTargetElement, replaceElement);
-		replaceElement.parentNode.removeChild(replaceElement);
-	}
-}
-
-function TinyMCE__cleanupElementName(element_name, element) {
-	element_name = element_name.toLowerCase();
-
-	// Never include body
-	if (element_name == "body")
-		return null;
-
-	// If verification mode
-	if (tinyMCE.cleanup_verify_html) {
-		// Check if invalid element
-		for (var i=0; i<tinyMCE.cleanup_invalidElements.length; i++) {
-			if (tinyMCE.cleanup_invalidElements[i] == element_name)
-				return null;
-		}
-
-		// Check if valid element
-		var validElement = false;
-		var elementAttribs = null;
-		for (var i=0; i<tinyMCE.cleanup_validElements.length && !elementAttribs; i++) {
-			for (var x=0; x<tinyMCE.cleanup_validElements[i][0].length; x++) {
-				var elmMatch = tinyMCE.cleanup_validElements[i][0][x];
-
-				// Handle wildcard/regexp
-				if (elmMatch.match(new RegExp('\\*|\\?|\\+', 'g')) != null) {
-					elmMatch = elmMatch.replace(new RegExp('\\?', 'g'), '(\\S?)');
-					elmMatch = elmMatch.replace(new RegExp('\\+', 'g'), '(\\S+)');
-					elmMatch = elmMatch.replace(new RegExp('\\*', 'g'), '(\\S*)');
-					elmMatch = "^" + elmMatch + "$";
-					if (element_name.match(new RegExp(elmMatch, 'g'))) {
-						elementAttribs = tinyMCE.cleanup_validElements[i];
-						validElement = true;
-						break;
-					}
-				}
-
-				// Handle non regexp
-				if (element_name == elmMatch) {
-					elementAttribs = tinyMCE.cleanup_validElements[i];
-					validElement = true;
-					element_name = elementAttribs[0][0];
-					break;
-				}
-			}
-		}
-
-		if (!validElement)
-			return null;
-	}
-
-	// Special Mozilla stuff
-	if (!tinyMCE.isMSIE) {
-		// Fix for bug #958498
-		if (element_name == "strong" && !tinyMCE.cleanup_on_save)
-			element_name = "b";
-		else if (element_name == "em" && !tinyMCE.cleanup_on_save)
-			element_name = "i";
-	}
-
-	// Special MSIE stuff
-	if (tinyMCE.isMSIE) {
-		if (element_name == "table") {
-			var attribValue = element.style.pixelWidth == 0 ? element.getAttribute("width") : element.style.pixelWidth;
-			element.setAttribute("width", attribValue);
-
-			attribValue = element.style.pixelHeight == 0 ? element.getAttribute("height") : element.style.pixelHeight;
-			element.setAttribute("height", attribValue);
-		}
-	}
-
-	var elmData = new Object();
-
-	elmData.element_name = element_name;
-	elmData.valid_attribs = elementAttribs;
-
-	return elmData;
-}
-
-/**
- * Converts some element attributes to inline styles.
- */
-function TinyMCE__fixInlineStyles(elm) {
-	// Handle non table elements
-	if (elm.nodeName.toLowerCase() != "table") {
-		var value;
-
-		// Setup width
-		value = tinyMCE.isMSIE ? elm.width : elm.getAttribute("width");
-		if (value && value != "") {
-			if (typeof(value) != "string" || !value.indexOf("%"))
-				value += "px";
-
-			elm.style.width = value;
-		}
-
-		// Setup height
-		value = tinyMCE.isMSIE ? elm.height : elm.getAttribute("height");
-		if (value && value != "") {
-			if (typeof(value) != "string" || !value.indexOf("%"))
-				value += "px";
-
-			elm.style.height = value;
-		}
-
-		// Setup border
-		value = tinyMCE.isMSIE ? elm.border : elm.getAttribute("border");
-		if (value && value != "")
-			elm.style.borderWidth = value + "px";
-	}
-
-	// Setup align
-	value = elm.getAttribute("align");
-	if (value && value != "") {
-		if (elm.nodeName.toLowerCase() == "img") {
-			if (tinyMCE.isMSIE)
-				elm.style.styleFloat = value;
-			else
-				elm.style.cssFloat = value;
-		} else
-			elm.style.textAlign = value;
-	}
-
-	// Setup vspace
-	value = elm.getAttribute("vspace");
-	if (value && value != "")
-		elm.style.marginTop = value + "px";
-
-	// Setup hspace
-	value = elm.getAttribute("hspace");
-	if (value && value != "")
-		elm.style.marginBottom = value + "px";
-}
-
-function TinyMCE__cleanupAttribute(valid_attributes, element_name, attribute_node, element_node) {
-	var attribName = attribute_node.nodeName.toLowerCase();
-	var attribValue = attribute_node.nodeValue;
-	var attribMustBeValue = null;
-	var verified = false;
-
-	// Inline styling, skip them
-	if (tinyMCE.cleanup_inline_styles && element_name != "table" && element_name != "td") {
-		if (attribName == "width" || attribName == "height" || attribName == "border" || attribName == "align" || attribName == "valign" || attribName == "hspace" || attribName == "vspace")
-			return null;
-	}
-
-	// Mozilla attibute, remove them
-	if (attribName.indexOf('moz_') != -1)
-		return null;
-
-	// Mozilla fix for drag-drop/copy/paste images
-	if (!tinyMCE.isMSIE && (attribName == "mce_real_href" || attribName == "mce_real_src")) {
-		if (!tinyMCE.cleanup_on_save) {
-			var attrib = new Object();
-
-			attrib.name = attribName;
-			attrib.value = attribValue;
-
-			return attrib;
-		} else
-			return null;
-	}
-
-	// Auto verify 
-	if (attribName == "mce_onclick")
-		verified = true;
-
-	// Verify attrib
-	if (tinyMCE.cleanup_verify_html && !verified) {
-		for (var i=1; i<valid_attributes.length; i++) {
-			var attribMatch = valid_attributes[i][0];
-			var re = null;
-
-			// Build regexp from wildcard
-			if (attribMatch.match(new RegExp('\\*|\\?|\\+', 'g')) != null) {
-				attribMatch = attribMatch.replace(new RegExp('\\?', 'g'), '(\\S?)');
-				attribMatch = attribMatch.replace(new RegExp('\\+', 'g'), '(\\S+)');
-				attribMatch = attribMatch.replace(new RegExp('\\*', 'g'), '(\\S*)');
-				attribMatch = "^" + attribMatch + "$";
-				re = new RegExp(attribMatch, 'g');
-			}
-
-			if ((re && attribName.match(re) != null) || attribName == attribMatch) {
-				verified = true;
-				attribMustBeValue = valid_attributes[i][3];
-				break;
-			}
-		}
-
-		
-		// Allways pass styles on table and td elements if visual_aid
-		if ((element_name == "table" || element_name == "td") && attribName == "style")
-			verified = true;
-
-		if (!verified)
-			return false;
-	} else
-		verified = true;
-
-	// Treat some attribs diffrent
-	switch (attribName) {
-		case "width":
-			// MSIE 5.5 issue
-			if (tinyMCE.isMSIE)
-				attribValue = element_node.width;
-			break;
-
-		case "height":
-			// MSIE 5.5 issue
-			if (tinyMCE.isMSIE)
-				attribValue = element_node.height;
-			break;
-
-		case "border":
-			// MSIE 5.5 issue
-			if (tinyMCE.isMSIE)
-				attribValue = element_node.border;
-			break;
-
-		case "class":
-			if (!tinyMCE._verifyClass(element_node))
-				return null;
-			break;
-
-		case "style":
-			if (element_name == "table" || element_name == "td") {
-				// Handle visual aid
-				if (tinyMCE.cleanup_visual_table_style != "") {
-					// Find parent table
-					var tableElement = element_node;
-					if (element_name == "td")
-						tableElement = tinyMCE.getParentElement(tableElement, "table");
-
-					if (tableElement && tableElement.getAttribute("border") == 0) {
-						if (tinyMCE.cleanup_visual_aid)
-							attribValue = tinyMCE.cleanup_visual_table_style;
-						else
-							return null;
-					}
-				}
-			} else
-				attribValue = element_node.style.cssText.toLowerCase();
-
-			// Compress borders some
-			if (tinyMCE.isMSIE) {
-				var border = element_node.style.border;
-				var bt = element_node.style.borderTop;
-				var bl = element_node.style.borderLeft;
-				var br = element_node.style.borderRight;
-				var bb = element_node.style.borderBottom;
-
-				// All the same
-				if (border != "" && (bt == border && bl == border && br == border && bb == border)) {
-					attribValue = tinyMCE.regexpReplace(attribValue, 'border-top: ' + border + '?; ?', '');
-					attribValue = tinyMCE.regexpReplace(attribValue, 'border-left: ' + border  + '?; ?', '');
-					attribValue = tinyMCE.regexpReplace(attribValue, 'border-right: ' + border  + '?; ?', '');
-					attribValue = tinyMCE.regexpReplace(attribValue, 'border-bottom: ' + border + '?;( ?)', 'border: ' + border + ';$1');
-				}
-			}
-			break;
-
-		// Handle onclick
-		case "onclick":
-		case "mce_onclick":
-			// Skip on MSIE < 6+
-			if (tinyMCE.isMSIE5)
-				break;
-
-			// Fix onclick attrib
-			if (tinyMCE.cleanup_on_save) {
-				if (element_node.getAttribute("mce_onclick")) {
-					attribName = "onclick";
-					attribValue = "" + element_node.getAttribute("mce_onclick");
-				}
-			} else {
-				if (attribName == "onclick" && !tinyMCE.cleanup_on_save)
-					return null;
-			}
-
-			break;
-
-		// Convert the URLs of these
-		case "href":
-		case "src":
-			// Fix for dragdrop/copy paste Mozilla issue
-			if (!tinyMCE.isMSIE && attribName == "href" && element_node.getAttribute("mce_real_href"))
-				attribValue = element_node.getAttribute("mce_real_href");
-
-			// Fix for dragdrop/copy paste Mozilla issue
-			if (!tinyMCE.isMSIE && attribName == "src" && element_node.getAttribute("mce_real_src"))
-				attribValue = element_node.getAttribute("mce_real_src");
-
-			attribValue = eval(tinyMCE.cleanup_urlconvertor_callback + "(attribValue, element_node, tinyMCE.cleanup_on_save);");
-			break;
-
-		case "colspan":
-		case "rowspan":
-			// Not needed
-			if (attribValue == "1")
-				return null;
-			break;
-
-		// Skip these
-		case "_moz-userdefined":
-		case "editorid":
-		case "editor_id":
-		case "mce_real_href":
-		case "mce_real_src":
-			return null;
-	}
-
-	// Not the must be value
-	if (attribMustBeValue != null) {
-		var isCorrect = false;
-		for (var i=0; i<attribMustBeValue.length; i++) {
-			if (attribValue == attribMustBeValue[i]) {
-				isCorrect = true;
-				break;
-			}
-		}
-
-		if (!isCorrect)
-			return null;
-	}
-
-	var attrib = new Object();
-
-	attrib.name = attribName;
-	attrib.value = attribValue;
-
-	return attrib;
-}
-
-function TinyMCE__verifyClass(node) {
-	var className = node.getAttribute('class');
-
-	// Trim CSS class
-	if (tinyMCE.isMSIE)
-		var className = node.getAttribute('className');
-
-	if (tinyMCE.cleanup_verify_css_classes && tinyMCE.cleanup_on_save) {
-		var csses = tinyMCE.getCSSClasses();
-		nonDefinedCSS = true;
-		for (var c=0; c<csses.length; c++) {
-			if (csses[c] == className) {
-				nonDefinedCSS = false;
-				break;
-			}
-		}
-
-		if (nonDefinedCSS && className.indexOf('mce_') != 0) {
-			node.removeAttribute('className');
-			node.removeAttribute('class');
-			return false;
-		}
-	}
-
-	return true;
-}
-
-function TinyMCE_cleanupNode(node) {
-	var output = "";
-
-	switch (node.nodeType) {
-		case 1: // Element
-			var elementData = tinyMCE._cleanupElementName(node.nodeName, node);
-			var elementName = elementData ? elementData.element_name : null;
-			var elementValidAttribs = elementData ? elementData.valid_attribs : null;
-			var elementAttribs = "";
-
-			// Checking DOM tree for MSIE weirdness!!
-			if (tinyMCE.isMSIE && tinyMCE.settings['fix_content_duplication']) {
-				var lookup = tinyMCE.cleanup_elementLookupTable;
-
-				for (var i=0; i<lookup.length; i++) {
-					// Found element reference else were, hmm?
-					if (lookup[i] == node)
-						return output;
-				}
-
-				// Add element to lookup table
-				lookup[lookup.length] = node;
-			}
-
-			// Element not valid (only render children)
-			if (!elementName) {
-				if (node.hasChildNodes()) {
-					for (var i=0; i<node.childNodes.length; i++)
-						output += this.cleanupNode(node.childNodes[i]);
-				}
-
-				return output;
-			}
-
-			// Has mso/microsuck crap or empty attrib
-			if (node.style && (node.style.cssText.indexOf('mso-') != -1 && tinyMCE.settings['auto_cleanup_word']) || node.style.cssText == "") {
-				node.style.cssText = "";
-				node.removeAttribute("style");
-			}
-
-			// Handle inline styles
-			if (tinyMCE.cleanup_inline_styles)
-				tinyMCE._fixInlineStyles(node);
-
-			// Set attrib data
-			if (elementValidAttribs) {
-				for (var a=1; a<elementValidAttribs.length; a++) {
-					var attribName, attribDefaultValue, attribForceValue, attribValue;
-
-					attribName = elementValidAttribs[a][0];
-					attribDefaultValue = elementValidAttribs[a][1];
-					attribForceValue = elementValidAttribs[a][2];
-
-					if (attribDefaultValue || attribForceValue) {
-						var attribValue = node.getAttribute(attribName);
-						if (node.getAttribute(attribName) == null || node.getAttribute(attribName) == "")
-							attribValue = attribDefaultValue;
-
-						attribValue = attribForceValue ? attribForceValue : attribValue;
-
-						// Is to generate id
-						if (attribValue == "{$uid}")
-							attribValue = "uid_" + (tinyMCE.cleanup_idCount++);
-
-						node.setAttribute(attribName, attribValue);
-						//alert(attribName + "=" + attribValue);
-					}
-				}
-			}
-
-			// Remove non needed span elements
-			if (elementName == "span" && tinyMCE.cleanup_trim_span_elements) {
-				var re = new RegExp('^[ \t]+', 'g');
-				var onlyWhiteSpace = true;
-				for (var a=0; a<node.childNodes.length; a++) {
-					var tmpNode = node.childNodes[a];
-					if ((tmpNode.nodeType == 3 && !tmpNode.nodeValue.match(re)) || tmpNode.nodeName.toLowerCase() != "span") {
-						onlyWhiteSpace = false;
-						break;
-					}
-				}
-
-				// Count attributes
-				tinyMCE._verifyClass(node);
-				var numAttribs = 0;
-				for (var i=0; i<node.attributes.length; i++) {
-					if (node.attributes[i].specified)
-						numAttribs++;
-				}
-
-				// Is not a valid span, remove it
-				if (onlyWhiteSpace || numAttribs == 0) {
-					if (node.hasChildNodes()) {
-						for (var i=0; i<node.childNodes.length; i++)
-							output += this.cleanupNode(node.childNodes[i]);
-					}
-
-					return output;
-				}
-			}
-
-			// Add some visual aids
-			if (elementName == "table" || elementName == "td") {
-				// Handle visual aid
-				if (tinyMCE.cleanup_visual_table_style != "") {
-					// Find parent table
-					var tableElement = node;
-					if (elementName == "td")
-						tableElement = tinyMCE.getParentElement(tableElement, "table");
-
-					if (tableElement && tableElement.getAttribute("border") == 0) {
-						if (tinyMCE.cleanup_visual_aid)
-							elementAttribs += " style=" + '"' + tinyMCE.cleanup_visual_table_style + '"';
-					}
-				}
-			}
-
-			// Handle element attributes
-			if (node.attributes.length > 0) {
-				for (var i=0; i<node.attributes.length; i++) {
-					if (node.attributes[i].specified) {
-						var attrib = tinyMCE._cleanupAttribute(elementValidAttribs, elementName, node.attributes[i], node);
-						if (attrib)
-							elementAttribs += " " + attrib.name + "=" + '"' + attrib.value + '"';
-					}
-				}
-
-				//alert(elementAttribs);
-			}
-
-			// Add nbsp to some elements
-			if ((elementName == "p" || elementName == "td") && (node.innerHTML == "" || node.innerHTML == "&nbsp;"))
-				return "<" + elementName + elementAttribs + ">&nbsp;</" + elementName + ">";
-
-			// Is MSIE script element
-			if (tinyMCE.isMSIE && elementName == "script")
-				return "<" + elementName + elementAttribs + ">" + node.text + "</" + elementName + ">";
-
-			// Clean up children
-			if (node.hasChildNodes()) {
-				// Force BR
-				if (elementName == "p" && tinyMCE.cleanup_force_br_newlines)
-					output += "<div" + elementAttribs + ">";
-				else
-					output += "<" + elementName + elementAttribs + ">";
-
-				for (var i=0; i<node.childNodes.length; i++)
-					output += this.cleanupNode(node.childNodes[i]);
-
-				// Force BR
-				if (elementName == "p" && tinyMCE.cleanup_force_br_newlines)
-					output += "</div><br />";
-				else
-					output += "</" + elementName + ">";
-			} else // No children
-				output += "<" + elementName + elementAttribs + " />";
-
-			return output;
-
-		case 3: // Text
-			// Do not convert script elements
-			if (node.parentNode.nodeName.toLowerCase() == "script")
-				return node.nodeValue;
-
-			return this.convertStringToXML(node.nodeValue);
-
-		case 8: // Comment
-			return "<!--" + node.nodeValue + "-->";
-
-		default: // Unknown
-			return "[UNKNOWN NODETYPE " + node.nodeType + "]";
-	}
-}
-
-function TinyMCE_convertStringToXML(html_data) {
-    var output = "";
-
-	for (var i=0; i<html_data.length; i++) {
-		var chr = html_data.charCodeAt(i);
-
-		// Check if a name exists in lookup table
-		if (typeof(tinyMCE.cleanup_entities["c" + chr]) != 'undefined' && tinyMCE.cleanup_entities["c" + chr] != '')
-			output += '&' + tinyMCE.cleanup_entities["c" + chr] + ';';
-		else
-			output += '' + String.fromCharCode(chr);
-    }
-
-    return output;
-}
-
-function TinyMCE__initCleanup() {
-	function getElementName(chunk) {
-		var pos;
-
-		if ((pos = chunk.indexOf('/')) != -1)
-			chunk = chunk.substring(0, pos);
-
-		if ((pos = chunk.indexOf('[')) != -1)
-			chunk = chunk.substring(0, pos);
-
-		return chunk;
-	}
-
-	// Parse valid elements and attributes
-	var validElements = tinyMCE.settings["valid_elements"];
-	validElements = validElements.split(',');
-
-	// Handle extended valid elements
-	var extendedValidElements = tinyMCE.settings["extended_valid_elements"];
-	extendedValidElements = extendedValidElements.split(',');
-	for (var i=0; i<extendedValidElements.length; i++) {
-		var elementName = getElementName(extendedValidElements[i]);
-		var skipAdd = false;
-
-		// Check if it's defined before, if so override that one
-		for (var x=0; x<validElements.length; x++) {
-			if (getElementName(validElements[x]) == elementName) {
-				validElements[x] = extendedValidElements[i];
-				skipAdd = true;
-				break;
-			}
-		}
-
-		if (!skipAdd)
-			validElements[validElements.length] = extendedValidElements[i];
-	}
-
-	for (var i=0; i<validElements.length; i++) {
-		var item = validElements[i];
-		item = item.replace('[','|');
-		item = item.replace(']','');
-
-		// Split and convert
-		var attribs = item.split('|');
-		for (var x=0; x<attribs.length; x++)
-			attribs[x] = attribs[x].toLowerCase();
-
-		// Handle change elements
-		attribs[0] = attribs[0].split('/');
-
-		// Handle default attribute values
-		for (var x=1; x<attribs.length; x++) {
-			var attribName = attribs[x];
-			var attribDefault = null;
-			var attribForce = null;
-			var attribMustBe = null;
-
-			// Default value
-			if ((pos = attribName.indexOf('=')) != -1) {
-				attribDefault = attribName.substring(pos+1);
-				attribName = attribName.substring(0, pos);
-			}
-
-			// Force check
-			if ((pos = attribName.indexOf(':')) != -1) {
-				attribForce = attribName.substring(pos+1);
-				attribName = attribName.substring(0, pos);
-			}
-
-			// Force check
-			if ((pos = attribName.indexOf('<')) != -1) {
-				attribMustBe = attribName.substring(pos+1).split('?');
-				attribName = attribName.substring(0, pos);
-			}
-
-			attribs[x] = new Array(attribName, attribDefault, attribForce, attribMustBe);
-		}
-
-		validElements[i] = attribs;
-	}
-
-	var invalidElements = tinyMCE.settings['invalid_elements'].split(',');
-	for (var i=0; i<invalidElements.length; i++)
-		invalidElements[i] = invalidElements[i].toLowerCase();
-
-	// Set these for performance
-	tinyMCE.cleanup_validElements = validElements;
-	tinyMCE.cleanup_invalidElements = invalidElements;
-	tinyMCE.cleanup_verify_html = tinyMCE.settings['verify_html'];
-	tinyMCE.cleanup_force_br_newlines = tinyMCE.settings['force_br_newlines'];
-	tinyMCE.cleanup_urlconvertor_callback = tinyMCE.settings['urlconvertor_callback'];
-	tinyMCE.cleanup_verify_css_classes = tinyMCE.settings['verify_css_classes'];
-	tinyMCE.cleanup_visual_table_style = tinyMCE.settings['visual_table_style'];
-	tinyMCE.cleanup_apply_source_formatting = tinyMCE.settings['apply_source_formatting'];
-	tinyMCE.cleanup_urlconvertor_callback = tinyMCE.settings['urlconvertor_callback'];
-	tinyMCE.cleanup_trim_span_elements = tinyMCE.settings['trim_span_elements'];
-	tinyMCE.cleanup_inline_styles = tinyMCE.settings['inline_styles'];
-
-	// Setup entities
-	tinyMCE.cleanup_entities = new Array();
-	var entities = tinyMCE.getParam('entities', '', true, ',');
-	for (var i=0; i<entities.length; i+=2)
-		tinyMCE.cleanup_entities['c' + entities[i]] = entities[i+1];
-}
-
-function TinyMCE__cleanupHTML(doc, config, element, visual, on_save) {
-	// Set these for performance
-	tinyMCE.cleanup_visual_aid = visual;
-	tinyMCE.cleanup_on_save = on_save;
-	tinyMCE.cleanup_idCount = 0;
-	tinyMCE.cleanup_elementLookupTable = new Array();
-
-	var startTime = new Date().getTime();
-
-	tinyMCE._convertOnClick(element);
-
-	// Cleanup madness that breaks the editor in MSIE
-	if (tinyMCE.isMSIE)
-		element.innerHTML = tinyMCE.regexpReplace(element.innerHTML, '<!([^-(DOCTYPE)]* )|<!/[^-]*>', '', 'gi');
-
-	var html = this.cleanupNode(element);
-
-	if (tinyMCE.settings['debug'])
-		alert("Cleanup process executed in: " + (new Date().getTime()-startTime) + " ms.");
-
-	// Remove pesky HR paragraphs
-	html = tinyMCE.regexpReplace(html, '<p><hr /></p>', '<hr />');
-	html = tinyMCE.regexpReplace(html, '<p>&nbsp;</p><hr /><p>&nbsp;</p>', '<hr />');
-
-	// Remove some mozilla crap
-	if (!tinyMCE.isMSIE) {
-		html = html.replace(new RegExp('<o:p _moz-userdefined="" />', 'g'), "");
-	}
-
-	if (tinyMCE.settings['apply_source_formatting']) {
-		html = html.replace(new RegExp('<(p|div)([^>]*)>', 'g'), "\n<$1$2>\n");
-		html = html.replace(new RegExp('<\/(p|div)([^>]*)>', 'g'), "\n</$1$2>\n");
-		html = html.replace(new RegExp('<br />', 'g'), "<br />\n");
-	}
-
-	if (tinyMCE.settings['force_br_newlines']) {
-		var re = new RegExp('<p>&nbsp;</p>', 'g');
-		html = html.replace(re, "<br />");
-	}
-
-	// Emtpy node, return empty
-	if (html == "<br />" || html == "<p>&nbsp;</p>")
-		html = "";
-
-	// Call custom cleanup code
-	html = tinyMCE._customCleanup(on_save ? "get_from_editor" : "insert_to_editor", html);
-
-	if (tinyMCE.settings["preformatted"])
-		return "<pre>" + html + "</pre>";
-
-	return html;
-}
-
-function TinyMCE_insertLink(href, target, title, onclick) {
-	function setAttrib(element, name, value) {
-		if (value != null && value != "")
-			element.setAttribute(name, value);
-		else
-			element.removeAttribute(name);
-	}
-
-	this.execCommand("mceAddUndoLevel");
-
-	if (this.selectedInstance && this.selectedElement && this.selectedElement.nodeName.toLowerCase() == "img") {
-		var doc = this.selectedInstance.contentWindow.document;
-
-		var linkElement = doc.createElement("a");
-
-		href = eval(tinyMCE.settings['urlconvertor_callback'] + "(href, linkElement);");
-		setAttrib(linkElement, 'href', href);
-		setAttrib(linkElement, 'target', target);
-		setAttrib(linkElement, 'title', title);
-        setAttrib(linkElement, 'mce_onclick', onclick);
-
-		linkElement.appendChild(this.selectedElement.cloneNode(true));
-
-		this.selectedElement.parentNode.replaceChild(linkElement, this.selectedElement);
-
-		return;
-	}
-
-	if (!this.linkElement && this.selectedInstance) {
-		this.selectedInstance.contentDocument.execCommand("createlink", false, "#mce_temp_url#");
-		tinyMCE.linkElement = this.getElementByAttributeValue(this.selectedInstance.contentDocument.body, "a", "href", "#mce_temp_url#");
-
-		var elementArray = this.getElementsByAttributeValue(this.selectedInstance.contentDocument.body, "a", "href", "#mce_temp_url#");
-
-		for (var i=0; i<elementArray.length; i++) {
-			href = eval(tinyMCE.settings['urlconvertor_callback'] + "(href, elementArray[i]);");
-			setAttrib(elementArray[i], 'href', href);
-			setAttrib(elementArray[i], 'mce_real_href', href);
-			setAttrib(elementArray[i], 'target', target);
-			setAttrib(elementArray[i], 'title', title);
-            setAttrib(elementArray[i], 'mce_onclick', onclick);
-		}
-
-		tinyMCE.linkElement = elementArray[0];
-	}
-
-	if (this.linkElement) {
-		href = eval(tinyMCE.settings['urlconvertor_callback'] + "(href, this.linkElement);");
-		setAttrib(this.linkElement, 'href', href);
-		setAttrib(this.linkElement, 'mce_real_href', href);
-		setAttrib(this.linkElement, 'target', target);
-		setAttrib(this.linkElement, 'title', title);
-        setAttrib(this.linkElement, 'mce_onclick', onclick);
-	}
-}
-
-function TinyMCE_insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) {
-	this.execCommand("mceAddUndoLevel");
-
-	function setAttrib(element, name, value, no_fix_value) {
-		if (!no_fix_value && value != null) {
-			var re = new RegExp('[^0-9%]', 'g');
-			value = value.replace(re, '');
-		}
-
-		if (value != null && value != "")
-			element.setAttribute(name, value);
-		else
-			element.removeAttribute(name);
-	}
-
-	if (!this.imgElement && this.selectedInstance) {
-		this.selectedInstance.contentDocument.execCommand("insertimage", false, "#mce_temp_url#");
-		tinyMCE.imgElement = this.getElementByAttributeValue(this.selectedInstance.contentDocument.body, "img", "src", "#mce_temp_url#");
-	}
-
-	if (this.imgElement) {
-		src = eval(tinyMCE.settings['urlconvertor_callback'] + "(src, tinyMCE.imgElement);");
-
-		// Use alt as title if it's undefined
-		if (typeof(title) == "undefined")
-			title = alt;
-
-		tinyMCE.setAttrib(this.imgElement, 'src', src, true);
-		tinyMCE.setAttrib(this.imgElement, 'mce_real_src', src, true);
-		tinyMCE.setAttrib(this.imgElement, 'alt', alt, true);
-		tinyMCE.setAttrib(this.imgElement, 'title', title, true);
-		tinyMCE.setAttrib(this.imgElement, 'align', align, true);
-		tinyMCE.setAttrib(this.imgElement, 'border', border);
-		tinyMCE.setAttrib(this.imgElement, 'hspace', hspace);
-		tinyMCE.setAttrib(this.imgElement, 'vspace', vspace);
-		tinyMCE.setAttrib(this.imgElement, 'width', width);
-		tinyMCE.setAttrib(this.imgElement, 'height', height);
-		tinyMCE.setAttrib(this.imgElement, 'border', border);
-        tinyMCE.setAttrib(this.imgElement, 'onmouseover', onmouseover, true);
-        tinyMCE.setAttrib(this.imgElement, 'onmouseout', onmouseout, true);
-
-		// Fix for bug #989846 - Image resize bug
-		if (width && width != "")
-			this.imgElement.style.pixelWidth = width;
-
-		if (height && height != "")
-			this.imgElement.style.pixelHeight = height;
-	}
-}
-
-function TinyMCE_getElementByAttributeValue(node, element_name, attrib, value) {
-	var elements = this.getElementsByAttributeValue(node, element_name, attrib, value);
-	if (elements.length == 0)
-		return null;
-
-	return elements[0];
-}
-
-function TinyMCE_getElementsByAttributeValue(node, element_name, attrib, value) {
-	var elements = new Array();
-
-	if (node && node.nodeName.toLowerCase() == element_name) {
-		if (node.getAttribute(attrib).indexOf(value) != -1)
-			elements[elements.length] = node;
-	}
-
-	if (node.hasChildNodes) {
-		for (var x=0; x<node.childNodes.length; x++) {
-			var childElements = this.getElementsByAttributeValue(node.childNodes[x], element_name, attrib, value);
-			for (var i=0; i<childElements.length; i++)
-				elements[elements.length] = childElements[i];
-		}
-	}
-
-	return elements;
-}
-
-function TinyMCE_getParentElement(node, names, attrib_name, attrib_value) {
-	var namesAr = names.split(',');
-
-	if (node == null)
-		return null;
-
-	do {
-		for (var i=0; i<namesAr.length; i++) {
-			if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() || names == "*") {
-				if (typeof(attrib_name) == "undefined")
-					return node;
-				else if (node.getAttribute(attrib_name)) {
-					if (typeof(attrib_value) == "undefined") {
-						if (node.getAttribute(attrib_name) != "")
-							return node;
-					} else if (node.getAttribute(attrib_name) == attrib_value)
-						return node;
-				}
-			}
-		}
-	} while (node = node.parentNode);
-
-	return null;
-}
-
-function TinyMCE_convertURL(url, node, on_save) {
-	var fileProto = (document.location.protocol == "file:");
-
-	// Something is wrong, remove weirdness
-	url = tinyMCE.regexpReplace(url, '(http|https):///', '/');
-
-	// Mailto link or anchor (Pass through)
-	if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#")
-		return url;
-
-	// Fix relative/Mozilla
-	if (!tinyMCE.isMSIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/')
-		return tinyMCE.settings['base_href'] + url;
-
-	// Convert to relative urls
-	if (on_save && tinyMCE.settings['relative_urls']) {
-		var urlParts = tinyMCE.parseURL(url);
-
-		// If not absolute url, do nothing (Mozilla)
-		if (!urlParts['protocol'] && !tinyMCE.isMSIE) {
-			var urlPrefix = "http://";
-			urlPrefix += document.location.hostname;
-			if (document.location.port != "")
-				urlPrefix += document.location.port;
-
-			url = urlPrefix + url;
-			urlParts = tinyMCE.parseURL(url);
-		}
-
-		var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']);
-
-		// Link is within this site
-		if (urlParts['host'] == tmpUrlParts['host'] && (!urlParts['port'] || urlParts['port'] == tmpUrlParts['port']))
-			return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], url);
-	}
-
-	// Remove current domain
-	if (!fileProto && tinyMCE.settings['remove_script_host']) {
-		var start = document.location.protocol + "//" + document.location.hostname + "/";
-
-		if (url.indexOf(start) == 0)
-			url = url.substring(start.length-1);
-
-		// Add first slash if missing on a absolute URL
-		if (!tinyMCE.settings['relative_urls'] && url.indexOf('://') == -1 && url.charAt(0) != '/')
-			url = '/' + url;
-	}
-
-	return url;
-}
-
-/**
- * Parses a URL in to its diffrent components.
- */
-function TinyMCE_parseURL(url_str) {
-	var urlParts = new Array();
-
-	if (url_str) {
-		var pos, lastPos;
-
-		// Parse protocol part
-		pos = url_str.indexOf('://');
-		if (pos != -1) {
-			urlParts['protocol'] = url_str.substring(0, pos);
-			lastPos = pos + 3;
-		}
-
-		// Find port or path start
-		for (var i=lastPos; i<url_str.length; i++) {
-			var chr = url_str.charAt(i);
-
-			if (chr == ':')
-				break;
-
-			if (chr == '/')
-				break;
-		}
-		pos = i;
-
-		// Get host
-		urlParts['host'] = url_str.substring(lastPos, pos);
-
-		// Get port
-		lastPos = pos;
-		if (url_str.charAt(pos) == ':') {
-			pos = url_str.indexOf('/', lastPos);
-			urlParts['port'] = url_str.substring(lastPos+1, pos);
-		}
-
-		// Get path
-		lastPos = pos;
-		pos = url_str.indexOf('?', lastPos);
-		if (pos == -1)
-			pos = url_str.length;
-
-		urlParts['path'] = url_str.substring(lastPos, pos);
-
-		// Get query
-		lastPos = pos;
-		if (url_str.charAt(pos) == '?') {
-			pos = url_str.length;
-			urlParts['query'] = url_str.substring(lastPos+1, pos);
-		}
-	}
-
-	return urlParts;
-}
-
-/**
- * Converts an absolute path to relative path.
- */
-function TinyMCE_convertAbsoluteURLToRelativeURL(base_url, url_to_relative) {
-	var strTok1;
-	var strTok2;
-	var breakPoint = 0;
-	var outputString = "";
-
-	// Crop away last path part
-	base_url = base_url.substring(0, base_url.lastIndexOf('/'));
-	strTok1 = base_url.split('/');
-	strTok2 = url_to_relative.split('/');
-
-	if (strTok1.length >= strTok2.length) {
-		for (var i=0; i<strTok1.length; i++) {
-			if (i >= strTok2.length || strTok1[i] != strTok2[i]) {
-				breakPoint = i + 1;
-				break;
-			}
-		}
-	}
-
-	if (strTok1.length < strTok2.length) {
-		for (var i=0; i<strTok2.length; i++) {
-			if (i >= strTok1.length || strTok1[i] != strTok2[i]) {
-				breakPoint = i + 1;
-				break;
-			}
-		}
-	}
-
-	if (breakPoint == 1)
-		return url_to_relative;
-
-	for (var i=0; i<(strTok1.length-(breakPoint-1)); i++)
-		outputString += "../";
-
-	for (var i=breakPoint-1; i<strTok2.length; i++) {
-		if (i != (breakPoint-1))
-			outputString += "/" + strTok2[i];
-		else
-			outputString += strTok2[i];
-	}
-
-	return outputString;
-}
-
-function TinyMCE_getParam(name, default_value, strip_whitespace, split_chr) {
-	var value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
-
-	if (strip_whitespace)
-		value = tinyMCE.regexpReplace(value, "[ \t\r\n]", "");
-
-	if (typeof(split_chr) != "undefined" && split_chr != null) {
-		value = value.split(split_chr);
-		var outArray = new Array();
-
-		for (var i=0; i<value.length; i++) {
-			if (value[i] && value[i] != "")
-				outArray[outArray.length] = value[i];
-		}
-
-		value = outArray;
-	}
-
-	return value;
-}
-
-function TinyMCE_getLang(name, default_value, parse_entities) {
-	var value = (typeof(tinyMCELang[name]) == "undefined") ? default_value : tinyMCELang[name];
-
-	if (parse_entities) {
-		var el = document.createElement("div");
-		el.innerHTML = value;
-		value = el.innerHTML;
-	}
-
-	return value;
-}
-
-function TinyMCE_replaceVar(replace_haystack, replace_var, replace_str) {
-	var re = new RegExp('{\\\$' + replace_var + '}', 'g');
-	return replace_haystack.replace(re, replace_str);
-}
-
-function TinyMCE_replaceVars(replace_haystack, replace_vars) {
-	for (var key in replace_vars) {
-		var value = replace_vars[key];
-		replace_haystack = tinyMCE.replaceVar(replace_haystack, key, value);
-	}
-
-	return replace_haystack;
-}
-
-function TinyMCE_triggerNodeChange(focus) {
-	if (tinyMCE.settings['handleNodeChangeCallback']) {
-		if (tinyMCE.selectedInstance) {
-			var editorId = tinyMCE.selectedInstance.editorId;
-			var elm = tinyMCE.selectedInstance.getFocusElement();
-			var undoIndex = -1;
-			var undoLevels = -1;
-			var anySelection = false;
-			var selectedText = "";
-
-			if (tinyMCE.isMSIE) {
-				var documentRef = tinyMCE.selectedInstance.contentWindow.document;
-				var rng = documentRef.selection.createRange();
-				selectedText = rng.text;
-			} else
-				selectedText = tinyMCE.selectedInstance.contentWindow.getSelection().toString();
-
-			if (tinyMCE.selectedElement)
-				anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
-
-			if (tinyMCE.settings['custom_undo_redo']) {
-				undoIndex = tinyMCE.selectedInstance.undoIndex;
-				undoLevels = tinyMCE.selectedInstance.undoLevels.length;
-			}
-
-			// Trigger plugin nodechanges
-			var plugins = tinyMCE.getParam('plugins', '', true, ',');
-			for (var i=0; i<plugins.length; i++) {
-				if (eval("typeof(TinyMCE_" + plugins[i] +  "_handleNodeChange)") != "undefined")
-					eval("TinyMCE_" + plugins[i] +  "_handleNodeChange(editorId, elm, undoIndex, undoLevels, tinyMCE.selectedInstance.visualAid, anySelection);");
-			}
-
-			eval(tinyMCE.settings['handleNodeChangeCallback'] + "(editorId, elm, undoIndex, undoLevels, tinyMCE.selectedInstance.visualAid, anySelection);");
-		}
-	}
-
-	if (tinyMCE.selectedInstance && (typeof(focus) == "undefined" || focus))
-		this.selectedInstance.contentWindow.focus();
-}
-
-function TinyMCE__customCleanup(type, content) {
-	// Call custom cleanup
-	var customCleanup = tinyMCE.settings['cleanup_callback'];
-	if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined")
-		content = eval(customCleanup + "(type, content);");
-
-	// Trigger plugin cleanups
-	var plugins = tinyMCE.getParam('plugins', '', true, ',');
-	for (var i=0; i<plugins.length; i++) {
-		if (eval("typeof(TinyMCE_" + plugins[i] +  "_cleanup)") != "undefined")
-			content = eval("TinyMCE_" + plugins[i] +  "_cleanup(type, content);");
-	}
-
-	return content;
-}
-
-function TinyMCE_getContent(editor_id) {
-	if (typeof(editor_id) != "undefined")
-		tinyMCE.selectedInstance = tinyMCE._getInstanceById(editor_id);
-
-	if (tinyMCE.selectedInstance) {
-		var cleanedHTML = tinyMCE._cleanupHTML(this.selectedInstance.contentWindow.document, tinyMCE.settings, this.selectedInstance.contentWindow.document.body, false, true);
-		return cleanedHTML;
-	}
-
-	return null;
-}
-
-function TinyMCE_setContent(html_content) {
-	if (tinyMCE.selectedInstance) {
-		var doc = this.selectedInstance.contentWindow.document;
-
-		// Call custom cleanup code
-		html_content = tinyMCE._customCleanup("insert_to_editor", html_content);
-
-		tinyMCE._setHTML(doc, html_content);
-		doc.body.innerHTML = tinyMCE._cleanupHTML(doc, tinyMCE.settings, doc.body);
-		tinyMCE.handleVisualAid(doc.body, true, tinyMCE.selectedInstance.visualAid);
-	}
-}
-
-function TinyMCE_importThemeLanguagePack(theme_name) {
-	if (typeof(theme_name) == "undefined")
-		theme_name = tinyMCE.settings['theme'];
-
-	document.write('<script language="javascript" type="text/javascript" src="' + tinyMCE.baseURL + '/themes/' + theme_name + '/langs/' + tinyMCE.settings['language'] +  '.js"></script>');	
-}
-
-function TinyMCE_importPluginLanguagePack(theme_name, valid_languages) {
-	var lang = "uk";
-
-	valid_languages = valid_languages.split(',');
-	for (var i=0; i<valid_languages.length; i++) {
-		if (tinyMCE.settings['language'] == valid_languages[i])
-			lang = tinyMCE.settings['language'];
-	}
-
-	document.write('<script language="javascript" type="text/javascript" src="' + tinyMCE.baseURL + '/plugins/' + theme_name + '/langs/' + lang +  '.js"></script>');	
-}
-
-/**
- * Adds themeurl, settings and lang to HTML code.
- */
-function TinyMCE_applyTemplate(html, args) {
-	html = tinyMCE.replaceVar(html, "themeurl", tinyMCE.themeURL);
-
-	if (typeof(args) != "undefined")
-		html = tinyMCE.replaceVars(html, args);
-
-	html = tinyMCE.replaceVars(html, tinyMCE.settings);
-	html = tinyMCE.replaceVars(html, tinyMCELang);
-
-	return html;
-}
-
-function TinyMCE_openWindow(template, args, skip_lang) {
-	var html, width, height, x, y, resizable, scrollbars, url;
-
-	tinyMCE.windowArgs = args;
-
-	html = template['html'];
-	if (!(width = template['width']))
-		width = 320;
-
-	if (!(height = template['height']))
-		height = 200;
-
-	// Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!!
-	if (tinyMCE.isMSIE)
-		height += 30;
-
-	x = parseInt(screen.width / 2.0) - (width / 2.0);
-	y = parseInt(screen.height / 2.0) - (height / 2.0);
-
-	resizable = (args && args['resizable']) ? args['resizable'] : "no";
-	scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
-	url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
-
-	if (html) {
-		html = tinyMCE.replaceVar(html, "css", this.settings['popups_css']);
-		html = tinyMCE.applyTemplate(html, args, skip_lang);
-
-		var win = window.open("", "mcePopup", "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable);
-		win.document.write(html);
-		win.document.close();
-		win.resizeTo(width, height);
-		win.focus();
-	} else {
-		if (tinyMCE.isMSIE && resizable != 'yes') {
-            var features = "resizable:" + resizable 
-                + ";scroll:"
-                + scrollbars + ";status:yes;center:yes;help:no;dialogWidth:"
-                + width + "px;dialogHeight:" + height + "px;";
-
-			window.showModalDialog(url, window, features);
-		} else {
-			var win = window.open(url, "mcePopup", "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable);
-			win.resizeTo(width, height);
-			win.focus();
-		}
-	}
-}
-
-function TinyMCE_handleVisualAid(element, deep, state) {
-	var tableElement = null;
-
-	// Remove visual aid elements
-/*	if (!state && element.getAttribute && element.getAttribute('mceVisualAid') == "true") {
-		element.parentNode.removeChild(element);
-		return;
-	}*/
-
-	switch (element.nodeName.toLowerCase()) {
-		case "table":
-			var cssText = element.getAttribute("border") == 0 ? tinyMCE.settings['visual_table_style'] : "";
-
-			element.style.cssText = state ? cssText : "";
-
-			for (var y=0; y<element.rows.length; y++) {
-				for (var x=0; x<element.rows[y].cells.length; x++)
-					element.rows[y].cells[x].style.cssText = state ? cssText : "";
-			}
-
-			break;
-
-/*		case "a":
-			var name = element.getAttribute("name");
-			if (name && name != "" && state) {
-				//element.innerHTML += '<img mceVisualAid="true" src="' + (tinyMCE.themeURL + "/images/anchor.gif") + '" />';
-				return;
-			}
-
-			break;*/
-	}
-
-	if (deep && element.hasChildNodes()) {
-		for (var i=0; i<element.childNodes.length; i++)
-			tinyMCE.handleVisualAid(element.childNodes[i], deep, state);
-	}
-}
-
-function TinyMCE_getAttrib(elm, name, default_value) {
-	var v = elm.getAttribute(name);
-	return (v && v != "") ? v : default_value;
-}
-
-function TinyMCE_setAttrib(element, name, value, no_fix_value) {
-	if (typeof(value) == "number")
-		value = "" + value;
-
-	if (!no_fix_value && value != null && value != -1) {
-		var re = new RegExp('[^0-9%]', 'g');
-		value = value.replace(re, '');
-	}
-
-	if (value != null && value != "" && value != -1)
-		element.setAttribute(name, value);
-	else
-		element.removeAttribute(name);
-}
-
-function TinyMCE__setHTML(doc, html_content) {
-	// Weird MSIE bug, <p><hr /></p> breaks runtime?
-	if (tinyMCE.isMSIE) {
-		var re = new RegExp('<p><hr /></p>', 'g');
-		html_content = html_content.replace(re, "<hr>");
-	}
-
-	doc.body.innerHTML = html_content;
-
-	// *Content duplication bug fix
-	if (tinyMCE.isMSIE && tinyMCE.settings['fix_content_duplication']) {
-		// Remove P elements in P elements
-		var paras = doc.getElementsByTagName("P");
-		for (var i=0; i<paras.length; i++) {
-			var node = paras[i];
-			while ((node = node.parentNode) != null) {
-				if (node.nodeName.toLowerCase() == "p")
-					node.outerHTML = node.innerHTML;
-			}
-		}
-
-		// Content duplication bug fix (Seems to be word crap)
-		var html = doc.body.createTextRange().htmlText;
-
-		if (html.indexOf('="mso') != -1) {
-			for (var i=0; i<doc.body.all.length; i++) {
-				var el = doc.body.all[i];
-				el.removeAttribute("className","",0);
-				el.removeAttribute("style","",0);
-			}
-
-			html = doc.body.createTextRange().htmlText;
-
-			html = tinyMCE.regexpReplace(html, "<o:p><\/o:p>", "<br />");
-			html = tinyMCE.regexpReplace(html, "<o:p>&nbsp;<\/o:p>", "");
-			html = tinyMCE.regexpReplace(html, "<st1:.*?>", "");
-			html = tinyMCE.regexpReplace(html, "<p><\/p>", "");
-			html = tinyMCE.regexpReplace(html, "<p><\/p>\r\n<p><\/p>", "");
-			html = tinyMCE.regexpReplace(html, "<p>&nbsp;<\/p>", "<br />");
-			html = tinyMCE.regexpReplace(html, "<p>\s*(<p>\s*)?", "<p>");
-			html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "</p>");
-		}
-
-		// Always set the htmlText output
-		doc.body.innerHTML = html;
-	}
-}
-
-function TinyMCE__getElementById(element_id) {
-	var elm = document.getElementById(element_id);
-	if (!elm) {
-		// Check for element in forms
-		for (var j=0; j<document.forms.length; j++) {
-			for (var k=0; k<document.forms[j].elements.length; k++) {
-				if (document.forms[j].elements[k].name == element_id) {
-					elm = document.forms[j].elements[k];
-					break;
-				}
-			}
-		}
-	}
-
-	return elm;
-}
-
-function TinyMCE_getEditorId(form_element) {
-	var mceControl = this._getInstanceById(form_element);
-	if (!mceControl)
-		return null;
-
-	return mceControl.editorId;
-}
-
-function TinyMCE__getInstanceById(editor_id) {
-	var mceControl = this.instances[editor_id];
-	if (!mceControl) {
-		for (var instanceName in tinyMCE.instances) {
-			var instance = tinyMCE.instances[instanceName];
-			if (instance.formTargetElementId == editor_id) {
-				mceControl = instance;
-				break;
-			}
-		}
-	}
-
-	return mceControl;
-}
-
-function TinyMCE_queryInstanceCommandValue(editor_id, command) {
-	var mceControl = tinyMCE._getInstanceById(editor_id);
-	if (mceControl)
-		return mceControl.queryCommandValue(command);
-
-	return false;
-}
-
-function TinyMCE_queryInstanceCommandState(editor_id, command) {
-	var mceControl = tinyMCE._getInstanceById(editor_id);
-	if (mceControl)
-		return mceControl.queryCommandState(command);
-
-	return null;
-}
-
-function TinyMCE_getWindowArg(name, default_value) {
-	return (typeof(this.windowArgs[name]) == "undefined") ? default_value : this.windowArgs[name];
-}
-
-function TinyMCE_getCSSClasses(editor_id, doc) {
-	var output = new Array();
-
-	// Is cached, use that
-	if (typeof(tinyMCE.cssClasses) != "undefined")
-		return tinyMCE.cssClasses;
-
-	if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") {
-		var instance;
-
-		for (var instanceName in tinyMCE.instances) {
-			instance = tinyMCE.instances[instanceName];
-			break;
-		}
-
-		doc = instance.contentWindow.document;
-	}
-
-	if (typeof(doc) == "undefined") {
-		var instance = tinyMCE._getInstanceById(editor_id);
-		doc = instance.contentWindow.document;
-	}
-
-	if (doc) {
-		var styles = tinyMCE.isMSIE ? doc.styleSheets : doc.styleSheets;
-
-		if (styles && styles.length > 0) {
-			var csses = null;
-
-			// Just ignore any errors
-			eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets(0).rules : doc.styleSheets[0].cssRules;} catch(e) {}");
-			if (!csses)
-				return null;
-
-			for (var i=0; i<csses.length; i++) {
-				var selectorText = csses[i].selectorText;
-
-				// Can be multiple rules per selector
-				var rules = selectorText.split(',');
-				for (var c=0; c<rules.length; c++) {
-					// Invalid rule
-					if (rules[c].indexOf(' ') != -1 || rules[c].indexOf(':') != -1 || rules[c].indexOf('mce_') == 1)
-						continue;
-
-					// Is class rule
-					if (rules[c].indexOf('.') != -1) {
-						//alert(rules[c].substring(rules[c].indexOf('.')));
-						output[output.length] = rules[c].substring(rules[c].indexOf('.')+1);
-					}
-				}
-			}
-		}
-	}
-
-	// Cache em
-	if (output.length > 0)
-		tinyMCE.cssClasses = output;
-
-	return output;
-}
-
-function TinyMCE_regexpReplace(in_str, reg_exp, replace_str, opts) {
-	if (typeof(opts) == "undefined")
-		opts = 'g';
-
-	var re = new RegExp(reg_exp, opts);
-	return in_str.replace(re, replace_str);
-}
-
-function TinyMCE_cleanupEventStr(str) {
-	str = str.replace('function anonymous()\n{\n', '');
-	str = str.replace('\n}', '');
-
-	return str;
-}
-
-// TinyMCEControl
-function TinyMCEControl(settings) {
-	// Undo levels
-	this.undoLevels = new Array();
-	this.undoIndex = 0;
-
-	// Default settings
-	this.settings = settings;
-	this.settings['theme'] = tinyMCE.getParam("theme", "default");
-	this.settings['width'] = tinyMCE.getParam("width", -1);
-	this.settings['height'] = tinyMCE.getParam("height", -1);
-
-	// Functions
-	this.execCommand = TinyMCEControl_execCommand;
-	this.queryCommandValue = TinyMCEControl_queryCommandValue;
-	this.queryCommandState = TinyMCEControl_queryCommandState;
-	this.onAdd = TinyMCEControl_onAdd;
-	this.getFocusElement = TinyMCEControl_getFocusElement;
-	this.autoResetDesignMode = TinyMCEControl_autoResetDesignMode;
-}
-
-function TinyMCEControl_autoResetDesignMode() {
-	// Add fix for tab/style.display none/block problems in Gecko
-	if (!tinyMCE.isMSIE && tinyMCE.settings['auto_reset_designmode']) {
-		var sel = this.contentWindow.getSelection();
-
-		// Werid, where that cursor selection
-		if (sel.rangeCount == 0)
-			this.contentWindow.document.designMode = "On";
-	}
-}
-
-function TinyMCEControl_execCommand(command, user_interface, value) {
-	function getAttrib(elm, name) {
-		return elm.getAttribute(name) ? elm.getAttribute(name) : "";
-	}
-
-	// Mozilla issue
-	if (!tinyMCE.isMSIE && !this.useCSS) {
-		this.contentWindow.document.execCommand("useCSS", false, true);
-		this.useCSS = true;
-	}
-
-	//alert("command: " + command + ", user_interface: " + user_interface + ", value: " + value);
-	this.contentDocument = this.contentWindow.document; // <-- Strange!!
-
-	// Call theme execcommand
-	if (tinyMCE._themeExecCommand(this.editorId, this.contentDocument.body, command, user_interface, value))
-		return;
-
-	// Add undo level of operation
-	if (command != "mceAddUndoLevel" && command != "Undo" && command != "Redo" && command != "mceImage" && command != "mceLink" && command != "mceToggleVisualAid" && (command != "mceInsertTable" && !user_interface))
-		this.execCommand("mceAddUndoLevel");
-
-	// Fix align on images
-	if (this.getFocusElement() && this.getFocusElement().nodeName.toLowerCase() == "img") {
-		var align = this.getFocusElement().getAttribute('align');
-
-		switch (command) {
-			case "JustifyLeft":
-				if (align == 'left')
-					this.getFocusElement().removeAttribute('align');
-				else
-					this.getFocusElement().setAttribute('align', 'left');
-
-				tinyMCE.triggerNodeChange();
-				return;
-
-			case "JustifyCenter":
-				if (align == 'middle')
-					this.getFocusElement().removeAttribute('align');
-				else
-					this.getFocusElement().setAttribute('align', 'middle');
-
-				tinyMCE.triggerNodeChange();
-				return;
-
-			case "JustifyRight":
-				if (align == 'right')
-					this.getFocusElement().removeAttribute('align');
-				else
-					this.getFocusElement().setAttribute('align', 'right');
-
-				tinyMCE.triggerNodeChange();
-				return;
-		}
-	}
-
-	if (tinyMCE.settings['force_br_newlines']) {
-		var documentRef = this.contentWindow.document;
-		var alignValue = "";
-
-		if (documentRef.selection.type != "Control") {
-			switch (command) {
-					case "JustifyLeft":
-						alignValue = "left";
-						break;
-
-					case "JustifyCenter":
-						alignValue = "center";
-						break;
-
-					case "JustifyFull":
-						alignValue = "justify";
-						break;
-
-					case "JustifyRight":
-						alignValue = "right";
-						break;
-			}
-
-			if (alignValue != "") {
-				var rng = documentRef.selection.createRange();
-
-				if ((divElm = tinyMCE.getParentElement(rng.parentElement(), "div")) != null)
-					divElm.setAttribute("align", alignValue);
-				else if (rng.pasteHTML && rng.htmlText.length > 0)
-					rng.pasteHTML('<div align="' + alignValue + '">' + rng.htmlText + "</div>");
-
-				tinyMCE.triggerNodeChange();
-				return;
-			}
-		}
-	}
-
-	switch (command) {
-		case "Cut":
-		case "Copy":
-		case "Paste":
-			var cmdFailed = false;
-
-			// Try executing command
-			eval('try {this.contentDocument.execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');
-
-			// Alert error in gecko if command failed
-			if (tinyMCE.isGecko && cmdFailed) {
-				// Confirm more info
-				if (confirm(tinyMCE.getLang('lang_clipboard_msg')))
-					window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal');
-
-				return;
-			} else
-				tinyMCE.triggerNodeChange();
-		break;
-
-		case "mceLink":
-			var selectedText = "";
-
-			if (tinyMCE.isMSIE) {
-				var documentRef = this.contentWindow.document;
-				var rng = documentRef.selection.createRange();
-				selectedText = rng.text;
-			} else
-				selectedText = this.contentWindow.getSelection().toString();
-
-			if (!tinyMCE.linkElement) {
-				if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0))
-					return;
-			}
-
-			var href = "", target = "", title = "", onclick = "", action = "insert";
-
-			if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a")
-				tinyMCE.linkElement = tinyMCE.selectedElement;
-
-			// Is anchor not a link
-			if (tinyMCE.linkElement != null && getAttrib(tinyMCE.linkElement, 'href') == "")
-				tinyMCE.linkElement = null;
-
-			if (tinyMCE.linkElement) {
-				href = getAttrib(tinyMCE.linkElement, 'href');
-				target = getAttrib(tinyMCE.linkElement, 'target');
-				title = getAttrib(tinyMCE.linkElement, 'title');
-                onclick = getAttrib(tinyMCE.linkElement, 'mce_onclick');
-
-				// Try old onclick to if copy/pasted content
-				if (onclick == "")
-					onclick = getAttrib(tinyMCE.linkElement, 'onclick');
-
-				onclick = tinyMCE.cleanupEventStr(onclick);
-
-				// Fix for drag-drop/copy paste bug in Mozilla
-				mceRealHref = getAttrib(tinyMCE.linkElement, 'mce_real_href');
-				if (mceRealHref != "")
-					href = mceRealHref;
-
-				href = eval(tinyMCE.settings['urlconvertor_callback'] + "(href, tinyMCE.linkElement, true);");
-				action = "update";
-			}
-
-			if (this.settings['insertlink_callback']) {
-				var returnVal = eval(this.settings['insertlink_callback'] + "(href, target, title, onclick, action);");
-				if (returnVal && returnVal['href'])
-					tinyMCE.insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick']);
-			} else {
-				tinyMCE.openWindow(this.insertLinkTemplate, {href : href, target : target, title : title, onclick : onclick, action : action});
-			}
-		break;
-
-		case "mceImage":
-			var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = "";
-			var title = "", onmouseover = "", onmouseout = "", action = "insert";;
-
-			if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img")
-				tinyMCE.imgElement = tinyMCE.selectedElement;
-
-			if (tinyMCE.imgElement) {
-				// Is it a internal MCE visual aid image, then skip this one.
-                name = getAttrib(tinyMCE.imgElement, 'name');
-                if (name.substring(0, 4)=='mce_')
-                    return;
-
-				src = getAttrib(tinyMCE.imgElement, 'src');
-				alt = getAttrib(tinyMCE.imgElement, 'alt');
-
-				// Try polling out the title
-				if (alt == "")
-					alt = getAttrib(tinyMCE.imgElement, 'title');
-
-				border = getAttrib(tinyMCE.imgElement, 'border');
-				hspace = getAttrib(tinyMCE.imgElement, 'hspace');
-				vspace = getAttrib(tinyMCE.imgElement, 'vspace');
-				width = getAttrib(tinyMCE.imgElement, 'width');
-				height = getAttrib(tinyMCE.imgElement, 'height');
-				align = getAttrib(tinyMCE.imgElement, 'align');
-                onmouseover = getAttrib(tinyMCE.imgElement, 'onmouseover');
-                onmouseout = getAttrib(tinyMCE.imgElement, 'onmouseout');
-                title = getAttrib(tinyMCE.imgElement, 'title');
-
-				onmouseover = tinyMCE.cleanupEventStr(onmouseover);
-				onmouseout = tinyMCE.cleanupEventStr(onmouseout);
-
-				// Fix for drag-drop/copy paste bug in Mozilla
-				mceRealSrc = getAttrib(tinyMCE.imgElement, 'mce_real_src');
-				if (mceRealSrc != "")
-					src = mceRealSrc;
-
-				src = eval(tinyMCE.settings['urlconvertor_callback'] + "(src, tinyMCE.imgElement, true);");
-				action = "update";
-			}
-
-			if (this.settings['insertimage_callback']) {
-				var returnVal = eval(this.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");
-				if (returnVal && returnVal['src'])
-					tinyMCE.insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']);
-			} else
-				tinyMCE.openWindow(this.insertImageTemplate, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action});
-		break;
-
-		case "mceCleanupWord":
-			if (tinyMCE.isMSIE) {
-				var html = this.contentDocument.body.createTextRange().htmlText;
-
-				if (html.indexOf('="mso') != -1) {
-					tinyMCE._setHTML(this.contentDocument, this.contentDocument.body.innerHTML);
-					html = tinyMCE._cleanupHTML(this.contentDocument, this.settings, this.contentDocument.body, this.visualAid);
-				}
-
-				this.contentDocument.body.innerHTML = html;
-			}
-		break;
-
-		case "mceCleanup":
-			tinyMCE._setHTML(this.contentDocument, this.contentDocument.body.innerHTML);
-			var cleanedHTML = tinyMCE._cleanupHTML(this.contentDocument, this.settings, this.contentDocument.body, this.visualAid);
-			this.contentDocument.body.innerHTML = cleanedHTML;
-		break;
-
-		case "mceAnchor":
-			if (!user_interface) {
-				var aElm = tinyMCE.getParentElement(this.getFocusElement(), "a", "name");
-				if (aElm)
-					aElm.setAttribute('name', value);
-				else {
-					this.contentDocument.execCommand("fontname", false, "#mce_temp_font#");
-					var elementArray = tinyMCE.getElementsByAttributeValue(this.contentDocument.body, "font", "face", "#mce_temp_font#");
-					for (var x=0; x<elementArray.length; x++) {
-						elm = elementArray[x];
-
-						var aElm = this.contentDocument.createElement("a");
-						aElm.setAttribute('name', value);
-
-						if (elm.hasChildNodes()) {
-							for (var i=0; i<elm.childNodes.length; i++)
-								aElm.appendChild(elm.childNodes[i].cloneNode(true));
-						}
-
-						elm.parentNode.replaceChild(aElm, elm);
-					}
-				}
-
-				tinyMCE.triggerNodeChange();
-			}
-			break;
-
-		case "mceReplaceContent":
-			var selectedText = "";
-
-			if (tinyMCE.isMSIE) {
-				var documentRef = this.contentWindow.document;
-				var rng = documentRef.selection.createRange();
-				selectedText = rng.text;
-			} else
-				selectedText = this.contentWindow.getSelection().toString();
-
-			if (selectedText.length > 0) {
-				value = tinyMCE.replaceVar(value, "selection", selectedText);
-				tinyMCE.execCommand('mceInsertContent',false,value);
-			}
-
-			tinyMCE.triggerNodeChange();
-		break;
-
-		case "mceSetAttribute":
-			if (typeof(value) == 'object') {
-				var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets'];
-				var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms);
-
-				if (targetNode) {
-					targetNode.setAttribute(value['name'], value['value']);
-					tinyMCE.triggerNodeChange();
-				}
-			}
-		break;
-
-		case "mceSetCSSClass":
-			var selectedText = false;
-
-			if (tinyMCE.isMSIE) {
-				var documentRef = this.contentWindow.document;
-				var rng = documentRef.selection.createRange();
-				selectedText = (rng.text && rng.text.length > 0);
-			} else
-				selectedText = (this.contentWindow.getSelection().toString().length > 0);
-
-			if (selectedText) {
-				this.contentDocument.execCommand("removeformat", false, null);
-				this.contentDocument.execCommand("fontname", false, "#mce_temp_font#");
-				var elementArray = tinyMCE.getElementsByAttributeValue(this.contentDocument.body, "font", "face", "#mce_temp_font#");
-/*				this.contentDocument.execCommand("createlink", false, "#mce_temp_url#");
-				var elementArray = tinyMCE.getElementsByAttributeValue(this.contentDocument.body, "a", "href", "#mce_temp_url#");
-*/
-				// Change them all
-				for (var x=0; x<elementArray.length; x++) {
-					elm = elementArray[x];
-					if (elm) {
-						var spanElm = this.contentDocument.createElement("span");
-						spanElm.className = value;
-						if (elm.hasChildNodes()) {
-							for (var i=0; i<elm.childNodes.length; i++)
-								spanElm.appendChild(elm.childNodes[i].cloneNode(true));
-						}
-
-						elm.parentNode.replaceChild(spanElm, elm);
-					}
-				}
-
-				//tinyMCE.setContent(this.contentDocument.body.innerHTML);
-			} else {
-				var targetElm = this.getFocusElement();
-				if (tinyMCE.selectedElement.nodeName.toLowerCase() == "img" || tinyMCE.selectedElement.nodeName.toLowerCase() == "table")
-					targetElm = tinyMCE.selectedElement;
-
-				var targetNode = tinyMCE.getParentElement(targetElm, "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address");
-
-				// Mozilla img patch
-				if (!tinyMCE.isMSIE && !targetNode)
-					targetNode = tinyMCE.imgElement;
-
-				if (targetNode) {
-					if (targetNode.nodeName.toLowerCase() == "span" && (!value || value == "")) {
-						if (targetNode.hasChildNodes()) {
-							for (var i=0; i<targetNode.childNodes.length; i++)
-								targetNode.parentNode.insertBefore(targetNode.childNodes[i].cloneNode(true), targetNode);
-						}
-
-						targetNode.parentNode.removeChild(targetNode);
-					} else {
-						if (value != null && value != "")
-							targetNode.className = value;
-						else {
-							targetNode.removeAttribute("className");
-							targetNode.removeAttribute("class");
-						}
-					}
-				}
-			}
-
-			tinyMCE.triggerNodeChange();
-		break;
-
-		case "mceInsertContent":
-			if (!tinyMCE.isMSIE) {
-				this.contentDocument.execCommand("insertimage", false, "#mce_temp_url#");
-				elm = tinyMCE.getElementByAttributeValue(this.contentDocument.body, "img", "src", "#mce_temp_url#");
-
-				if (elm) {
-					var rng = elm.ownerDocument.createRange();
-					rng.setStartBefore(elm);
-					var fragment = rng.createContextualFragment(value);
-					elm.parentNode.replaceChild(fragment, elm);
-				}
-			} else {
-				var rng = this.contentWindow.document.selection.createRange();
-
-				if (rng.item)
-					rng.item(0).outerHTML = value;
-				else
-					rng.pasteHTML(value);
-			}
-
-			tinyMCE.triggerNodeChange();
-		break;
-
-		case "mceInsertTable":
-			if (user_interface) {
-				var cols = 2, rows = 2, border = 0, cellpadding = "", cellspacing = "", align = "", width = "", height = "", action = "insert", className = "";
-
-				tinyMCE.tableElement = tinyMCE.getParentElement(this.getFocusElement(), "table");
-
-				if (tinyMCE.tableElement) {
-					var rowsAr = tinyMCE.tableElement.rows;
-					var cols = 0;
-					for (var i=0; i<rowsAr.length; i++)
-						if (rowsAr[i].cells.length > cols)
-							cols = rowsAr[i].cells.length;
-
-					cols = cols;
-					rows = rowsAr.length;
-
-					border = tinyMCE.getAttrib(tinyMCE.tableElement, 'border', border);
-					cellpadding = tinyMCE.getAttrib(tinyMCE.tableElement, 'cellpadding', "");
-					cellspacing = tinyMCE.getAttrib(tinyMCE.tableElement, 'cellspacing', "");
-					width = tinyMCE.getAttrib(tinyMCE.tableElement, 'width', width);
-					height = tinyMCE.getAttrib(tinyMCE.tableElement, 'height', height);
-					align = tinyMCE.getAttrib(tinyMCE.tableElement, 'align', align);
-					className = tinyMCE.getAttrib(tinyMCE.tableElement, tinyMCE.isMSIE ? 'className' : "class", "");
-
-					if (tinyMCE.isMSIE) {
-						width = tinyMCE.tableElement.style.pixelWidth == 0 ? tinyMCE.tableElement.getAttribute("width") : tinyMCE.tableElement.style.pixelWidth;
-						height = tinyMCE.tableElement.style.pixelHeight == 0 ? tinyMCE.tableElement.getAttribute("height") : tinyMCE.tableElement.style.pixelHeight;
-					}
-
-					action = "update";
-				}
-
-				tinyMCE.openWindow(this.insertTableTemplate, {editor_id : this.editorId, cols : cols, rows : rows, border : border, cellpadding : cellpadding, cellspacing : cellspacing, align : align, width : width, height : height, action : action, className : className});
-			} else {
-				var html = '';
-				var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className;
-
-				if (typeof(value) == 'object') {
-					cols = value['cols'];
-					rows = value['rows'];
-					border = value['border'] != "" ? value['border'] : 0;
-					cellpadding = value['cellpadding'] != "" ? value['cellpadding'] : -1;
-					cellspacing = value['cellspacing'] != "" ? value['cellspacing'] : -1;
-					align = value['align'];
-					width = value['width'];
-					height = value['height'];
-					className = value['className'];
-				}
-
-				// Update table
-				if (tinyMCE.tableElement) {
-					tinyMCE.setAttrib(tinyMCE.tableElement, 'cellPadding', cellpadding);
-					tinyMCE.setAttrib(tinyMCE.tableElement, 'cellSpacing', cellspacing);
-					tinyMCE.setAttrib(tinyMCE.tableElement, 'border', border);
-					tinyMCE.setAttrib(tinyMCE.tableElement, 'width', width);
-					tinyMCE.setAttrib(tinyMCE.tableElement, 'height', height);
-					tinyMCE.setAttrib(tinyMCE.tableElement, 'align', align, true);
-					tinyMCE.setAttrib(tinyMCE.tableElement, tinyMCE.isMSIE ? 'className' : "class", className, true);
-
-					if (tinyMCE.isMSIE) {
-						tinyMCE.tableElement.style.pixelWidth = (width == null || width == "") ? 0 : width;
-						tinyMCE.tableElement.style.pixelHeight = (height == null || height == "") ? 0 : height;
-					}
-
-					tinyMCE.handleVisualAid(tinyMCE.tableElement, false, this.visualAid);
-
-					// Fix for stange MSIE align bug
-					tinyMCE.tableElement.outerHTML = tinyMCE.tableElement.outerHTML;
-
-					//this.contentWindow.dispatchEvent(createEvent("click"));
-
-					tinyMCE.triggerNodeChange();
-					return;
-				}
-
-				// Create new table
-				html += '<table border="' + border + '" ';
-				var visualAidStyle = this.visualAid ? tinyMCE.settings['visual_table_style'] : "";
-
-				if (cellpadding != -1)
-					html += 'cellpadding="' + cellpadding + '" ';
-
-				if (cellspacing != -1)
-					html += 'cellspacing="' + cellspacing + '" ';
-
-				if (width != 0 && width != "")
-					html += 'width="' + width + '" ';
-
-				if (height != 0 && height != "")
-					html += 'height="' + height + '" ';
-
-				if (align)
-					html += 'align="' + align + '" ';
-
-				if (className)
-					html += 'class="' + className + '" ';
-
-				if (border == 0 && tinyMCE.settings['visual'])
-					html += 'style="' + visualAidStyle + '" ';
-
-				html += '>';
-
-				for (var y=0; y<rows; y++) {
-					html += "<tr>";
-					for (var x=0; x<cols; x++) {
-						if (border == 0 && tinyMCE.settings['visual'])
-							html += '<td style="' + visualAidStyle + '">';
-						else
-							html += '<td>';
-
-						html += "&nbsp;</td>";
-					}
-					html += "</tr>";
-				}
-
-				html += "</table>";
-
-				this.execCommand('mceInsertContent', false, html);
-			}
-			break;
-
-		case "mceTableInsertRowBefore":
-		case "mceTableInsertRowAfter":
-		case "mceTableDeleteRow":
-		case "mceTableInsertColBefore":
-		case "mceTableInsertColAfter":
-		case "mceTableDeleteCol":
-			var trElement = tinyMCE.getParentElement(this.getFocusElement(), "tr");
-			var tdElement = tinyMCE.getParentElement(this.getFocusElement(), "td");
-			var tableElement = tinyMCE.getParentElement(this.getFocusElement(), "table");
-
-			// No table just return (invalid command)
-			if (!tableElement)
-				return;
-
-			var documentRef = this.contentWindow.document;
-			var tableBorder = tableElement.getAttribute("border");
-			var visualAidStyle = this.visualAid ? tinyMCE.settings['visual_table_style'] : "";
-
-			// Table has a tbody use that reference
-			if (tableElement.firstChild && tableElement.firstChild.nodeName.toLowerCase() == "tbody")
-				tableElement = tableElement.firstChild;
-
-			if (tableElement && trElement) {
-				switch (command) {
-					case "mceTableInsertRowBefore":
-						var numcells = trElement.cells.length;
-						var rowCount = 0;
-						var tmpTR = trElement;
-
-						// Count rows
-						while (tmpTR) {
-							if (tmpTR.nodeName.toLowerCase() == "tr")
-								rowCount++;
-
-							tmpTR = tmpTR.previousSibling;
-						}
-
-						var r = tableElement.insertRow(rowCount == 0 ? 1 : rowCount-1);
-						for (var i=0; i<numcells; i++) {
-							var newTD = documentRef.createElement("td");
-							newTD.innerHTML = "&nbsp;";
-
-							if (tableBorder == 0)
-								newTD.style.cssText = visualAidStyle;
-
-							var c = r.appendChild(newTD);
-
-							if (tdElement.parentNode.childNodes[i].colSpan)
-								c.colSpan = tdElement.parentNode.childNodes[i].colSpan;
-						}
-					break;
-
-					case "mceTableInsertRowAfter":
-						var numcells = trElement.cells.length;
-						var rowCount = 0;
-						var tmpTR = trElement;
-						var documentRef = this.contentWindow.document;
-
-						// Count rows
-						while (tmpTR) {
-							if (tmpTR.nodeName.toLowerCase() == "tr")
-								rowCount++;
-
-							tmpTR = tmpTR.previousSibling;
-						}
-
-						var r = tableElement.insertRow(rowCount == 0 ? 1 : rowCount);
-						for (var i=0; i<numcells; i++) {
-							var newTD = documentRef.createElement("td");
-							newTD.innerHTML = "&nbsp;";
-
-							if (tableBorder == 0)
-								newTD.style.cssText = visualAidStyle;
-
-							var c = r.appendChild(newTD);
-
-							if (tdElement.parentNode.childNodes[i].colSpan)
-								c.colSpan = tdElement.parentNode.childNodes[i].colSpan;
-						}
-					break;
-
-					case "mceTableDeleteRow":
-						// Remove whole table
-						if (tableElement.rows.length <= 1) {
-							tableElement.parentNode.removeChild(tableElement);
-							tinyMCE.triggerNodeChange();
-							return;
-						}
-
-						var selElm = this.contentWindow.document.body;
-						if (trElement.previousSibling)
-							selElm = trElement.previousSibling.cells[0];
-
-						// Delete row
-						trElement.parentNode.removeChild(trElement);
-
-						tinyMCE._selectNode(this.contentWindow, selElm);
-					break;
-
-					case "mceTableInsertColBefore":
-						var cellCount = tdElement.cellIndex;
-
-						// Add columns
-						for (var y=0; y<tableElement.rows.length; y++) {
-							var cell = tableElement.rows[y].cells[cellCount];
-
-							// Can't add cell after cell that doesn't exist
-							if (!cell)
-								break;
-
-							var newTD = documentRef.createElement("td");
-							newTD.innerHTML = "&nbsp;";
-
-							if (tableBorder == 0)
-								newTD.style.cssText = visualAidStyle;
-
-							cell.parentNode.insertBefore(newTD, cell);
-						}
-					break;
-
-					case "mceTableInsertColAfter":
-						var cellCount = tdElement.cellIndex;
-
-						// Add columns
-						for (var y=0; y<tableElement.rows.length; y++) {
-							var append = false;
-							var cell = tableElement.rows[y].cells[cellCount];
-							if (cellCount == tableElement.rows[y].cells.length-1)
-								append = true;
-							else
-								cell = tableElement.rows[y].cells[cellCount+1];
-
-							var newTD = documentRef.createElement("td");
-							newTD.innerHTML = "&nbsp;";
-
-							if (tableBorder == 0)
-								newTD.style.cssText = visualAidStyle;
-
-							if (append)
-								cell.parentNode.appendChild(newTD);
-							else
-								cell.parentNode.insertBefore(newTD, cell);
-						}
-					break;
-
-					case "mceTableDeleteCol":
-						var index = tdElement.cellIndex;
-						var selElm = this.contentWindow.document.body;
-
-						var numCols = 0;
-						for (var y=0; y<tableElement.rows.length; y++) {
-							if (tableElement.rows[y].cells.length > numCols)
-								numCols = tableElement.rows[y].cells.length;
-						}
-
-						// Remove whole table
-						if (numCols <= 1) {
-							tinyMCE._selectNode(this.contentWindow, selElm);
-							tableElement.parentNode.removeChild(tableElement);
-							tinyMCE.triggerNodeChange();
-							return;
-						}
-
-						// Remove columns
-						for (var y=0; y<tableElement.rows.length; y++) {
-							var cell = tableElement.rows[y].cells[index];
-							if (cell)
-								cell.parentNode.removeChild(cell);
-						}
-
-						if (index > 0)
-							selElm = tableElement.rows[0].cells[index-1];
-
-						tinyMCE._selectNode(this.contentWindow, selElm);
-					break;
-				}
-
-				tinyMCE.triggerNodeChange();
-			}
-		break;
-
-		case "mceAddUndoLevel":
-			if (tinyMCE.settings['custom_undo_redo']) {
-				var customUndoLevels = tinyMCE.settings['custom_undo_redo_levels'];
-
-				var newHTML = this.contentWindow.document.body.innerHTML;
-				if (newHTML != this.undoLevels[this.undoLevels.length-1]) {
-					// Time to compress
-					if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) {
-						for (var i=0; i<this.undoLevels.length-1; i++) {
-							//alert(this.undoLevels[i] + "=" + this.undoLevels[i+1]);
-							this.undoLevels[i] = this.undoLevels[i+1];
-						}
-
-						this.undoLevels.length--;
-						this.undoIndex--;
-					}
-
-					//alert(newHTML + "=" + this.undoLevels[this.undoIndex]);
-					// Add new level
-					this.undoLevels[this.undoIndex++] = newHTML;
-					this.undoLevels.length = this.undoIndex;
-					//window.status = "mceAddUndoLevel - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex;
-				}
-
-				tinyMCE.triggerNodeChange(false);
-			}
-			break;
-
-		case "Undo":
-			if (tinyMCE.settings['custom_undo_redo']) {
-				// Is first level
-				if (this.undoIndex == this.undoLevels.length) {
-					this.execCommand("mceAddUndoLevel");
-					this.undoIndex--;
-				}
-
-				// Do undo
-				if (this.undoIndex > 0) {
-					this.undoIndex--;
-					this.contentWindow.document.body.innerHTML = this.undoLevels[this.undoIndex];
-				}
-
-				//window.status = "Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex;
-				tinyMCE.triggerNodeChange();
-			} else
-				this.contentDocument.execCommand(command, user_interface, value);
-			break;
-
-		case "Redo":
-			if (tinyMCE.settings['custom_undo_redo']) {
-				if (this.undoIndex < (this.undoLevels.length-1)) {
-					this.undoIndex++;
-					this.contentWindow.document.body.innerHTML = this.undoLevels[this.undoIndex];
-					//window.status = "Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex;
-				}
-
-				tinyMCE.triggerNodeChange();
-			} else
-				this.contentDocument.execCommand(command, user_interface, value);
-			break;
-
-		case "mceToggleVisualAid":
-			this.visualAid = !this.visualAid;
-			tinyMCE.handleVisualAid(this.contentWindow.document.body, true, this.visualAid);
-			tinyMCE.triggerNodeChange();
-			break;
-/*
-		case "removeformat":
-			//this.contentDocument.execCommand('FormatBlock', user_interface, '<span>');
-			var documentRef = this.contentWindow.document;
-			var rng = documentRef.selection.createRange();
-			var elm = rng.item ? rng.item(0) : rng.parentElement();
-
-			html = "</" + elm.nodeName + ">" + rng.text + "<" + elm.nodeName + ">";
-
-			this.contentDocument.execCommand('FontName', user_interface, '#mce_temp_name#');
-			var html = this.contentDocument.innerHTML;
-			html.replace('<font face=');
-
-			rng.pasteHTML(html);
-
-			alert(html);
-	
-			if (tinyMCE.isMSIE) {
-				var documentRef = this.contentWindow.document;
-				var rngs = documentRef.selection.createRangeCollection();
-
-				for (var i=0; i<rngs.length; i++)
-					alert(rngs[i].htmlText);
-
-				var html = rng.htmlText;
-				var tmpElm = documentRef.createElement("div");
-				tmpElm.innerHTML = html;
-				for (var i=0; i<tmpElm.all.length; i++) {
-					tmpElm.all[i].removeAttribute("style");
-					tmpElm.all[i].removeAttribute("className");
-				}
-//alert(tmpElm.innerHTML);
-				rng.pasteHTML(tmpElm.innerHTML);
-				//rng.pasteHTML(rng.text);
-
-				this.contentDocument.execCommand('FontName', user_interface, 'arial,helvetica,sans-serif');
-			} else
-				this.contentDocument.execCommand(command, user_interface, value);
-
-			tinyMCE.triggerNodeChange();
-			break;
-*/
-		default:
-			this.contentDocument.execCommand(command, user_interface, value);
-			tinyMCE.triggerNodeChange();
-	}
-}
-
-function TinyMCE__selectNode(win, node, expand) {
-	if (!tinyMCE.isMSIE) {
-		var rng = win.document.createRange(); 
-		rng.selectNode(node); 
-		sel = win.getSelection(); 
-		sel.addRange(rng);
-		if (expand)
-			sel.extend(node, 0);
-		else
-			sel.collapse(node, 0);
-	}
-}
-
-function TinyMCE_getControlHTML(control_name) {
-	var themePlugins = tinyMCE.getParam('plugins', '', true, ',');
-	var templateFunction;
-
-	// Is it defined in any plugins
-	for (var i=themePlugins.length; i>=0; i--) {
-		templateFunction = 'TinyMCE_' + themePlugins[i] + "_getControlHTML";
-		if (eval("typeof(" + templateFunction + ")") != 'undefined') {
-			var html = eval(templateFunction + "('" + control_name + "');");
-			if (html != "")
-				return tinyMCE.replaceVar(html, "pluginurl", tinyMCE.baseURL + "/plugins/" + themePlugins[i]);
-		}
-	}
-
-	return eval('TinyMCE_' + tinyMCE.settings['theme'] + "_getControlHTML" + "('" + control_name + "');");
-}
-
-function TinyMCE__themeExecCommand(editor_id, element, command, user_interface, value) {
-	var themePlugins = tinyMCE.getParam('plugins', '', true, ',');
-	var templateFunction;
-
-	// Is it defined in any plugins
-	for (var i=themePlugins.length; i>=0; i--) {
-		templateFunction = 'TinyMCE_' + themePlugins[i] + "_execCommand";
-		if (eval("typeof(" + templateFunction + ")") != 'undefined') {
-			if (eval(templateFunction + "(editor_id, element, command, user_interface, value);"))
-				return true;
-		}
-	}
-
-	// Theme funtion
-	templateFunction = 'TinyMCE_' + tinyMCE.settings['theme'] + "_execCommand";
-	if (eval("typeof(" + templateFunction + ")") != 'undefined')
-		return eval(templateFunction + "(editor_id, element, command, user_interface, value);");
-
-	// Pass to normal
-	return false;
-}
-
-function TinyMCE__getThemeFunction(suffix, skip_plugins) {
-	if (skip_plugins)
-		return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix;
-
-	var themePlugins = tinyMCE.getParam('plugins', '', true, ',');
-	var templateFunction;
-
-	// Is it defined in any plugins
-	for (var i=themePlugins.length; i>=0; i--) {
-		templateFunction = 'TinyMCE_' + themePlugins[i] + suffix;
-		if (eval("typeof(" + templateFunction + ")") != 'undefined')
-			return templateFunction;
-	}
-
-	return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix;
-}
-
-function TinyMCEControl_queryCommandValue(command) {
-	return this.contentWindow.document.queryCommandValue(command);
-}
-
-function TinyMCEControl_queryCommandState(command) {
-	return this.contentWindow.document.queryCommandState(command);
-}
-
-function TinyMCEControl_onAdd(replace_element, form_element_name) {
-	tinyMCE.themeURL = tinyMCE.baseURL + "/themes/" + this.settings['theme'];
-	this.settings['themeurl'] = tinyMCE.themeURL;
-
-	if (!replace_element) {
-		alert("Error: Could not find the target element.");
-		return false;
-	}
-
-	var templateFunction = tinyMCE._getThemeFunction('_getInsertTableTemplate');
-	if (eval("typeof(" + templateFunction + ")") != 'undefined')
-		this.insertTableTemplate = eval(templateFunction + '(this.settings);');
-
-	var templateFunction = tinyMCE._getThemeFunction('_getInsertLinkTemplate');
-	if (eval("typeof(" + templateFunction + ")") != 'undefined')
-		this.insertLinkTemplate = eval(templateFunction + '(this.settings);');
-
-	var templateFunction = tinyMCE._getThemeFunction('_getInsertImageTemplate');
-	if (eval("typeof(" + templateFunction + ")") != 'undefined')
-		this.insertImageTemplate = eval(templateFunction + '(this.settings);');
-
-	var templateFunction = tinyMCE._getThemeFunction('_getEditorTemplate');
-	if (eval("typeof(" + templateFunction + ")") == 'undefined') {
-		alert("Error: Could not find the template function: " + templateFunction);
-		return false;
-	}
-
-	var editorTemplate = eval(templateFunction + '(this.settings, this.editorId);');
-
-	var deltaWidth = editorTemplate['delta_width'] ? editorTemplate['delta_width'] : 0;
-	var deltaHeight = editorTemplate['delta_height'] ? editorTemplate['delta_height'] : 0;
-	var html = '<span id="' + this.editorId + '_parent">' + editorTemplate['html'];
-
-	var templateFunction = tinyMCE._getThemeFunction('_handleNodeChange', true);
-	if (eval("typeof(" + templateFunction + ")") != 'undefined')
-		this.settings['handleNodeChangeCallback'] = templateFunction;
-
-	html = tinyMCE.replaceVar(html, "editor_id", this.editorId);
-	html = tinyMCE.replaceVar(html, "default_document", tinyMCE.baseURL + "/blank.htm");
-	this.settings['default_document'] = tinyMCE.baseURL + "/blank.htm";
-
-	this.settings['old_width'] = this.settings['width'];
-	this.settings['old_height'] = this.settings['height'];
-
-	// Set default width, height
-	if (this.settings['width'] == -1)
-		this.settings['width'] = replace_element.offsetWidth;
-
-	if (this.settings['height'] == -1)
-		this.settings['height'] = replace_element.offsetHeight;
-
-	this.settings['area_width'] = this.settings['width'];
-	this.settings['area_height'] = this.settings['height'];
-	this.settings['area_width'] += deltaWidth;
-	this.settings['area_height'] += deltaHeight;
-
-	// Special % handling
-	if (("" + this.settings['width']).indexOf('%') != -1)
-		this.settings['area_width'] = "100%";
-
-	if (("" + this.settings['height']).indexOf('%') != -1)
-		this.settings['area_height'] = "100%";
-
-	if (("" + replace_element.style.width).indexOf('%') != -1) {
-		this.settings['width'] = replace_element.style.width;
-		this.settings['area_width'] = "100%";
-	}
-
-	if (("" + replace_element.style.height).indexOf('%') != -1) {
-		this.settings['height'] = replace_element.style.height;
-		this.settings['area_height'] = "100%";
-	}
-
-	html = tinyMCE.applyTemplate(html);
-
-	this.settings['width'] = this.settings['old_width'];
-	this.settings['height'] = this.settings['old_height'];
-
-	this.visualAid = this.settings['visual'];
-	this.oldTargetElement = replace_element.cloneNode(true);
-	this.formTargetElementId = form_element_name;
-
-	// Debug mode
-    if (tinyMCE.settings['debug'])
-        html += '<textarea wrap="off" id="' + form_element_name + '" name="' + form_element_name + '" cols="100" rows="15"></textarea>';
-    else
-        html += '<input type="hidden" type="text" id="' + form_element_name + '" name="' + form_element_name + '" />';
-
-    html += '</span>';
-
-	// Output HTML and set editable
-	if (!tinyMCE.isMSIE) {
-		var rng = replace_element.ownerDocument.createRange();
-		rng.setStartBefore(replace_element);
-
-		var fragment = rng.createContextualFragment(html);
-		replace_element.parentNode.replaceChild(fragment, replace_element);
-	} else
-		replace_element.outerHTML = html;
-
-	//window.setTimeout("tinyMCE.setEditMode('" + this.editorId + "', true)", 1);
-	tinyMCE.setEditMode(this.editorId, true);
-
-	return true;
-}
-
-function TinyMCEControl_getFocusElement() {
-	if (tinyMCE.isMSIE) {
-		var documentRef = this.contentWindow.document;
-		var rng = documentRef.selection.createRange();
-		var elm = rng.item ? rng.item(0) : rng.parentElement();
-	} else {
-		var sel = this.contentWindow.getSelection();
-		var elm = sel.anchorNode;
-
-		if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img")
-			elm = tinyMCE.selectedElement;
-	}
-
-	return elm;
-}
-
-// Global instances
-var tinyMCE = new TinyMCE();
-var tinyMCELang = new Array();
+function TinyMCE_Engine(){this.majorVersion="2";this.minorVersion="0.6.1";this.releaseDate="2006-05-04";this.instances=new Array();this.switchClassCache=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.pendingFiles=new Array();this.loadingIndex=0;this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();var ua=navigator.userAgent;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(ua.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(ua.indexOf('MSIE 5.0')!=-1);this.isGecko=ua.indexOf('Gecko')!=-1;this.isSafari=ua.indexOf('Safari')!=-1;this.isOpera=ua.indexOf('Opera')!=-1;this.isMac=ua.indexOf('Mac')!=-1;this.isNS7=ua.indexOf('Netscape/7')!=-1;this.isNS71=ua.indexOf('Netscape/7.1')!=-1;this.dialogCounter=0;this.plugins=new Array();this.themes=new Array();this.menus=new Array();this.loadedPlugins=new Array();this.buttonMap=new Array();this.isLoaded=false;if(this.isOpera){this.isMSIE=true;this.isGecko=false;this.isSafari=false;}this.idCounter=0;};TinyMCE_Engine.prototype={init:function(settings){var theme;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');for(var i=0;i<elements.length;i++){if(elements[i].src&&(elements[i].src.indexOf("tiny_mce.js")!=-1||elements[i].src.indexOf("tiny_mce_dev.js")!=-1||elements[i].src.indexOf("tiny_mce_src.js")!=-1||elements[i].src.indexOf("tiny_mce_gzip")!=-1)){var src=elements[i].src;tinyMCE.srcMode=(src.indexOf('_src')!=-1||src.indexOf('_dev')!=-1)?'_src':'';tinyMCE.gzipMode=src.indexOf('_gzip')!=-1;src=src.substring(0,src.lastIndexOf('/'));if(settings.exec_mode=="src"||settings.exec_mode=="normal")tinyMCE.srcMode=settings.exec_mode=="src"?'_src':'';tinyMCE.baseURL=src;break;}}}this.documentBasePath=document.location.href;if(this.documentBasePath.indexOf('?')!=-1)this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.indexOf('?'));this.documentURL=this.documentBasePath;this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.lastIndexOf('/'));if(tinyMCE.baseURL.indexOf('://')==-1&&tinyMCE.baseURL.charAt(0)!='/'){tinyMCE.baseURL=this.documentBasePath+"/"+tinyMCE.baseURL;}this._def("mode","none");this._def("theme","advanced");this._def("plugins","",true);this._def("language","en");this._def("docs_language",this.settings['language']);this._def("elements","");this._def("textarea_trigger","mce_editable");this._def("editor_selector","");this._def("editor_deselector","mceNoEditor");this._def("valid_elements","+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang]");this._def("extended_valid_elements","");this._def("invalid_elements","");this._def("encoding","");this._def("urlconverter_callback",tinyMCE.getParam("urlconvertor_callback","TinyMCE_Engine.prototype.convertURL"));this._def("save_callback","");this._def("debug",false);this._def("force_br_newlines",false);this._def("force_p_newlines",true);this._def("add_form_submit_trigger",true);this._def("relative_urls",true);this._def("remove_script_host",true);this._def("focus_alert",true);this._def("document_base_url",this.documentURL);this._def("visual",true);this._def("visual_table_class","mceVisualAid");this._def("setupcontent_callback","");this._def("fix_content_duplication",true);this._def("custom_undo_redo",true);this._def("custom_undo_redo_levels",-1);this._def("custom_undo_redo_keyboard_shortcuts",true);this._def("custom_undo_redo_restore_selection",true);this._def("verify_html",true);this._def("apply_source_formatting",false);this._def("directionality","ltr");this._def("cleanup_on_startup",false);this._def("inline_styles",false);this._def("convert_newlines_to_brs",false);this._def("auto_reset_designmode",true);this._def("entities","39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro",true);this._def("entity_encoding","named");this._def("cleanup_callback","");this._def("add_unload_trigger",true);this._def("ask",false);this._def("nowrap",false);this._def("auto_resize",false);this._def("auto_focus",false);this._def("cleanup",true);this._def("remove_linebreaks",true);this._def("button_tile_map",false);this._def("submit_patch",true);this._def("browsers","msie,safari,gecko,opera",true);this._def("dialog_type","window");this._def("accessibility_warnings",true);this._def("accessibility_focus",true);this._def("merge_styles_invalid_parents","");this._def("force_hex_style_colors",true);this._def("trim_span_elements",true);this._def("convert_fonts_to_spans",false);this._def("doctype",'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');this._def("font_size_classes",'');this._def("font_size_style_values",'xx-small,x-small,small,medium,large,x-large,xx-large',true);this._def("event_elements",'a,img',true);this._def("convert_urls",true);this._def("table_inline_editing",false);this._def("object_resizing",true);this._def("custom_shortcuts",true);this._def("convert_on_click",false);this._def("content_css",'');this._def("fix_list_elements",false);this._def("fix_table_elements",false);this._def("strict_loading_mode",document.contentType=='application/xhtml+xml');this._def("hidden_tab_class",'');this._def("display_tab_class",'');if(this.isMSIE&&!this.isOpera)this.settings.strict_loading_mode=false;if(this.isMSIE&&this.settings['browsers'].indexOf('msie')==-1)return;if(this.isGecko&&this.settings['browsers'].indexOf('gecko')==-1)return;if(this.isSafari&&this.settings['browsers'].indexOf('safari')==-1)return;if(this.isOpera&&this.settings['browsers'].indexOf('opera')==-1)return;var baseHREF=tinyMCE.settings['document_base_url'];var h=document.location.href;var p=h.indexOf('://');if(p>0&&document.location.protocol!="file:"){p=h.indexOf('/',p+3);h=h.substring(0,p);if(baseHREF.indexOf('://')==-1)baseHREF=h+baseHREF;tinyMCE.settings['document_base_url']=baseHREF;tinyMCE.settings['document_base_prefix']=h;}if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings['base_href']=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings['theme'];this.blockRegExp=new RegExp("^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|blockquote|center|dl|dt|dd|dir|fieldset|form|noscript|noframes|menu|isindex|samp)$","i");this.posKeyCodes=new Array(13,45,36,35,33,34,37,38,39,40);this.uniqueURL='javascript:TINYMCE_UNIQUEURL();';this.uniqueTag='<div id="mceTMPElement" style="display: none">TMP</div>';this.callbacks=new Array('onInit','getInfo','getEditorTemplate','setupContent','onChange','onPageLoad','handleNodeChange','initInstance','execCommand','getControlHTML','handleEvent','cleanup');this.settings['theme_href']=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isMSIE)this.settings['force_br_newlines']=false;if(tinyMCE.getParam("popups_css",false)){var cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['popups_css']=this.documentBasePath+"/"+cssPath;else this.settings['popups_css']=cssPath;}else this.settings['popups_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){var cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['editor_css']=this.documentBasePath+"/"+cssPath;else this.settings['editor_css']=cssPath;}else this.settings['editor_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_ui.css";if(tinyMCE.settings['debug']){var msg="Debug: \n";msg+="baseURL: "+this.baseURL+"\n";msg+="documentBasePath: "+this.documentBasePath+"\n";msg+="content_css: "+this.settings['content_css']+"\n";msg+="popups_css: "+this.settings['popups_css']+"\n";msg+="editor_css: "+this.settings['editor_css']+"\n";alert(msg);}if(this.configs.length==0){if(this.isSafari&&this.getParam('safari_warning',false))alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.\nYou can disable this message by setting: safari_warning option to false");if(typeof(TinyMCECompressed)=="undefined"){tinyMCE.addEvent(window,"DOMContentLoaded",TinyMCE_Engine.prototype.onLoad);if(tinyMCE.isMSIE&&!tinyMCE.isOpera){if(document.body)tinyMCE.addEvent(document.body,"readystatechange",TinyMCE_Engine.prototype.onLoad);else tinyMCE.addEvent(document,"readystatechange",TinyMCE_Engine.prototype.onLoad);}tinyMCE.addEvent(window,"load",TinyMCE_Engine.prototype.onLoad);tinyMCE._addUnloadEvents();}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings['theme']+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings['language']+'.js');this.loadCSS(this.settings['editor_css']);var p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(var i=0;i<p.length;i++){if(p[i].charAt(0)!='-')this.loadScript(tinyMCE.baseURL+'/plugins/'+p[i]+'/editor_plugin'+tinyMCE.srcMode+'.js');}}settings['cleanup_entities']=new Array();var entities=tinyMCE.getParam('entities','',true,',');for(var i=0;i<entities.length;i+=2)settings['cleanup_entities']['c'+entities[i]]=entities[i+1];settings['index']=this.configs.length;this.configs[this.configs.length]=settings;this.loadNextScript();},_addUnloadEvents:function(){if(tinyMCE.isMSIE){if(tinyMCE.settings['add_unload_trigger']){tinyMCE.addEvent(window,"unload",TinyMCE_Engine.prototype.unloadHandler);tinyMCE.addEvent(window.document,"beforeunload",TinyMCE_Engine.prototype.unloadHandler);}}else{if(tinyMCE.settings['add_unload_trigger'])tinyMCE.addEvent(window,"unload",function(){tinyMCE.triggerSave(true,true);});}},_def:function(key,def_val,t){var v=tinyMCE.getParam(key,def_val);v=t?v.replace(/\s+/g,""):v;this.settings[key]=v;},hasPlugin:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null;},addPlugin:function(n,p){var op=this.plugins[n];p.baseURL=op?op.baseURL:tinyMCE.baseURL+"/plugins/"+n;this.plugins[n]=p;this.loadNextScript();},setPluginBaseURL:function(n,u){var op=this.plugins[n];if(op)op.baseURL=u;else this.plugins[n]={baseURL:u};},loadPlugin:function(n,u){u=u.indexOf('.js')!=-1?u.substring(0,u.lastIndexOf('/')):u;u=u.charAt(u.length-1)=='/'?u.substring(0,u.length-1):u;this.plugins[n]={baseURL:u};this.loadScript(u+"/editor_plugin"+(tinyMCE.srcMode?'_src':'')+".js");},hasTheme:function(n){return typeof(this.themes[n])!="undefined"&&this.themes[n]!=null;},addTheme:function(n,t){this.themes[n]=t;this.loadNextScript();},addMenu:function(n,m){this.menus[n]=m;},hasMenu:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null;},loadScript:function(url){var i;for(i=0;i<this.loadedFiles.length;i++){if(this.loadedFiles[i]==url)return;}if(tinyMCE.settings.strict_loading_mode)this.pendingFiles[this.pendingFiles.length]=url;else document.write('<sc'+'ript language="javascript" type="text/javascript" src="'+url+'"></script>');this.loadedFiles[this.loadedFiles.length]=url;},loadNextScript:function(){var d=document,se;if(!tinyMCE.settings.strict_loading_mode)return;if(this.loadingIndex<this.pendingFiles.length){se=d.createElementNS('http://www.w3.org/1999/xhtml','script');se.setAttribute('language','javascript');se.setAttribute('type','text/javascript');se.setAttribute('src',this.pendingFiles[this.loadingIndex++]);d.getElementsByTagName("head")[0].appendChild(se);}else this.loadingIndex=-1;},loadCSS:function(url){var ar=url.replace(/\s+/,'').split(',');var lflen=0,csslen=0;var skip=false;var x=0,i=0,nl,le;for(x=0,csslen=ar.length;x<csslen;x++){ignore_css=false;if(ar[x]!=null&&ar[x]!='null'&&ar[x].length>0){for(i=0,lflen=this.loadedFiles.length;i<lflen;i++){if(this.loadedFiles[i]==ar[x]){skip=true;break;}}if(!skip){if(tinyMCE.settings.strict_loading_mode){nl=document.getElementsByTagName("head");le=document.createElement('link');le.setAttribute('href',ar[x]);le.setAttribute('rel','stylesheet');le.setAttribute('type','text/css');nl[0].appendChild(le);}else document.write('<link href="'+ar[x]+'" rel="stylesheet" type="text/css" />');this.loadedFiles[this.loadedFiles.length]=ar[x];}}}},importCSS:function(doc,css){var css_ary=css.replace(/\s+/,'').split(',');var csslen,elm,headArr,x,css_file;for(x=0,csslen=css_ary.length;x<csslen;x++){css_file=css_ary[x];if(css_file!=null&&css_file!='null'&&css_file.length>0){if(css_file.indexOf('://')==-1&&css_file.charAt(0)!='/')css_file=this.documentBasePath+"/"+css_file;if(typeof(doc.createStyleSheet)=="undefined"){elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if((headArr=doc.getElementsByTagName("head"))!=null&&headArr.length>0)headArr[0].appendChild(elm);}else doc.createStyleSheet(css_file);}}},confirmAdd:function(e,settings){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(tinyMCE.settings['convert_on_click']||(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm'])))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true');},updateContent:function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isMSIE)doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid);}}},addMCEControl:function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCE_Control(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst._onAdd(replace_element,form_element_name,target_document);},removeMCEControl:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id);if(inst){inst.switchSettings();editor_id=inst.editorId;var html=tinyMCE.getContent(editor_id);var tmpInstances=new Array();for(var instanceName in tinyMCE.instances){var instance=tinyMCE.instances[instanceName];if(!tinyMCE.isInstance(instance))continue;if(instanceName!=editor_id)tmpInstances[instanceName]=instance;}tinyMCE.instances=tmpInstances;tinyMCE.selectedElement=null;tinyMCE.selectedInstance=null;var replaceElement=document.getElementById(editor_id+"_parent");var oldTargetElement=inst.oldTargetElement;var targetName=oldTargetElement.nodeName.toLowerCase();if(targetName=="textarea"||targetName=="input"){replaceElement.parentNode.removeChild(replaceElement);oldTargetElement.style.display="inline";oldTargetElement.value=html;}else{oldTargetElement.innerHTML=html;oldTargetElement.style.display='block';replaceElement.parentNode.insertBefore(oldTargetElement,replaceElement);replaceElement.parentNode.removeChild(replaceElement);}}},triggerSave:function(skip_cleanup,skip_callback){var inst,n;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.triggerSave(skip_cleanup,skip_callback);}},resetForm:function(form_index){var i,inst,n,formObj=document.forms[form_index];for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();for(i=0;i<formObj.elements.length;i++){if(inst.formTargetElementId==formObj.elements[i].name)inst.getBody().innerHTML=inst.startContent;}}},execInstanceCommand:function(editor_id,command,user_interface,value,focus){var inst=tinyMCE.getInstanceById(editor_id);if(inst){if(typeof(focus)=="undefined")focus=true;if(focus)inst.contentWindow.focus();inst.autoResetDesignMode();this.selectedElement=inst.getFocusElement();this.selectedInstance=inst;tinyMCE.execCommand(command,user_interface,value);if(tinyMCE.isMSIE&&window.event!=null)tinyMCE.cancelEvent(window.event);}},execCommand:function(command,user_interface,value){user_interface=user_interface?user_interface:false;value=value?value:null;if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();switch(command){case'mceHelp':tinyMCE.openWindow({file:'about.htm',width:480,height:380},{tinymce_version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion,tinymce_releasedate:tinyMCE.releaseDate,inline:"yes"});return;case'mceFocus':var inst=tinyMCE.getInstanceById(value);if(inst)inst.contentWindow.focus();return;case"mceAddControl":case"mceAddEditor":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceAddFrameControl":tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'],value['document']),value['element'],value['document']);return;case"mceRemoveControl":case"mceRemoveEditor":tinyMCE.removeMCEControl(value);return;case"mceResetDesignMode":if(!tinyMCE.isMSIE){for(var n in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[n]))continue;try{tinyMCE.instances[n].getDoc().designMode="on";}catch(e){}}}return;}if(this.selectedInstance){this.selectedInstance.execCommand(command,user_interface,value);}else if(tinyMCE.settings['focus_alert'])alert(tinyMCELang['lang_focus_alert']);},_createIFrame:function(replace_element,doc,win){var iframe,id=replace_element.getAttribute("id");var aw,ah;if(typeof(doc)=="undefined")doc=document;if(typeof(win)=="undefined")win=window;iframe=doc.createElement("iframe");aw=""+tinyMCE.settings['area_width'];ah=""+tinyMCE.settings['area_height'];if(aw.indexOf('%')==-1){aw=parseInt(aw);aw=aw<0?300:aw;aw=aw+"px";}if(ah.indexOf('%')==-1){ah=parseInt(ah);ah=ah<0?240:ah;ah=ah+"px";}iframe.setAttribute("id",id);iframe.setAttribute("class","mceEditorIframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",aw);iframe.setAttribute("height",ah);iframe.setAttribute("allowtransparency","true");iframe.className='mceEditorIframe';if(tinyMCE.settings["auto_resize"])iframe.setAttribute("scrolling","no");if(tinyMCE.isMSIE&&!tinyMCE.isOpera)iframe.setAttribute("src",this.settings['default_document']);iframe.style.width=aw;iframe.style.height=ah;if(tinyMCE.settings.strict_loading_mode)iframe.style.marginBottom='-5px';if(tinyMCE.isMSIE&&!tinyMCE.isOpera)replace_element.outerHTML=iframe.outerHTML;else replace_element.parentNode.replaceChild(iframe,replace_element);if(tinyMCE.isMSIE&&!tinyMCE.isOpera)return win.frames[id];else return iframe;},setupContent:function(editor_id){var inst=tinyMCE.instances[editor_id];var doc=inst.getDoc();var head=doc.getElementsByTagName('head').item(0);var content=inst.startContent;if(tinyMCE.settings.strict_loading_mode){content=content.replace(/&lt;/g,'<');content=content.replace(/&gt;/g,'>');content=content.replace(/&quot;/g,'"');content=content.replace(/&amp;/g,'&');}inst.switchSettings();if(!tinyMCE.isMSIE&&tinyMCE.getParam("setupcontent_reload",false)&&doc.title!="blank_page"){try{doc.location.href=tinyMCE.baseURL+"/blank.htm";}catch(ex){}window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",1000);return;}if(!head){window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",10);return;}tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/themes/"+inst.settings['theme']+"/css/editor_content.css");tinyMCE.importCSS(inst.getDoc(),inst.settings['content_css']);tinyMCE.dispatchCallback(inst,'init_instance_callback','initInstance',inst);if(tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')){inst.addShortcut('ctrl','z','lang_undo_desc','Undo');inst.addShortcut('ctrl','y','lang_redo_desc','Redo');}if(tinyMCE.isGecko){inst.addShortcut('ctrl','b','lang_bold_desc','Bold');inst.addShortcut('ctrl','i','lang_italic_desc','Italic');inst.addShortcut('ctrl','u','lang_underline_desc','Underline');}if(tinyMCE.getParam("convert_fonts_to_spans"))inst.getDoc().body.setAttribute('id','mceSpanFonts');if(tinyMCE.settings['nowrap'])doc.body.style.whiteSpace="nowrap";doc.body.dir=this.settings['directionality'];doc.editorId=editor_id;if(!tinyMCE.isMSIE)doc.documentElement.editorId=editor_id;inst.setBaseHREF(tinyMCE.settings['base_href']);if(tinyMCE.settings['convert_newlines_to_brs']){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi");}content=tinyMCE.storeAwayURLs(content);content=tinyMCE._customCleanup(inst,"insert_to_editor",content);if(tinyMCE.isMSIE){window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["'+editor_id+'"].getDoc(), "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])doc.styleSheets[0].addRule("p","margin: 0;");var body=inst.getBody();body.editorId=editor_id;}content=tinyMCE.cleanupHTMLCode(content);if(!tinyMCE.isMSIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.isGecko&&tinyMCE.settings['remove_lt_gt'])content=content.replace(new RegExp('&lt;&gt;','g'),"");if(tinyMCE.settings['cleanup_on_startup'])tinyMCE.setInnerHTML(inst.getBody(),tinyMCE._cleanupHTML(inst,doc,this.settings,contentElement));else{content=tinyMCE.regexpReplace(content,"<strong","<b","gi");content=tinyMCE.regexpReplace(content,"<em(/?)>","<i$1>","gi");content=tinyMCE.regexpReplace(content,"<em ","<i ","gi");content=tinyMCE.regexpReplace(content,"</strong>","</b>","gi");content=tinyMCE.regexpReplace(content,"</em>","</i>","gi");tinyMCE.setInnerHTML(inst.getBody(),content);}tinyMCE.convertAllRelativeURLs(inst.getBody());}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}');}else tinyMCE._setHTML(inst.getDoc(),content);}var parentElm=inst.targetDoc.getElementById(inst.editorId+'_parent');inst.formElement=tinyMCE.isGecko?parentElm.previousSibling:parentElm.nextSibling;tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual'],inst);tinyMCE.dispatchCallback(inst,'setupcontent_callback','setupContent',editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isMSIE)tinyMCE.addEventHandlers(inst);if(tinyMCE.isMSIE){tinyMCE.addEvent(inst.getBody(),"blur",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(inst.getBody(),"beforedeactivate",TinyMCE_Engine.prototype._eventPatch);if(!tinyMCE.isOpera){tinyMCE.addEvent(doc.body,"mousemove",TinyMCE_Engine.prototype.onMouseMove);tinyMCE.addEvent(doc.body,"beforepaste",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc.body,"drop",TinyMCE_Engine.prototype._eventPatch);}}tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE._customCleanup(inst,"insert_to_editor_dom",inst.getBody());tinyMCE._customCleanup(inst,"setup_content_dom",inst.getBody());tinyMCE._setEventsEnabled(inst.getBody(),false);tinyMCE.cleanupAnchors(inst.getDoc());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(inst.getDoc());inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);inst.undoRedo.add({content:inst.startContent});if(tinyMCE.isGecko){tinyMCE.selectNodes(inst.getBody(),function(n){if(n.nodeType==3||n.nodeType==8){n.nodeValue=n.nodeValue.replace(new RegExp('\\smce_src=\"[^\"]*\"','gi'),"");n.nodeValue=n.nodeValue.replace(new RegExp('\\smce_href=\"[^\"]*\"','gi'),"");}return false;});}tinyMCE._removeInternal(inst.getBody());tinyMCE.selectedInstance=inst;tinyMCE.triggerNodeChange(false,true);},storeAwayURLs:function(s){if(!s.match(/(mce_src|mce_href)/gi,s)){s=s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"','gi'),'src="$1" mce_src="$1"');s=s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"','gi'),'href="$1" mce_href="$1"');}return s;},_removeInternal:function(n){if(tinyMCE.isGecko){tinyMCE.selectNodes(n,function(n){if(n.nodeType==3||n.nodeType==8){n.nodeValue=n.nodeValue.replace(new RegExp('\\smce_src=\"[^\"]*\"','gi'),"");n.nodeValue=n.nodeValue.replace(new RegExp('\\smce_href=\"[^\"]*\"','gi'),"");}return false;});}},removeTinyMCEFormElements:function(form_obj){if(typeof(form_obj)=="undefined"||form_obj==null)return;if(form_obj.nodeName!="FORM"){if(form_obj.form)form_obj=form_obj.form;else form_obj=tinyMCE.getParentElement(form_obj,"form");}if(form_obj==null)return;for(var i=0;i<form_obj.elements.length;i++){var elementId=form_obj.elements[i].name?form_obj.elements[i].name:form_obj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)form_obj.elements[i].disabled=true;}},handleEvent:function(e){var inst=tinyMCE.selectedInstance;if(typeof(tinyMCE)=="undefined")return true;if(tinyMCE.executeCallback(tinyMCE.selectedInstance,'handle_event_callback','handleEvent',e))return false;switch(e.type){case"beforedeactivate":case"blur":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.execCommand('mceEndTyping');tinyMCE.hideMenus();return;case"drop":case"beforepaste":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.setBaseHREF(null);if(tinyMCE.isMSIE&&!tinyMCE.isOpera){var ife=tinyMCE.selectedInstance.iframeElement;if(ife.style.height.indexOf('%')!=-1){ife._oldHeight=ife.style.height;ife.style.height=ife.clientHeight;}}window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);tinyMCE._resetIframeHeight();",1);return;case"submit":tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE?window.event.srcElement:e.target);tinyMCE.triggerSave();tinyMCE.isNotDirty=true;return;case"reset":var formObj=tinyMCE.isMSIE?window.event.srcElement:e.target;for(var i=0;i<document.forms.length;i++){if(document.forms[i]==formObj)window.setTimeout('tinyMCE.resetForm('+i+');',10);}return;case"keypress":if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId){tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];}else{if(e.target.ownerDocument.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.ownerDocument.editorId];}if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&e.keyCode==13&&!e.shiftKey){if(TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance,e)){tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.cancelEvent(e);return false;}}if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.cancelEvent(e);return false;}}if(tinyMCE.isMSIE&&tinyMCE.settings['force_br_newlines']&&e.keyCode==13){if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];if(tinyMCE.selectedInstance){var sel=tinyMCE.selectedInstance.getDoc().selection;var rng=sel.createRange();if(tinyMCE.getParentElement(rng.parentElement(),"li")!=null)return false;e.returnValue=false;e.cancelBubble=true;rng.pasteHTML("<br />");rng.collapse(false);rng.select();tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return false;}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false);}return false;break;case"keyup":case"keydown":tinyMCE.hideMenus();tinyMCE.hasMouseMoved=false;if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];else return;if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var inst=tinyMCE.selectedInstance;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false;}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);if(tinyMCE.isMSIE&&e.type=="keydown"&&e.keyCode==13)tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();if(tinyMCE.isMSIE&&e.type=="keyup"&&e.keyCode==13){var elm=tinyMCE.enterKeyElement;if(elm){var re=new RegExp('^HR|IMG|BR$','g');var dre=new RegExp('^H[1-6]$','g');if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){if(dre.test(elm.nodeName))elm.innerHTML="&nbsp;&nbsp;";else elm.innerHTML="&nbsp;";}}}var keys=tinyMCE.posKeyCodes;var posKey=false;for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){posKey=true;break;}}if(tinyMCE.isMSIE&&tinyMCE.settings['custom_undo_redo']){var keys=new Array(8,46);for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){if(e.type=="keyup")tinyMCE.triggerNodeChange(false);}}}if(e.keyCode==17)return true;if(!posKey&&e.type=="keyup")tinyMCE.execCommand("mceStartTyping");if(e.type=="keydown"&&(posKey||e.ctrlKey)&&inst)inst.undoBookmark=inst.selection.getBookmark();if(e.type=="keyup"&&(posKey||e.ctrlKey))tinyMCE.execCommand("mceEndTyping");if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);if(tinyMCE.isMSIE&&e.ctrlKey)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);break;case"mousedown":case"mouseup":case"click":case"focus":tinyMCE.hideMenus();if(tinyMCE.selectedInstance){tinyMCE.selectedInstance.switchSettings();tinyMCE.selectedInstance.isFocused=true;}var targetBody=tinyMCE.getParentElement(e.target,"body");for(var instanceName in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[instanceName]))continue;var inst=tinyMCE.instances[instanceName];inst.autoResetDesignMode();if(inst.getBody()==targetBody){tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");tinyMCE.imgElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"img");break;}}if(!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark)tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark=tinyMCE.selectedInstance.selection.getBookmark();if(tinyMCE.isSafari){tinyMCE.selectedInstance.lastSafariSelection=tinyMCE.selectedInstance.selection.getBookmark();tinyMCE.selectedInstance.lastSafariSelectedElement=tinyMCE.selectedElement;var lnk=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");if(lnk&&e.type=="mousedown"){lnk.setAttribute("mce_real_href",lnk.getAttribute("href"));lnk.setAttribute("href","javascript:void(0);");}if(lnk&&e.type=="click"){window.setTimeout(function(){lnk.setAttribute("href",lnk.getAttribute("mce_real_href"));lnk.removeAttribute("mce_real_href");},10);}}if(e.type!="focus")tinyMCE.selectedNode=null;tinyMCE.triggerNodeChange(false);tinyMCE.execCommand("mceEndTyping");if(e.type=="mouseup")tinyMCE.execCommand("mceAddUndoLevel");if(!tinyMCE.selectedInstance&&e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];return false;break;}},getButtonHTML:function(id,lang,img,cmd,ui,val){var h='',m,x;cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+cmd+'\'';if(typeof(ui)!="undefined"&&ui!=null)cmd+=','+ui;if(typeof(val)!="undefined"&&val!=null)cmd+=",'"+val+"'";cmd+=');';if(tinyMCE.getParam('button_tile_map')&&(!tinyMCE.isMSIE||tinyMCE.isOpera)&&(m=this.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf('$lang')==-1)){x=0-(m*20)==0?'0':0-(m*20);h+='<a id="{$editor_id}_'+id+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" class="mceTiledButton mceButtonNormal" target="_self">';h+='<img src="{$themeurl}/images/spacer.gif" style="background-position: '+x+'px 0" title="{$'+lang+'}" />';h+='</a>';}else{h+='<a id="{$editor_id}_'+id+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" class="mceButtonNormal" target="_self">';h+='<img src="'+img+'" title="{$'+lang+'}" />';h+='</a>';}return h;},addButtonMap:function(m){var i,a=m.replace(/\s+/,'').split(',');for(i=0;i<a.length;i++)this.buttonMap[a[i]]=i;},submitPatch:function(){tinyMCE.removeTinyMCEFormElements(this);tinyMCE.triggerSave();this.mceOldSubmit();tinyMCE.isNotDirty=true;},onLoad:function(){if(tinyMCE.settings.strict_loading_mode&&this.loadingIndex!=-1){window.setTimeout('tinyMCE.onLoad();',1);return;}if(tinyMCE.isMSIE&&!tinyMCE.isOpera&&window.event.type=="readystatechange"&&document.readyState!="complete")return true;if(tinyMCE.isLoaded)return true;tinyMCE.isLoaded=true;tinyMCE.dispatchCallback(null,'onpageload','onPageLoad');for(var c=0;c<tinyMCE.configs.length;c++){tinyMCE.settings=tinyMCE.configs[c];var selector=tinyMCE.getParam("editor_selector");var deselector=tinyMCE.getParam("editor_deselector");var elementRefAr=new Array();if(document.forms&&tinyMCE.settings['add_form_submit_trigger']&&!tinyMCE.submitTriggers){for(var i=0;i<document.forms.length;i++){var form=document.forms[i];tinyMCE.addEvent(form,"submit",TinyMCE_Engine.prototype.handleEvent);tinyMCE.addEvent(form,"reset",TinyMCE_Engine.prototype.handleEvent);tinyMCE.submitTriggers=true;if(tinyMCE.settings['submit_patch']){try{form.mceOldSubmit=form.submit;form.submit=TinyMCE_Engine.prototype.submitPatch;}catch(e){}}}}var mode=tinyMCE.settings['mode'];switch(mode){case"exact":var elements=tinyMCE.getParam('elements','',true,',');for(var i=0;i<elements.length;i++){var element=tinyMCE._getElementById(elements[i]);var trigger=element?element.getAttribute(tinyMCE.settings['textarea_trigger']):"";if(tinyMCE.getAttrib(element,"class").indexOf(deselector)!=-1)continue;if(trigger=="false")continue;if((tinyMCE.settings['ask']||tinyMCE.settings['convert_on_click'])&&element){elementRefAr[elementRefAr.length]=element;continue;}if(element)tinyMCE.addMCEControl(element,elements[i]);else if(tinyMCE.settings['debug'])alert("Error: Could not find element by id or name: "+elements[i]);}break;case"specific_textareas":case"textareas":var nodeList=document.getElementsByTagName("textarea");for(var i=0;i<nodeList.length;i++){var elm=nodeList.item(i);var trigger=elm.getAttribute(tinyMCE.settings['textarea_trigger']);if(selector!=''&&tinyMCE.getAttrib(elm,"class").indexOf(selector)==-1)continue;if(selector!='')trigger=selector!=""?"true":"";if(tinyMCE.getAttrib(elm,"class").indexOf(deselector)!=-1)continue;if((mode=="specific_textareas"&&trigger=="true")||(mode=="textareas"&&trigger!="false"))elementRefAr[elementRefAr.length]=elm;}break;}for(var i=0;i<elementRefAr.length;i++){var element=elementRefAr[i];var elementId=element.name?element.name:element.id;if(tinyMCE.settings['ask']||tinyMCE.settings['convert_on_click']){if(tinyMCE.isGecko){var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(e){window.setTimeout(function(){TinyMCE_Engine.prototype.confirmAdd(e,settings);},10);});if(element.nodeName!="TEXTAREA"&&element.nodeName!="INPUT")tinyMCE.addEvent(element,"click",function(e){window.setTimeout(function(){TinyMCE_Engine.prototype.confirmAdd(e,settings);},10);});}else{var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(){TinyMCE_Engine.prototype.confirmAdd(null,settings);});tinyMCE.addEvent(element,"click",function(){TinyMCE_Engine.prototype.confirmAdd(null,settings);});}}else tinyMCE.addMCEControl(element,elementId);}if(tinyMCE.settings['auto_focus']){window.setTimeout(function(){var inst=tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);inst.selection.selectNode(inst.getBody(),true,true);inst.contentWindow.focus();},10);}tinyMCE.dispatchCallback(null,'oninit','onInit');}},isInstance:function(o){return o!=null&&typeof(o)=="object"&&o.isTinyMCE_Control;},getParam:function(name,default_value,strip_whitespace,split_chr){var value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");if(strip_whitespace)value=tinyMCE.regexpReplace(value,"[ \t\r\n]","");if(typeof(split_chr)!="undefined"&&split_chr!=null){value=value.split(split_chr);var outArray=new Array();for(var i=0;i<value.length;i++){if(value[i]&&value[i]!="")outArray[outArray.length]=value[i];}value=outArray;}return value;},getLang:function(name,default_value,parse_entities,va){var v=(typeof(tinyMCELang[name])=="undefined")?default_value:tinyMCELang[name],n;if(parse_entities)v=tinyMCE.entityDecode(v);if(va){for(n in va)v=this.replaceVar(v,n,va[n]);}return v;},entityDecode:function(s){var e=document.createElement("div");e.innerHTML=s;return e.innerHTML;},addToLang:function(prefix,ar){for(var key in ar){if(typeof(ar[key])=='function')continue;tinyMCELang[(key.indexOf('lang_')==-1?'lang_':'')+(prefix!=''?(prefix+"_"):'')+key]=ar[key];}this.loadNextScript();},triggerNodeChange:function(focus,setup_content){if(tinyMCE.selectedInstance){var inst=tinyMCE.selectedInstance;var editorId=inst.editorId;var elm=(typeof(setup_content)!="undefined"&&setup_content)?tinyMCE.selectedElement:inst.getFocusElement();var undoIndex=-1;var undoLevels=-1;var anySelection=false;var selectedText=inst.selection.getSelectedText();if(setup_content&&tinyMCE.isGecko&&inst.isHidden())elm=inst.getBody();inst.switchSettings();if(tinyMCE.settings["auto_resize"]){var doc=inst.getDoc();inst.iframeElement.style.width=doc.body.offsetWidth+"px";inst.iframeElement.style.height=doc.body.offsetHeight+"px";}if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoRedo.undoIndex;undoLevels=inst.undoRedo.undoLevels.length;}tinyMCE.dispatchCallback(inst,'handle_node_change_callback','handleNodeChange',editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection,setup_content);}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus();},_customCleanup:function(inst,type,content){var pl,po,i;var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content, inst);");pl=inst.plugins;for(i=0;i<pl.length;i++){po=tinyMCE.plugins[pl[i]];if(po&&po.cleanup)content=po.cleanup(type,content,inst);}return content;},setContent:function(h){if(tinyMCE.selectedInstance){tinyMCE.selectedInstance.execCommand('mceSetContent',false,h);tinyMCE.selectedInstance.repaint();}},importThemeLanguagePack:function(name){if(typeof(name)=="undefined")name=tinyMCE.settings['theme'];tinyMCE.loadScript(tinyMCE.baseURL+'/themes/'+name+'/langs/'+tinyMCE.settings['language']+'.js');},importPluginLanguagePack:function(name,valid_languages){var lang="en",b=tinyMCE.baseURL+'/plugins/'+name;valid_languages=valid_languages.split(',');for(var i=0;i<valid_languages.length;i++){if(tinyMCE.settings['language']==valid_languages[i])lang=tinyMCE.settings['language'];}if(this.plugins[name])b=this.plugins[name].baseURL;tinyMCE.loadScript(b+'/langs/'+lang+'.js');},applyTemplate:function(h,as){var i,s,ar=h.match(new RegExp('\\{\\$[a-z0-9_]+\\}','gi'));if(ar&&ar.length>0){for(i=ar.length-1;i>=0;i--){s=ar[i].substring(2,ar[i].length-1);if(s.indexOf('lang_')==0&&tinyMCELang[s])h=tinyMCE.replaceVar(h,s,tinyMCELang[s]);else if(as&&as[s])h=tinyMCE.replaceVar(h,s,as[s]);else if(tinyMCE.settings[s])h=tinyMCE.replaceVar(h,s,tinyMCE.settings[s]);}}h=tinyMCE.replaceVar(h,"themeurl",tinyMCE.themeURL);return h;},replaceVar:function(h,r,v){return h.replace(new RegExp('{\\\$'+r+'}','g'),v);},openWindow:function(template,args){var html,width,height,x,y,resizable,scrollbars,url;args['mce_template_file']=template['file'];args['mce_width']=template['width'];args['mce_height']=template['height'];tinyMCE.windowArgs=args;html=template['html'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(tinyMCE.isMSIE)height+=40;else height+=20;x=parseInt(screen.width/2.0)-(width/2.0);y=parseInt(screen.height/2.0)-(height/2.0);resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]));}if(html){html=tinyMCE.replaceVar(html,"css",this.settings['popups_css']);html=tinyMCE.applyTemplate(html,args);var win=window.open("","mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return;}win.document.write(html);win.document.close();win.resizeTo(width,height);win.focus();}else{if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&resizable!='yes'&&tinyMCE.settings["dialog_type"]=="modal"){height+=10;var features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";window.showModalDialog(url,window,features);}else{var modal=(resizable=="yes")?"no":"yes";if(tinyMCE.isGecko&&tinyMCE.isMac)modal="no";if(template['close_previous']!="no")try{tinyMCE.lastWindow.close();}catch(ex){}var win=window.open(url,"mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog="+modal+",minimizable="+resizable+",modal="+modal+",width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return;}if(template['close_previous']!="no")tinyMCE.lastWindow=win;eval('try { win.resizeTo(width, height); } catch(e) { }');if(tinyMCE.isGecko){if(win.document.defaultView.statusbar.visible)win.resizeBy(0,tinyMCE.isMac?10:24);}win.focus();}}},closeWindow:function(win){win.close();},getVisualAidClass:function(class_name,state){var aidClass=tinyMCE.settings['visual_table_class'];if(typeof(state)=="undefined")state=tinyMCE.settings['visual'];var classNames=new Array();var ar=class_name.split(' ');for(var i=0;i<ar.length;i++){if(ar[i]==aidClass)ar[i]="";if(ar[i]!="")classNames[classNames.length]=ar[i];}if(state)classNames[classNames.length]=aidClass;var className="";for(var i=0;i<classNames.length;i++){if(i>0)className+=" ";className+=classNames[i];}return className;},handleVisualAid:function(el,deep,state,inst,skip_dispatch){if(!el)return;if(!skip_dispatch)tinyMCE.dispatchCallback(inst,'handle_visual_aid_callback','handleVisualAid',el,deep,state,inst);var tableElement=null;switch(el.nodeName){case"TABLE":var oldW=el.style.width;var oldH=el.style.height;var bo=tinyMCE.getAttrib(el,"border");bo=bo==""||bo=="0"?true:false;tinyMCE.setAttrib(el,"class",tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el,"class"),state&&bo));el.style.width=oldW;el.style.height=oldH;for(var y=0;y<el.rows.length;y++){for(var x=0;x<el.rows[y].cells.length;x++){var cn=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x],"class"),state&&bo);tinyMCE.setAttrib(el.rows[y].cells[x],"class",cn);}}break;case"A":var anchorName=tinyMCE.getAttrib(el,"name");if(anchorName!=''&&state){el.title=anchorName;el.className='mceItemAnchor';}else if(anchorName!=''&&!state)el.className='';break;}if(deep&&el.hasChildNodes()){for(var i=0;i<el.childNodes.length;i++)tinyMCE.handleVisualAid(el.childNodes[i],deep,state,inst,true);}},fixGeckoBaseHREFBug:function(m,e,h){var nl,i,a,n,xsrc,xhref,el;if(tinyMCE.isGecko){if(m==1){h=h.replace(/\ssrc=/gi," mce_tsrc=");h=h.replace(/\shref=/gi," mce_thref=");return h;}else{el=new Array('a','img','select','area','iframe','base','input','script','embed','object','link');for(a=0;a<el.length;a++){n=e.getElementsByTagName(el[a]);for(i=0;i<n.length;i++){xsrc=tinyMCE.getAttrib(n[i],"mce_tsrc");xhref=tinyMCE.getAttrib(n[i],"mce_thref");if(xsrc!=""){try{n[i].src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],xsrc);}catch(e){}n[i].removeAttribute("mce_tsrc");}if(xhref!=""){try{n[i].href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],xhref);}catch(e){}n[i].removeAttribute("mce_thref");}}}el=tinyMCE.selectNodes(e,function(n){if(n.nodeType==3||n.nodeType==8){n.nodeValue=n.nodeValue.replace(/\smce_tsrc=/gi," src=");n.nodeValue=n.nodeValue.replace(/\smce_thref=/gi," href=");}return false;});}}return h;},_setHTML:function(doc,html_content){html_content=tinyMCE.cleanupHTMLCode(html_content);try{tinyMCE.setInnerHTML(doc.body,html_content);}catch(e){if(this.isMSIE)doc.body.createTextRange().pasteHTML(html_content);}if(tinyMCE.isMSIE&&tinyMCE.settings['fix_content_duplication']){var paras=doc.getElementsByTagName("P");for(var i=0;i<paras.length;i++){var node=paras[i];while((node=node.parentNode)!=null){if(node.nodeName=="P")node.outerHTML=node.innerHTML;}}var html=doc.body.innerHTML;tinyMCE.setInnerHTML(doc.body,html);}tinyMCE.cleanupAnchors(doc);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc);},getEditorId:function(form_element){var inst=this.getInstanceById(form_element);if(!inst)return null;return inst.editorId;},getInstanceById:function(editor_id){var inst=this.instances[editor_id];if(!inst){for(var n in tinyMCE.instances){var instance=tinyMCE.instances[n];if(!tinyMCE.isInstance(instance))continue;if(instance.formTargetElementId==editor_id){inst=instance;break;}}}return inst;},queryInstanceCommandValue:function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandValue(command);return false;},queryInstanceCommandState:function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandState(command);return null;},setWindowArg:function(n,v){this.windowArgs[n]=v;},getWindowArg:function(n,d){return(typeof(this.windowArgs[n])=="undefined")?d:this.windowArgs[n];},getCSSClasses:function(editor_id,doc){var output=new Array();if(typeof(tinyMCE.cssClasses)!="undefined")return tinyMCE.cssClasses;if(typeof(editor_id)=="undefined"&&typeof(doc)=="undefined"){var instance;for(var instanceName in tinyMCE.instances){instance=tinyMCE.instances[instanceName];if(!tinyMCE.isInstance(instance))continue;break;}doc=instance.getDoc();}if(typeof(doc)=="undefined"){var instance=tinyMCE.getInstanceById(editor_id);doc=instance.getDoc();}if(doc){var styles=doc.styleSheets;if(styles&&styles.length>0){for(var x=0;x<styles.length;x++){var csses=null;eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets("+x+").rules : styles["+x+"].cssRules;} catch(e) {}");if(!csses)return new Array();for(var i=0;i<csses.length;i++){var selectorText=csses[i].selectorText;if(selectorText){var rules=selectorText.split(',');for(var c=0;c<rules.length;c++){var rule=rules[c];while(rule.indexOf(' ')==0)rule=rule.substring(1);if(rule.indexOf(' ')!=-1||rule.indexOf(':')!=-1||rule.indexOf('mceItem')!=-1)continue;if(rule.indexOf(tinyMCE.settings['visual_table_class'])!=-1||rule.indexOf('mceEditable')!=-1||rule.indexOf('mceNonEditable')!=-1)continue;if(rule.indexOf('.')!=-1){var cssClass=rule.substring(rule.indexOf('.')+1);var addClass=true;for(var p=0;p<output.length&&addClass;p++){if(output[p]==cssClass)addClass=false;}if(addClass)output[output.length]=cssClass;}}}}}}}if(output.length>0)tinyMCE.cssClasses=output;return output;},regexpReplace:function(in_str,reg_exp,replace_str,opts){if(in_str==null)return in_str;if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str);},trim:function(s){return s.replace(/^\s*|\s*$/g,"");},cleanupEventStr:function(s){s=""+s;s=s.replace('function anonymous()\n{\n','');s=s.replace('\n}','');s=s.replace(/^return true;/gi,'');return s;},getControlHTML:function(c){var i,l,n,o,v;l=tinyMCE.plugins;for(n in l){o=l[n];if(o.getControlHTML&&(v=o.getControlHTML(c))!='')return tinyMCE.replaceVar(v,"pluginurl",o.baseURL);}o=tinyMCE.themes[tinyMCE.settings['theme']];if(o.getControlHTML&&(v=o.getControlHTML(c))!='')return v;return'';},evalFunc:function(f,idx,a){var s='(',i;for(i=idx;i<a.length;i++){s+='a['+i+']';if(i<a.length-1)s+=',';}s+=');';return eval("f"+s);},dispatchCallback:function(i,p,n){return this.callFunc(i,p,n,0,this.dispatchCallback.arguments);},executeCallback:function(i,p,n){return this.callFunc(i,p,n,1,this.executeCallback.arguments);},execCommandCallback:function(i,p,n){return this.callFunc(i,p,n,2,this.execCommandCallback.arguments);},callFunc:function(ins,p,n,m,a){var l,i,on,o,s,v;s=m==2;l=tinyMCE.getParam(p,'');if(l!=''&&(v=tinyMCE.evalFunc(typeof(l)=="function"?l:eval(l),3,a))==s&&m>0)return true;if(ins!=null){for(i=0,l=ins.plugins;i<l.length;i++){o=tinyMCE.plugins[l[i]];if(o[n]&&(v=tinyMCE.evalFunc(o[n],3,a))==s&&m>0)return true;}}l=tinyMCE.themes;for(on in l){o=l[on];if(o[n]&&(v=tinyMCE.evalFunc(o[n],3,a))==s&&m>0)return true;}return false;},xmlEncode:function(s){s=""+s;s=s.replace(/&/g,'&amp;');s=s.replace(new RegExp('"','g'),'&quot;');s=s.replace(/\'/g,'&#39;');s=s.replace(/</g,'&lt;');s=s.replace(/>/g,'&gt;');return s;},extend:function(p,np){var o={};o.parent=p;for(n in p)o[n]=p[n];for(n in np)o[n]=np[n];return o;},hideMenus:function(){var e=tinyMCE.lastSelectedMenuBtn;if(tinyMCE.lastMenu){tinyMCE.lastMenu.hide();tinyMCE.lastMenu=null;}if(e){tinyMCE.switchClass(e,tinyMCE.lastMenuBtnClass);tinyMCE.lastSelectedMenuBtn=null;}},explode:function(d,s){var ar=s.split(d),oar=new Array(),i;for(i=0;i<ar.length;i++){if(ar[i]!="")oar[oar.length]=ar[i];}return oar;}};var TinyMCE=TinyMCE_Engine;var tinyMCE=new TinyMCE_Engine();var tinyMCELang={};function TinyMCE_Control(settings){var t,i,to,fu,p,x,fn,fu,pn,s=settings;this.undoRedoLevel=true;this.isTinyMCE_Control=true;this.settings=s;this.settings['theme']=tinyMCE.getParam("theme","default");this.settings['width']=tinyMCE.getParam("width",-1);this.settings['height']=tinyMCE.getParam("height",-1);this.selection=new TinyMCE_Selection(this);this.undoRedo=new TinyMCE_UndoRedo(this);this.cleanup=new TinyMCE_Cleanup();this.shortcuts=new Array();this.hasMouseMoved=false;this.cleanup.init({valid_elements:s.valid_elements,extended_valid_elements:s.extended_valid_elements,entities:s.entities,entity_encoding:s.entity_encoding,debug:s.cleanup_debug,url_converter:'TinyMCE_Cleanup.prototype._urlConverter',indent:s.apply_source_formatting,invalid_elements:s.invalid_elements,verify_html:s.verify_html,fix_content_duplication:s.fix_content_duplication});t=this.settings['theme'];if(!tinyMCE.hasTheme(t)){fn=tinyMCE.callbacks;to={};for(i=0;i<fn.length;i++){if((fu=window['TinyMCE_'+t+"_"+fn[i]]))to[fn[i]]=fu;}tinyMCE.addTheme(t,to);}this.plugins=new Array();p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(i=0;i<p.length;i++){pn=p[i];if(pn.charAt(0)=='-')pn=pn.substring(1);if(!tinyMCE.hasPlugin(pn)){fn=tinyMCE.callbacks;to={};for(x=0;x<fn.length;x++){if((fu=window['TinyMCE_'+pn+"_"+fn[x]]))to[fn[x]]=fu;}tinyMCE.addPlugin(pn,to);}this.plugins[this.plugins.length]=pn;}}};TinyMCE_Control.prototype={hasPlugin:function(n){var i;for(i=0;i<this.plugins.length;i++){if(this.plugins[i]==n)return true;}return false;},addPlugin:function(n,p){if(!this.hasPlugin(n)){tinyMCE.addPlugin(n,p);this.plugins[this.plugins.length]=n;}},repaint:function(){if(tinyMCE.isMSIE&&!tinyMCE.isOpera)return;try{var s=this.selection;var b=s.getBookmark(true);this.getBody().style.display='none';this.getDoc().execCommand('selectall',false,null);this.getSel().collapseToStart();this.getBody().style.display='block';s.moveToBookmark(b);}catch(ex){}},switchSettings:function(){if(tinyMCE.configs.length>1&&tinyMCE.currentConfig!=this.settings['index']){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings['index'];}},getBody:function(){return this.getDoc().body;},getDoc:function(){return this.contentWindow.document;},getWin:function(){return this.contentWindow;},addShortcut:function(m,k,d,cmd,ui,va){var n=typeof(k)=="number",ie=tinyMCE.isMSIE,c,sc,i;var scl=this.shortcuts;if(!tinyMCE.getParam('custom_shortcuts'))return false;m=m.toLowerCase();k=ie&&!n?k.toUpperCase():k;c=n?null:k.charCodeAt(0);d=d&&d.indexOf('lang_')==0?tinyMCE.getLang(d):d;sc={alt:m.indexOf('alt')!=-1,ctrl:m.indexOf('ctrl')!=-1,shift:m.indexOf('shift')!=-1,charCode:c,keyCode:n?k:(ie?c:null),desc:d,cmd:cmd,ui:ui,val:va};for(i=0;i<scl.length;i++){if(sc.alt==scl[i].alt&&sc.ctrl==scl[i].ctrl&&sc.shift==scl[i].shift&&sc.charCode==scl[i].charCode&&sc.keyCode==scl[i].keyCode){return false;}}scl[scl.length]=sc;return true;},handleShortcut:function(e){var i,s=this.shortcuts,o;for(i=0;i<s.length;i++){o=s[i];if(o.alt==e.altKey&&o.ctrl==e.ctrlKey&&(o.keyCode==e.keyCode||o.charCode==e.charCode)){if(o.cmd&&(e.type=="keydown"||(e.type=="keypress"&&!tinyMCE.isOpera)))tinyMCE.execCommand(o.cmd,o.ui,o.val);tinyMCE.cancelEvent(e);return true;}}return false;},autoResetDesignMode:function(){if(!tinyMCE.isMSIE&&this.isHidden()&&tinyMCE.getParam('auto_reset_designmode'))eval('try { this.getDoc().designMode = "On"; } catch(e) {}');},isHidden:function(){if(tinyMCE.isMSIE)return false;var s=this.getSel();return(!s||!s.rangeCount||s.rangeCount==0);},isDirty:function(){return this.startContent!=tinyMCE.trim(this.getBody().innerHTML)&&!tinyMCE.isNotDirty;},_mergeElements:function(scmd,pa,ch,override){if(scmd=="removeformat"){pa.className="";pa.style.cssText="";ch.className="";ch.style.cssText="";return;}var st=tinyMCE.parseStyle(tinyMCE.getAttrib(pa,"style"));var stc=tinyMCE.parseStyle(tinyMCE.getAttrib(ch,"style"));var className=tinyMCE.getAttrib(pa,"class");className+=" "+tinyMCE.getAttrib(ch,"class");if(override){for(var n in st){if(typeof(st[n])=='function')continue;stc[n]=st[n];}}else{for(var n in stc){if(typeof(stc[n])=='function')continue;st[n]=stc[n];}}tinyMCE.setAttrib(pa,"style",tinyMCE.serializeStyle(st));tinyMCE.setAttrib(pa,"class",tinyMCE.trim(className));ch.className="";ch.style.cssText="";ch.removeAttribute("class");ch.removeAttribute("style");},_setUseCSS:function(b){var d=this.getDoc();try{d.execCommand("useCSS",false,!b);}catch(ex){}try{d.execCommand("styleWithCSS",false,b);}catch(ex){}if(!tinyMCE.getParam("table_inline_editing"))try{d.execCommand('enableInlineTableEditing',false,"false");}catch(ex){}if(!tinyMCE.getParam("object_resizing"))try{d.execCommand('enableObjectResizing',false,"false");}catch(ex){}},execCommand:function(command,user_interface,value){var doc=this.getDoc();var win=this.getWin();var focusElm=this.getFocusElement();if(!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel','gi').test(command))this.undoBookmark=null;if(this.lastSafariSelection&&!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel','gi').test(command)){this.selection.moveToBookmark(this.lastSafariSelection);tinyMCE.selectedElement=this.lastSafariSelectedElement;}if(!tinyMCE.isMSIE&&!this.useCSS){this._setUseCSS(false);this.useCSS=true;}this.contentDocument=doc;if(tinyMCE.execCommandCallback(this,'execcommand_callback','execCommand',this.editorId,this.getBody(),command,user_interface,value))return;if(focusElm&&focusElm.nodeName=="IMG"){var align=focusElm.getAttribute('align');var img=command=="JustifyCenter"?focusElm.cloneNode(false):focusElm;switch(command){case"JustifyLeft":if(align=='left')img.removeAttribute('align');else img.setAttribute('align','left');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyCenter":img.removeAttribute('align');var div=tinyMCE.getParentElement(focusElm,"div");if(div&&div.style.textAlign=="center"){if(div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);}else{var div=this.getDoc().createElement("div");div.style.textAlign='center';div.appendChild(img);focusElm.parentNode.replaceChild(div,focusElm);}this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyRight":if(align=='right')img.removeAttribute('align');else img.setAttribute('align','right');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;}}if(tinyMCE.settings['force_br_newlines']){var alignValue="";if(doc.selection.type!="Control"){switch(command){case"JustifyLeft":alignValue="left";break;case"JustifyCenter":alignValue="center";break;case"JustifyFull":alignValue="justify";break;case"JustifyRight":alignValue="right";break;}if(alignValue!=""){var rng=doc.selection.createRange();if((divElm=tinyMCE.getParentElement(rng.parentElement(),"div"))!=null)divElm.setAttribute("align",alignValue);else if(rng.pasteHTML&&rng.htmlText.length>0)rng.pasteHTML('<div align="'+alignValue+'">'+rng.htmlText+"</div>");tinyMCE.triggerNodeChange();return;}}}switch(command){case"mceRepaint":this.repaint();return true;case"InsertUnorderedList":case"InsertOrderedList":var tag=(command=="InsertUnorderedList")?"ul":"ol";if(tinyMCE.isSafari)this.execCommand("mceInsertContent",false,"<"+tag+"><li>&nbsp;</li><"+tag+">");else this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"Strikethrough":if(tinyMCE.isSafari)this.execCommand("mceInsertContent",false,"<strike>"+this.selection.getSelectedHTML()+"</strike>");else this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"mceSelectNode":this.selection.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case"FormatBlock":if(value==null||value==""){var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");if(elm)this.execCommand("mceRemoveNode",false,elm);}else{if(tinyMCE.isGecko&&new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>','gi').test(value))value=value.replace(/[^a-z]/gi,'');if(tinyMCE.isMSIE&&new RegExp('blockquote|code|samp','gi').test(value)){var b=this.selection.getBookmark();this.getDoc().execCommand("FormatBlock",false,'<p>');tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()),value);this.selection.moveToBookmark(b);}else this.getDoc().execCommand("FormatBlock",false,value);}tinyMCE.triggerNodeChange();break;case"mceRemoveNode":if(!value)value=tinyMCE.getParentElement(this.getFocusElement());if(tinyMCE.isMSIE){value.outerHTML=value.innerHTML;}else{var rng=value.ownerDocument.createRange();rng.setStartBefore(value);rng.setEndAfter(value);rng.deleteContents();rng.insertNode(rng.createContextualFragment(value.innerHTML));}tinyMCE.triggerNodeChange();break;case"mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue;}if(i==value){this.selection.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return;}parentNode=parentNode.parentNode;}break;case"SetStyleInfo":var rng=this.getRng();var sel=this.getSel();var scmd=value['command'];var sname=value['name'];var svalue=value['value']==null?'':value['value'];var wrapper=value['wrapper']?value['wrapper']:"span";var parentElm=null;var invalidRe=new RegExp("^BODY|HTML$","g");var invalidParentsRe=tinyMCE.settings['merge_styles_invalid_parents']!=''?new RegExp(tinyMCE.settings['merge_styles_invalid_parents'],"gi"):null;if(tinyMCE.isMSIE){if(rng.item)parentElm=rng.item(0);else{var pelm=rng.parentElement();var prng=doc.selection.createRange();prng.moveToElementText(pelm);if(rng.htmlText==prng.htmlText||rng.boundingWidth==0){if(invalidParentsRe==null||!invalidParentsRe.test(pelm.nodeName))parentElm=pelm;}}}else{var felm=this.getFocusElement();if(sel.isCollapsed||(new RegExp('td|tr|tbody|table','gi').test(felm.nodeName)&&sel.anchorNode==felm.parentNode))parentElm=felm;}if(parentElm&&!invalidRe.test(parentElm.nodeName)){if(scmd=="setstyle")tinyMCE.setStyleAttrib(parentElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(parentElm,sname,svalue);if(scmd=="removeformat"){parentElm.style.cssText='';tinyMCE.setAttrib(parentElm,'class','');}var ch=tinyMCE.getNodeTree(parentElm,new Array(),1);for(var z=0;z<ch.length;z++){if(ch[z]==parentElm)continue;if(scmd=="setstyle")tinyMCE.setStyleAttrib(ch[z],sname,'');if(scmd=="setattrib")tinyMCE.setAttrib(ch[z],sname,'');if(scmd=="removeformat"){ch[z].style.cssText='';tinyMCE.setAttrib(ch[z],'class','');}}}else{this._setUseCSS(false);doc.execCommand("FontName",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.getBody(),"font","face","#mce_temp_font#");for(var x=0;x<elementArray.length;x++){elm=elementArray[x];if(elm){var spanElm=doc.createElement(wrapper);if(scmd=="setstyle")tinyMCE.setStyleAttrib(spanElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(spanElm,sname,svalue);if(scmd=="removeformat"){spanElm.style.cssText='';tinyMCE.setAttrib(spanElm,'class','');}if(elm.hasChildNodes()){for(var i=0;i<elm.childNodes.length;i++)spanElm.appendChild(elm.childNodes[i].cloneNode(true));}spanElm.setAttribute("mce_new","true");elm.parentNode.replaceChild(spanElm,elm);var ch=tinyMCE.getNodeTree(spanElm,new Array(),1);for(var z=0;z<ch.length;z++){if(ch[z]==spanElm)continue;if(scmd=="setstyle")tinyMCE.setStyleAttrib(ch[z],sname,'');if(scmd=="setattrib")tinyMCE.setAttrib(ch[z],sname,'');if(scmd=="removeformat"){ch[z].style.cssText='';tinyMCE.setAttrib(ch[z],'class','');}}}}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isNew=tinyMCE.getAttrib(elm,"mce_new")=="true";elm.removeAttribute("mce_new");if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){this._mergeElements(scmd,elm,elm.childNodes[0],isNew);continue;}if(elm.parentNode.childNodes.length==1&&!invalidRe.test(elm.nodeName)&&!invalidRe.test(elm.parentNode.nodeName)){if(invalidParentsRe==null||!invalidParentsRe.test(elm.parentNode.nodeName))this._mergeElements(scmd,elm.parentNode,elm,false);}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isEmpty=true;var tmp=doc.createElement("body");tmp.appendChild(elm.cloneNode(false));tmp.innerHTML=tmp.innerHTML.replace(new RegExp('style=""|class=""','gi'),'');if(new RegExp('<span>','gi').test(tmp.innerHTML)){for(var x=0;x<elm.childNodes.length;x++){if(elm.parentNode!=null)elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true),elm);}elm.parentNode.removeChild(elm);}}if(scmd=="removeformat")tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE.triggerNodeChange();break;case"FontName":if(value==null){var s=this.getSel();if(tinyMCE.isGecko&&s.isCollapsed){var f=tinyMCE.getParentElement(this.getFocusElement(),"font");if(f!=null)this.selection.selectNode(f,false);}this.getDoc().execCommand("RemoveFormat",false,null);if(f!=null&&tinyMCE.isGecko){var r=this.getRng().cloneRange();r.collapse(true);s.removeAllRanges();s.addRange(r);}}else this.getDoc().execCommand('FontName',false,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);return;case"FontSize":this.getDoc().execCommand('FontSize',false,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);return;case"forecolor":this.getDoc().execCommand('forecolor',false,value);break;case"HiliteColor":if(tinyMCE.isGecko){this._setUseCSS(true);this.getDoc().execCommand('hilitecolor',false,value);this._setUseCSS(false);}else this.getDoc().execCommand('BackColor',false,value);break;case"Cut":case"Copy":case"Paste":var cmdFailed=false;eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');if(tinyMCE.isOpera&&cmdFailed)alert('Currently not supported by your browser, use keyboard shortcuts instead.');if(tinyMCE.isGecko&&cmdFailed){if(confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html','mceExternal');return;}else tinyMCE.triggerNodeChange();break;case"mceSetContent":if(!value)value="";value=tinyMCE.storeAwayURLs(value);value=tinyMCE._customCleanup(this,"insert_to_editor",value);tinyMCE._setHTML(doc,value);tinyMCE.setInnerHTML(doc.body,tinyMCE._cleanupHTML(this,doc,tinyMCE.settings,doc.body));tinyMCE.convertAllRelativeURLs(doc.body);tinyMCE._removeInternal(this.getBody());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc);tinyMCE.handleVisualAid(doc.body,true,this.visualAid,this);tinyMCE._setEventsEnabled(doc.body,false);return true;case"mceCleanup":var b=this.selection.getBookmark();tinyMCE._setHTML(this.contentDocument,this.getBody().innerHTML);tinyMCE.setInnerHTML(this.getBody(),tinyMCE._cleanupHTML(this,this.contentDocument,this.settings,this.getBody(),this.visualAid));tinyMCE.convertAllRelativeURLs(doc.body);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc);tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE._setEventsEnabled(this.getBody(),false);this.repaint();this.selection.moveToBookmark(b);tinyMCE.triggerNodeChange();break;case"mceReplaceContent":if(!value)value='';this.getWin().focus();var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText=this.getSel().toString();if(selectedText.length>0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value);}tinyMCE.triggerNodeChange();break;case"mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange();}}break;case"mceSetCSSClass":this.execCommand("SetStyleInfo",false,{command:"setattrib",name:"class",value:value});break;case"mceInsertRawHTML":var key='tiny_mce_marker';this.execCommand('mceBeginUndoLevel');this.execCommand('mceInsertContent',false,key);var scrollX=this.getDoc().body.scrollLeft+this.getDoc().documentElement.scrollLeft;var scrollY=this.getDoc().body.scrollTop+this.getDoc().documentElement.scrollTop;var html=this.getBody().innerHTML;if((pos=html.indexOf(key))!=-1)tinyMCE.setInnerHTML(this.getBody(),html.substring(0,pos)+value+html.substring(pos+key.length));this.contentWindow.scrollTo(scrollX,scrollY);this.execCommand('mceEndUndoLevel');break;case"mceInsertContent":if(!value)value='';var insertHTMLFailed=false;this.getWin().focus();if(tinyMCE.isGecko||tinyMCE.isOpera){try{if(value.indexOf('<')==-1&&!value.match(/(&#38;|&#160;|&#60;|&#62;)/g)){var r=this.getRng();var n=this.getDoc().createTextNode(tinyMCE.entityDecode(value));var s=this.getSel();var r2=r.cloneRange();s.removeAllRanges();r.deleteContents();r.insertNode(n);r2.selectNode(n);r2.collapse(false);s.removeAllRanges();s.addRange(r2);}else{value=tinyMCE.fixGeckoBaseHREFBug(1,this.getDoc(),value);this.getDoc().execCommand('inserthtml',false,value);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value);}}catch(ex){insertHTMLFailed=true;}if(!insertHTMLFailed){tinyMCE.triggerNodeChange();return;}}if(tinyMCE.isOpera&&insertHTMLFailed){this.getDoc().execCommand("insertimage",false,tinyMCE.uniqueURL);var ar=tinyMCE.getElementsByAttributeValue(this.getBody(),"img","src",tinyMCE.uniqueURL);ar[0].outerHTML=value;return;}if(!tinyMCE.isMSIE){var isHTML=value.indexOf('<')!=-1;var sel=this.getSel();var rng=this.getRng();if(isHTML){if(tinyMCE.isSafari){var tmpRng=this.getDoc().createRange();tmpRng.setStart(this.getBody(),0);tmpRng.setEnd(this.getBody(),0);value=tmpRng.createContextualFragment(value);}else value=rng.createContextualFragment(value);}else{var el=document.createElement("div");el.innerHTML=value;value=el.firstChild.nodeValue;value=doc.createTextNode(value);}if(tinyMCE.isSafari&&!isHTML){this.execCommand('InsertText',false,value.nodeValue);tinyMCE.triggerNodeChange();return true;}else if(tinyMCE.isSafari&&isHTML){rng.deleteContents();rng.insertNode(value);tinyMCE.triggerNodeChange();return true;}rng.deleteContents();if(rng.startContainer.nodeType==3){var node=rng.startContainer.splitText(rng.startOffset);node.parentNode.insertBefore(value,node);}else rng.insertNode(value);if(!isHTML){sel.selectAllChildren(doc.body);sel.removeAllRanges();var rng=doc.createRange();rng.selectNode(value);rng.collapse(false);sel.addRange(rng);}else rng.collapse(false);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value);}else{var rng=doc.selection.createRange();var c=value.indexOf('<!--')!=-1;if(c)value=tinyMCE.uniqueTag+value;if(rng.item)rng.item(0).outerHTML=value;else rng.pasteHTML(value);if(c){var e=this.getDoc().getElementById('mceTMPElement');e.parentNode.removeChild(e);}}tinyMCE.triggerNodeChange();break;case"mceStartTyping":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedo.typingUndoIndex==-1){this.undoRedo.typingUndoIndex=this.undoRedo.undoIndex;this.execCommand('mceAddUndoLevel');}break;case"mceEndTyping":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedo.typingUndoIndex!=-1){this.execCommand('mceAddUndoLevel');this.undoRedo.typingUndoIndex=-1;}break;case"mceBeginUndoLevel":this.undoRedoLevel=false;break;case"mceEndUndoLevel":this.undoRedoLevel=true;this.execCommand('mceAddUndoLevel');break;case"mceAddUndoLevel":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedoLevel){if(this.undoRedo.add())tinyMCE.triggerNodeChange(false);}break;case"Undo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");this.undoRedo.undo();tinyMCE.triggerNodeChange();}else this.getDoc().execCommand(command,user_interface,value);break;case"Redo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");this.undoRedo.redo();tinyMCE.triggerNodeChange();}else this.getDoc().execCommand(command,user_interface,value);break;case"mceToggleVisualAid":this.visualAid=!this.visualAid;tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE.triggerNodeChange();break;case"Indent":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();if(tinyMCE.isMSIE){var n=tinyMCE.getParentElement(this.getFocusElement(),"blockquote");do{if(n&&n.nodeName=="BLOCKQUOTE"){n.removeAttribute("dir");n.removeAttribute("style");}}while(n!=null&&(n=n.parentNode)!=null);}break;case"removeformat":var text=this.selection.getSelectedText();if(tinyMCE.isOpera){this.getDoc().execCommand("RemoveFormat",false,null);return;}if(tinyMCE.isMSIE){try{var rng=doc.selection.createRange();rng.execCommand("RemoveFormat",false,null);}catch(e){}this.execCommand("SetStyleInfo",false,{command:"removeformat"});}else{this.getDoc().execCommand(command,user_interface,value);this.execCommand("SetStyleInfo",false,{command:"removeformat"});}if(text.length==0)this.execCommand("mceSetCSSClass",false,"");tinyMCE.triggerNodeChange();break;default:this.getDoc().execCommand(command,user_interface,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);else tinyMCE.triggerNodeChange();}if(command!="mceAddUndoLevel"&&command!="Undo"&&command!="Redo"&&command!="mceStartTyping"&&command!="mceEndTyping")tinyMCE.execCommand("mceAddUndoLevel");},queryCommandValue:function(c){try{return this.getDoc().queryCommandValue(c);}catch(e){return null;}},queryCommandState:function(c){return this.getDoc().queryCommandState(c);},_onAdd:function(replace_element,form_element_name,target_document){var hc,th,to,editorTemplate;th=this.settings['theme'];to=tinyMCE.themes[th];var targetDoc=target_document?target_document:document;this.targetDoc=targetDoc;tinyMCE.themeURL=tinyMCE.baseURL+"/themes/"+this.settings['theme'];this.settings['themeurl']=tinyMCE.themeURL;if(!replace_element){alert("Error: Could not find the target element.");return false;}if(to.getEditorTemplate)editorTemplate=to.getEditorTemplate(this.settings,this.editorId);var deltaWidth=editorTemplate['delta_width']?editorTemplate['delta_width']:0;var deltaHeight=editorTemplate['delta_height']?editorTemplate['delta_height']:0;var html='<span id="'+this.editorId+'_parent" class="mceEditorContainer">'+editorTemplate['html'];html=tinyMCE.replaceVar(html,"editor_id",this.editorId);this.settings['default_document']=tinyMCE.baseURL+"/blank.htm";this.settings['old_width']=this.settings['width'];this.settings['old_height']=this.settings['height'];if(this.settings['width']==-1)this.settings['width']=replace_element.offsetWidth;if(this.settings['height']==-1)this.settings['height']=replace_element.offsetHeight;if(this.settings['width']==0)this.settings['width']=replace_element.style.width;if(this.settings['height']==0)this.settings['height']=replace_element.style.height;if(this.settings['width']==0)this.settings['width']=320;if(this.settings['height']==0)this.settings['height']=240;this.settings['area_width']=parseInt(this.settings['width']);this.settings['area_height']=parseInt(this.settings['height']);this.settings['area_width']+=deltaWidth;this.settings['area_height']+=deltaHeight;if((""+this.settings['width']).indexOf('%')!=-1)this.settings['area_width']="100%";if((""+this.settings['height']).indexOf('%')!=-1)this.settings['area_height']="100%";if((""+replace_element.style.width).indexOf('%')!=-1){this.settings['width']=replace_element.style.width;this.settings['area_width']="100%";}if((""+replace_element.style.height).indexOf('%')!=-1){this.settings['height']=replace_element.style.height;this.settings['area_height']="100%";}html=tinyMCE.applyTemplate(html);this.settings['width']=this.settings['old_width'];this.settings['height']=this.settings['old_height'];this.visualAid=this.settings['visual'];this.formTargetElementId=form_element_name;if(replace_element.nodeName=="TEXTAREA"||replace_element.nodeName=="INPUT")this.startContent=replace_element.value;else this.startContent=replace_element.innerHTML;if(replace_element.nodeName!="TEXTAREA"&&replace_element.nodeName!="INPUT"){this.oldTargetElement=replace_element;if(tinyMCE.settings['debug']){hc='<textarea wrap="off" id="'+form_element_name+'" name="'+form_element_name+'" cols="100" rows="15"></textarea>';}else{hc='<input type="hidden" id="'+form_element_name+'" name="'+form_element_name+'" />';this.oldTargetElement.style.display="none";}html+='</span>';if(tinyMCE.isGecko)html=hc+html;else html+=hc;if(tinyMCE.isGecko){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);tinyMCE.insertAfter(fragment,replace_element);}else replace_element.insertAdjacentHTML("beforeBegin",html);}else{html+='</span>';this.oldTargetElement=replace_element;if(!tinyMCE.settings['debug'])this.oldTargetElement.style.display="none";if(tinyMCE.isGecko){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);tinyMCE.insertAfter(fragment,replace_element);}else replace_element.insertAdjacentHTML("beforeBegin",html);}var dynamicIFrame=false;var tElm=targetDoc.getElementById(this.editorId);if(!tinyMCE.isMSIE){if(tElm&&(tElm.nodeName=="SPAN"||tElm.nodeName=="span")){tElm=tinyMCE._createIFrame(tElm,targetDoc);dynamicIFrame=true;}this.targetElement=tElm;this.iframeElement=tElm;this.contentDocument=tElm.contentDocument;this.contentWindow=tElm.contentWindow;}else{if(tElm&&tElm.nodeName=="SPAN")tElm=tinyMCE._createIFrame(tElm,targetDoc,targetDoc.parentWindow);else tElm=targetDoc.frames[this.editorId];this.targetElement=tElm;this.iframeElement=targetDoc.getElementById(this.editorId);if(tinyMCE.isOpera){this.contentDocument=this.iframeElement.contentDocument;this.contentWindow=this.iframeElement.contentWindow;dynamicIFrame=true;}else{this.contentDocument=tElm.window.document;this.contentWindow=tElm.window;}this.getDoc().designMode="on";}var doc=this.contentDocument;if(dynamicIFrame){var html=tinyMCE.getParam('doctype')+'<html><head xmlns="http://www.w3.org/1999/xhtml"><base href="'+tinyMCE.settings['base_href']+'" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';try{if(!this.isHidden())this.getDoc().designMode="on";doc.open();doc.write(html);doc.close();}catch(e){this.getDoc().location.href=tinyMCE.baseURL+"/blank.htm";}}if(tinyMCE.isMSIE)window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\""+this.editorId+"\"]);",1);tinyMCE.setupContent(this.editorId,true);return true;},setBaseHREF:function(u){var h,b,d,nl;d=this.getDoc();nl=d.getElementsByTagName("base");b=nl.length>0?nl[0]:null;if(!b){nl=d.getElementsByTagName("head");h=nl.length>0?nl[0]:null;b=d.createElement("base");b.setAttribute('href',u);h.appendChild(b);}else{if(u==""||u==null)b.parentNode.removeChild(b);else b.setAttribute('href',u);}},getFocusElement:function(){return this.selection.getFocusElement();},getSel:function(){return this.selection.getSel();},getRng:function(){return this.selection.getRng();},triggerSave:function(skip_cleanup,skip_callback){var e,nl=new Array(),i,s;this.switchSettings();s=tinyMCE.settings;if(tinyMCE.isMSIE&&!tinyMCE.isOpera){e=this.iframeElement;do{if(e.style&&e.style.display=='none'){e.style.display='block';nl[nl.length]={elm:e,type:'style'};}if(e.style&&s.hidden_tab_class.length>0&&e.className.indexOf(s.hidden_tab_class)!=-1){e.className=s.display_tab_class;nl[nl.length]={elm:e,type:'class'};}}while((e=e.parentNode)!=null)}tinyMCE.settings['preformatted']=false;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;tinyMCE._setHTML(this.getDoc(),this.getBody().innerHTML);if(this.settings['cleanup']==false){tinyMCE.handleVisualAid(this.getBody(),true,false,this);tinyMCE._setEventsEnabled(this.getBody(),true);}tinyMCE._customCleanup(this,"submit_content_dom",this.contentWindow.document.body);var htm=skip_cleanup?this.getBody().innerHTML:tinyMCE._cleanupHTML(this,this.getDoc(),this.settings,this.getBody(),tinyMCE.visualAid,true,true);htm=tinyMCE._customCleanup(this,"submit_content",htm);if(!skip_callback&&tinyMCE.settings['save_callback']!="")var content=eval(tinyMCE.settings['save_callback']+"(this.formTargetElementId,htm,this.getBody());");if((typeof(content)!="undefined")&&content!=null)htm=content;htm=tinyMCE.regexpReplace(htm,"&#40;","(","gi");htm=tinyMCE.regexpReplace(htm,"&#41;",")","gi");htm=tinyMCE.regexpReplace(htm,"&#59;",";","gi");htm=tinyMCE.regexpReplace(htm,"&#34;","&quot;","gi");htm=tinyMCE.regexpReplace(htm,"&#94;","^","gi");if(this.formElement)this.formElement.value=htm;if(tinyMCE.isSafari&&this.formElement)this.formElement.innerText=htm;for(i=0;i<nl.length;i++){if(nl[i].type=='style')nl[i].elm.style.display='none';else nl[i].elm.className=s.hidden_tab_class;}}};TinyMCE_Engine.prototype.cleanupHTMLCode=function(s){s=s.replace(new RegExp('<p \\/>','gi'),'<p>&nbsp;</p>');s=s.replace(new RegExp('<p>\\s*<\\/p>','gi'),'<p>&nbsp;</p>');s=s.replace(new RegExp('<br>\\s*<\\/br>','gi'),'<br />');s=s.replace(new RegExp('<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>','gi'),'<$1$2$3></$1$2>');s=s.replace(new RegExp('\\s+></','gi'),'></');s=s.replace(new RegExp('<(img|br|hr)([^>]*)><\\/(img|br|hr)>','gi'),'<$1$2 />');if(tinyMCE.isMSIE)s=s.replace(new RegExp('<p><hr \\/><\\/p>','gi'),"<hr>");if(tinyMCE.getParam('convert_urls'))s=s.replace(new RegExp('(href=\"{0,1})(\\s*#)','gi'),'$1'+tinyMCE.settings['document_base_url']+"#");return s;};TinyMCE_Engine.prototype.parseStyle=function(str){var ar=new Array();if(str==null)return ar;var st=str.split(';');tinyMCE.clearArray(ar);for(var i=0;i<st.length;i++){if(st[i]=='')continue;var re=new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');var pa=st[i].replace(re,'$1||$2').split('||');if(pa.length==2)ar[pa[0].toLowerCase()]=pa[1];}return ar;};TinyMCE_Engine.prototype.compressStyle=function(ar,pr,sf,res){var box=new Array();box[0]=ar[pr+'-top'+sf];box[1]=ar[pr+'-left'+sf];box[2]=ar[pr+'-right'+sf];box[3]=ar[pr+'-bottom'+sf];for(var i=0;i<box.length;i++){if(box[i]==null)return;for(var a=0;a<box.length;a++){if(box[a]!=box[i])return;}}ar[res]=box[0];ar[pr+'-top'+sf]=null;ar[pr+'-left'+sf]=null;ar[pr+'-right'+sf]=null;ar[pr+'-bottom'+sf]=null;};TinyMCE_Engine.prototype.serializeStyle=function(ar){var str="";tinyMCE.compressStyle(ar,"border","","border");tinyMCE.compressStyle(ar,"border","-width","border-width");tinyMCE.compressStyle(ar,"border","-color","border-color");tinyMCE.compressStyle(ar,"border","-style","border-style");tinyMCE.compressStyle(ar,"padding","","padding");tinyMCE.compressStyle(ar,"margin","","margin");for(var key in ar){var val=ar[key];if(typeof(val)=='function')continue;if(key.indexOf('mso-')==0)continue;if(val!=null&&val!=''){val=''+val;val=val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)",'gi'),"url('$1')");if(val.indexOf('url(')!=-1&&tinyMCE.getParam('convert_urls')){var m=new RegExp("url\\('(.*?)'\\)").exec(val);if(m.length>1)val="url('"+eval(tinyMCE.getParam('urlconverter_callback')+"(m[1], null, true);")+"')";}if(tinyMCE.getParam("force_hex_style_colors"))val=tinyMCE.convertRGBToHex(val,true);if(val!="url('')")str+=key.toLowerCase()+": "+val+"; ";}}if(new RegExp('; $').test(str))str=str.substring(0,str.length-2);return str;};TinyMCE_Engine.prototype.convertRGBToHex=function(s,k){if(s.toLowerCase().indexOf('rgb')!=-1){var re=new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)","gi");var rgb=s.replace(re,"$1,$2,$3,$4,$5").split(',');if(rgb.length==5){r=parseInt(rgb[1]).toString(16);g=parseInt(rgb[2]).toString(16);b=parseInt(rgb[3]).toString(16);r=r.length==1?'0'+r:r;g=g.length==1?'0'+g:g;b=b.length==1?'0'+b:b;s="#"+r+g+b;if(k)s=rgb[0]+s+rgb[4];}}return s;};TinyMCE_Engine.prototype.convertHexToRGB=function(s){if(s.indexOf('#')!=-1){s=s.replace(new RegExp('[^0-9A-F]','gi'),'');return"rgb("+parseInt(s.substring(0,2),16)+","+parseInt(s.substring(2,4),16)+","+parseInt(s.substring(4,6),16)+")";}return s;};TinyMCE_Engine.prototype.convertSpansToFonts=function(doc){var sizes=tinyMCE.getParam('font_size_style_values').replace(/\s+/,'').split(',');var h=doc.body.innerHTML;h=h.replace(/<span/gi,'<font');h=h.replace(/<\/span/gi,'</font');doc.body.innerHTML=h;var s=doc.getElementsByTagName("font");for(var i=0;i<s.length;i++){var size=tinyMCE.trim(s[i].style.fontSize).toLowerCase();var fSize=0;for(var x=0;x<sizes.length;x++){if(sizes[x]==size){fSize=x+1;break;}}if(fSize>0){tinyMCE.setAttrib(s[i],'size',fSize);s[i].style.fontSize='';}var fFace=s[i].style.fontFamily;if(fFace!=null&&fFace!=""){tinyMCE.setAttrib(s[i],'face',fFace);s[i].style.fontFamily='';}var fColor=s[i].style.color;if(fColor!=null&&fColor!=""){tinyMCE.setAttrib(s[i],'color',tinyMCE.convertRGBToHex(fColor));s[i].style.color='';}}};TinyMCE_Engine.prototype.convertFontsToSpans=function(doc){var sizes=tinyMCE.getParam('font_size_style_values').replace(/\s+/,'').split(',');var h=doc.body.innerHTML;h=h.replace(/<font/gi,'<span');h=h.replace(/<\/font/gi,'</span');doc.body.innerHTML=h;var fsClasses=tinyMCE.getParam('font_size_classes');if(fsClasses!='')fsClasses=fsClasses.replace(/\s+/,'').split(',');else fsClasses=null;var s=doc.getElementsByTagName("span");for(var i=0;i<s.length;i++){var fSize,fFace,fColor;fSize=tinyMCE.getAttrib(s[i],'size');fFace=tinyMCE.getAttrib(s[i],'face');fColor=tinyMCE.getAttrib(s[i],'color');if(fSize!=""){fSize=parseInt(fSize);if(fSize>0&&fSize<8){if(fsClasses!=null)tinyMCE.setAttrib(s[i],'class',fsClasses[fSize-1]);else s[i].style.fontSize=sizes[fSize-1];}s[i].removeAttribute('size');}if(fFace!=""){s[i].style.fontFamily=fFace;s[i].removeAttribute('face');}if(fColor!=""){s[i].style.color=fColor;s[i].removeAttribute('color');}}};TinyMCE_Engine.prototype.cleanupAnchors=function(doc){var i,cn,x,an=doc.getElementsByTagName("a");for(i=an.length-1;i>=0;i--){if(tinyMCE.getAttrib(an[i],"name")!=""&&tinyMCE.getAttrib(an[i],"href")==""){cn=an[i].childNodes;for(x=cn.length-1;x>=0;x--)tinyMCE.insertAfter(cn[x],an[i]);}}};TinyMCE_Engine.prototype.getContent=function(editor_id){var h;if(typeof(editor_id)!="undefined")tinyMCE.selectedInstance=tinyMCE.getInstanceById(editor_id);if(tinyMCE.selectedInstance){h=tinyMCE._cleanupHTML(this.selectedInstance,this.selectedInstance.getDoc(),tinyMCE.settings,this.selectedInstance.getBody(),false,true);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(this.selectedInstance.getDoc());return h;}return null;};TinyMCE_Engine.prototype._fixListElements=function(d){var nl,x,a=['ol','ul'],i,n,p,r=new RegExp('^(OL|UL)$'),np;for(x=0;x<a.length;x++){nl=d.getElementsByTagName(a[x]);for(i=0;i<nl.length;i++){n=nl[i];p=n.parentNode;if(r.test(p.nodeName)){np=tinyMCE.prevNode(n,'LI');if(!np){np=d.createElement('li');np.innerHTML='&nbsp;';np.appendChild(n);p.insertBefore(np,p.firstChild);}else np.appendChild(n);}}}};TinyMCE_Engine.prototype._fixTables=function(d){var nl,i,n,p,np,x,t;nl=d.getElementsByTagName('table');for(i=0;i<nl.length;i++){n=nl[i];if((p=tinyMCE.getParentElement(n,'p,div,h1,h2,h3,h4,h5,h6'))!=null){np=p.cloneNode(false);np.removeAttribute('id');t=n;while((n=n.nextSibling))np.appendChild(n);tinyMCE.insertAfter(np,p);tinyMCE.insertAfter(t,p);}}};TinyMCE_Engine.prototype._cleanupHTML=function(inst,doc,config,elm,visual,on_save,on_submit){var h,d,t1,t2,t3,t4,t5,c,s;if(!tinyMCE.getParam('cleanup'))return elm.innerHTML;on_save=typeof(on_save)=='undefined'?false:on_save;c=inst.cleanup;s=inst.settings;d=c.settings.debug;if(d)t1=new Date().getTime();if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertFontsToSpans(doc);if(tinyMCE.getParam("fix_list_elements"))tinyMCE._fixListElements(doc);if(tinyMCE.getParam("fix_table_elements"))tinyMCE._fixTables(doc);tinyMCE._customCleanup(inst,on_save?"get_from_editor_dom":"insert_to_editor_dom",doc.body);if(d)t2=new Date().getTime();c.settings.on_save=on_save;c.idCount=0;c.serializationId++;c.serializedNodes=new Array();c.sourceIndex=-1;if(s.cleanup_serializer=="xml")h=c.serializeNodeAsXML(elm);else h=c.serializeNodeAsHTML(elm);if(d)t3=new Date().getTime();h=h.replace(/<\/?(body|head|html)[^>]*>/gi,'');h=h.replace(new RegExp(' (rowspan="1"|colspan="1")','g'),'');h=h.replace(/<p><hr \/><\/p>/g,'<hr />');h=h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g,'<hr />');h=h.replace(/<td>\s*<br \/>\s*<\/td>/g,'<td>&nbsp;</td>');h=h.replace(/<p>\s*<br \/>\s*<\/p>/g,'<p>&nbsp;</p>');h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g,'<p>&nbsp;</p>');h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g,'<p>&nbsp;</p>');h=h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g,'<p>&nbsp;</p>');h=h.replace(new RegExp('<a>(.*?)<\\/a>','g'),'$1');h=h.replace(/<p([^>]*)>\s*<\/p>/g,'<p$1>&nbsp;</p>');if(/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))h='';if(s.preformatted){h=h.replace(/^<pre>/,'');h=h.replace(/<\/pre>$/,'');h='<pre>'+h+'</pre>';}if(tinyMCE.isGecko){h=h.replace(/<o:p _moz-userdefined="" \/>/g,'');h=h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g,'<td$1>&nbsp;</td>');}if(s.force_br_newlines)h=h.replace(/<p>(&nbsp;|&#160;)<\/p>/g,'<br />');h=tinyMCE._customCleanup(inst,on_save?"get_from_editor":"insert_to_editor",h);if(on_save){h=h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|'+s.visual_table_class+')','g'),'');h=h.replace(new RegExp(' ?class=""','g'),'');}if(s.remove_linebreaks&&!c.settings.indent)h=h.replace(/\n|\r/g,' ');if(d)t4=new Date().getTime();if(on_save&&c.settings.indent)h=c.formatHTML(h);if(on_submit&&(s.encoding=="xml"||s.encoding=="html"))h=c.xmlEncode(h);if(d)t5=new Date().getTime();if(c.settings.debug)tinyMCE.debug("Cleanup in ms: Pre="+(t2-t1)+", Serialize: "+(t3-t2)+", Post: "+(t4-t3)+", Format: "+(t5-t4)+", Sum: "+(t5-t1)+".");return h;};function TinyMCE_Cleanup(){this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.rules=tinyMCE.clearArray(new Array());this.settings={indent_elements:'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',newline_before_elements:'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td',newline_after_elements:'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',newline_before_after_elements:'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div',indent_char:'\t',indent_levels:1,entity_encoding:'raw',valid_elements:'*[*]',entities:'',url_converter:'',invalid_elements:'',verify_html:false};this.vElements=tinyMCE.clearArray(new Array());this.vElementsRe='';this.closeElementsRe=/^(IMG|BR|HR|LINK|META|BASE|INPUT|BUTTON|AREA)$/;this.codeElementsRe=/^(SCRIPT|STYLE)$/;this.serializationId=0;this.mceAttribs={href:'mce_href',src:'mce_src',type:'mce_type'};}TinyMCE_Cleanup.prototype={init:function(s){var n,a,i,ir,or,st;for(n in s)this.settings[n]=s[n];s=this.settings;this.inRe=this._arrayToRe(s.indent_elements.split(','),'','^<(',')[^>]*');this.ouRe=this._arrayToRe(s.indent_elements.split(','),'','^<\\/(',')[^>]*');this.nlBeforeRe=this._arrayToRe(s.newline_before_elements.split(','),'gi','<(',')([^>]*)>');this.nlAfterRe=this._arrayToRe(s.newline_after_elements.split(','),'gi','<(',')([^>]*)>');this.nlBeforeAfterRe=this._arrayToRe(s.newline_before_after_elements.split(','),'gi','<(\\/?)(',')([^>]*)>');if(s.invalid_elements!='')this.iveRe=this._arrayToRe(s.invalid_elements.toUpperCase().split(','),'g','^(',')$');else this.iveRe=null;st='';for(i=0;i<s.indent_levels;i++)st+=s.indent_char;this.inStr=st;if(!s.verify_html){s.valid_elements='*[*]';s.extended_valid_elements='';}this.fillStr=s.entity_encoding=="named"?"&nbsp;":"&#160;";this.idCount=0;},addRuleStr:function(s){var r=this.parseRuleStr(s);var n;for(n in r){if(r[n])this.rules[n]=r[n];}this.vElements=tinyMCE.clearArray(new Array());for(n in this.rules){if(this.rules[n])this.vElements[this.vElements.length]=this.rules[n].tag;}this.vElementsRe=this._arrayToRe(this.vElements,'');},parseRuleStr:function(s){var ta,p,r,a,i,x,px,t,tn,y,av,or=tinyMCE.clearArray(new Array()),dv;if(s==null||s.length==0)return or;ta=s.split(',');for(x=0;x<ta.length;x++){s=ta[x];if(s.length==0)continue;p=this.split(/\[|\]/,s);if(p==null||p.length<1)t=s.toUpperCase();else t=p[0].toUpperCase();tn=this.split('/',t);for(y=0;y<tn.length;y++){r={};r.tag=tn[y];r.forceAttribs=null;r.defaultAttribs=null;r.validAttribValues=null;px=r.tag.charAt(0);r.forceOpen=px=='+';r.removeEmpty=px=='-';r.fill=px=='#';r.tag=r.tag.replace(/\+|-|#/g,'');r.oTagName=tn[0].replace(/\+|-|#/g,'').toLowerCase();r.isWild=new RegExp('\\*|\\?|\\+','g').test(r.tag);r.validRe=new RegExp(this._wildcardToRe('^'+r.tag+'$'));if(p.length>1){r.vAttribsRe='^(';a=this.split(/\|/,p[1]);for(i=0;i<a.length;i++){t=a[i];av=new RegExp('(=|:|<)(.*?)$').exec(t);t=t.replace(new RegExp('(=|:|<).*?$'),'');if(av&&av.length>0){if(av[0].charAt(0)==':'){if(!r.forceAttribs)r.forceAttribs=tinyMCE.clearArray(new Array());r.forceAttribs[t.toLowerCase()]=av[0].substring(1);}else if(av[0].charAt(0)=='='){if(!r.defaultAttribs)r.defaultAttribs=tinyMCE.clearArray(new Array());dv=av[0].substring(1);r.defaultAttribs[t.toLowerCase()]=dv==""?"mce_empty":dv;}else if(av[0].charAt(0)=='<'){if(!r.validAttribValues)r.validAttribValues=tinyMCE.clearArray(new Array());r.validAttribValues[t.toLowerCase()]=this._arrayToRe(this.split('?',av[0].substring(1)),'');}}r.vAttribsRe+=''+t.toLowerCase()+(i!=a.length-1?'|':'');a[i]=t.toLowerCase();}r.vAttribsRe+=')$';r.vAttribsRe=this._wildcardToRe(r.vAttribsRe);r.vAttribsReIsWild=new RegExp('\\*|\\?|\\+','g').test(r.vAttribsRe);r.vAttribsRe=new RegExp(r.vAttribsRe);r.vAttribs=a.reverse();}else{r.vAttribsRe='';r.vAttribs=tinyMCE.clearArray(new Array());r.vAttribsReIsWild=false;}or[r.tag]=r;}}return or;},serializeNodeAsXML:function(n){var s,b;if(!this.xmlDoc){if(this.isMSIE){try{this.xmlDoc=new ActiveXObject('MSXML2.DOMDocument');}catch(e){}if(!this.xmlDoc)try{this.xmlDoc=new ActiveXObject('Microsoft.XmlDom');}catch(e){}}else this.xmlDoc=document.implementation.createDocument('','',null);if(!this.xmlDoc)alert("Error XML Parser could not be found.");}if(this.xmlDoc.firstChild)this.xmlDoc.removeChild(this.xmlDoc.firstChild);b=this.xmlDoc.createElement("html");b=this.xmlDoc.appendChild(b);this._convertToXML(n,b);if(this.isMSIE)return this.xmlDoc.xml;else return new XMLSerializer().serializeToString(this.xmlDoc);},_convertToXML:function(n,xn){var xd,el,i,l,cn,at,no,hc=false;if(this._isDuplicate(n))return;xd=this.xmlDoc;switch(n.nodeType){case 1:hc=n.hasChildNodes();el=xd.createElement(n.nodeName.toLowerCase());at=n.attributes;for(i=at.length-1;i>-1;i--){no=at[i];if(no.specified&&no.nodeValue)el.setAttribute(no.nodeName.toLowerCase(),no.nodeValue);}if(!hc&&!this.closeElementsRe.test(n.nodeName))el.appendChild(xd.createTextNode(""));xn=xn.appendChild(el);break;case 3:xn.appendChild(xd.createTextNode(n.nodeValue));return;case 8:xn.appendChild(xd.createComment(n.nodeValue));return;}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i<l;i++)this._convertToXML(cn[i],xn);}},serializeNodeAsHTML:function(n){var en,no,h='',i,l,r,cn,va=false,f=false,at,hc;this._setupRules();if(this._isDuplicate(n))return'';switch(n.nodeType){case 1:hc=n.hasChildNodes();if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&n.nodeName.indexOf('/')!=-1)break;if(this.vElementsRe.test(n.nodeName)&&(!this.iveRe||!this.iveRe.test(n.nodeName))){va=true;r=this.rules[n.nodeName];if(!r){at=this.rules;for(no in at){if(at[no]&&at[no].validRe.test(n.nodeName)){r=at[no];break;}}}en=r.isWild?n.nodeName.toLowerCase():r.oTagName;f=r.fill;if(r.removeEmpty&&!hc)return"";h+='<'+en;if(r.vAttribsReIsWild){at=n.attributes;for(i=at.length-1;i>-1;i--){no=at[i];if(no.specified&&r.vAttribsRe.test(no.nodeName))h+=this._serializeAttribute(n,r,no.nodeName);}}else{for(i=r.vAttribs.length-1;i>-1;i--)h+=this._serializeAttribute(n,r,r.vAttribs[i]);}if(!this.settings.on_save){at=this.mceAttribs;for(no in at){if(at[no])h+=this._serializeAttribute(n,r,at[no]);}}if(this.closeElementsRe.test(n.nodeName))return h+' />';h+='>';if(this.isMSIE&&this.codeElementsRe.test(n.nodeName))h+=n.innerHTML;}break;case 3:if(n.parentNode&&this.codeElementsRe.test(n.parentNode.nodeName))return this.isMSIE?'':n.nodeValue;return this.xmlEncode(n.nodeValue);case 8:return"<!--"+this._trimComment(n.nodeValue)+"-->";}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i<l;i++)h+=this.serializeNodeAsHTML(cn[i]);}if(f&&!hc)h+=this.fillStr;if(va)h+='</'+en+'>';return h;},_serializeAttribute:function(n,r,an){var av='',t,os=this.settings.on_save;if(os&&(an.indexOf('mce_')==0||an.indexOf('_moz')==0))return'';if(os&&this.mceAttribs[an])av=this._getAttrib(n,this.mceAttribs[an]);if(av.length==0)av=this._getAttrib(n,an);if(av.length==0&&r.defaultAttribs&&(t=r.defaultAttribs[an])){av=t;if(av=="mce_empty")return" "+an+'=""';}if(r.forceAttribs&&(t=r.forceAttribs[an]))av=t;if(os&&av.length!=0&&this.settings.url_converter.length!=0&&/^(src|href|longdesc)$/.test(an))av=eval(this.settings.url_converter+'(this, n, av)');if(av.length!=0&&r.validAttribValues&&r.validAttribValues[an]&&!r.validAttribValues[an].test(av))return"";if(av.length!=0&&av=="{$uid}")av="uid_"+(this.idCount++);if(av.length!=0)return" "+an+"="+'"'+this.xmlEncode(av)+'"';return"";},formatHTML:function(h){var s=this.settings,p='',i=0,li=0,o='',l;h=h.replace(/\r/g,'');h='\n'+h;h=h.replace(new RegExp('\\n\\s+','gi'),'\n');h=h.replace(this.nlBeforeRe,'\n<$1$2>');h=h.replace(this.nlAfterRe,'<$1$2>\n');h=h.replace(this.nlBeforeAfterRe,'\n<$1$2$3>\n');h+='\n';while((i=h.indexOf('\n',i+1))!=-1){if((l=h.substring(li+1,i)).length!=0){if(this.ouRe.test(l)&&p.length>=s.indent_levels)p=p.substring(s.indent_levels);o+=p+l+'\n';if(this.inRe.test(l))p+=this.inStr;}li=i;}return o;},xmlEncode:function(s){var i,l,e,o='',c;this._setupEntities();switch(this.settings.entity_encoding){case"raw":return tinyMCE.xmlEncode(s);case"named":for(i=0,l=s.length;i<l;i++){c=s.charCodeAt(i);e=this.entities[c];if(e&&e!='')o+='&'+e+';';else o+=String.fromCharCode(c);}return o;case"numeric":for(i=0,l=s.length;i<l;i++){c=s.charCodeAt(i);if(c>127||c==60||c==62||c==38||c==39||c==34)o+='&#'+c+";";else o+=String.fromCharCode(c);}return o;}return s;},split:function(re,s){var c=s.split(re);var i,l,o=new Array();for(i=0,l=c.length;i<l;i++){if(c[i]!='')o[i]=c[i];}return o;},_trimComment:function(s){s=s.replace(new RegExp('\\smce_src=\"[^\"]*\"','gi'),"");s=s.replace(new RegExp('\\smce_href=\"[^\"]*\"','gi'),"");return s;},_getAttrib:function(e,n,d){if(typeof(d)=="undefined")d="";if(!e||e.nodeType!=1)return d;var v=e.getAttribute(n,0);if(n=="class"&&!v)v=e.className;if(this.isMSIE&&n=="http-equiv")v=e.httpEquiv;if(this.isMSIE&&e.nodeName=="FORM"&&n=="enctype"&&v=="application/x-www-form-urlencoded")v="";if(this.isMSIE&&e.nodeName=="INPUT"&&n=="size"&&v=="20")v="";if(this.isMSIE&&e.nodeName=="INPUT"&&n=="maxlength"&&v=="2147483647")v="";if(n=="style"&&!tinyMCE.isOpera)v=e.style.cssText;if(n=='style')v=tinyMCE.serializeStyle(tinyMCE.parseStyle(v));if(this.settings.on_save&&n.indexOf('on')!=-1&&this.settings.on_save&&v&&v!="")v=tinyMCE.cleanupEventStr(v);return(v&&v!="")?''+v:d;},_urlConverter:function(c,n,v){if(!c.settings.on_save)return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,v);else if(tinyMCE.getParam('convert_urls'))return eval(tinyMCE.settings.urlconverter_callback+"(v, n, true);");return v;},_arrayToRe:function(a,op,be,af){var i,r;op=typeof(op)=="undefined"?"gi":op;be=typeof(be)=="undefined"?"^(":be;af=typeof(af)=="undefined"?")$":af;r=be;for(i=0;i<a.length;i++)r+=this._wildcardToRe(a[i])+(i!=a.length-1?"|":"");r+=af;return new RegExp(r,op);},_wildcardToRe:function(s){s=s.replace(/\?/g,'(\\S?)');s=s.replace(/\+/g,'(\\S+)');s=s.replace(/\*/g,'(\\S*)');return s;},_setupEntities:function(){var n,a,i,s=this.settings;if(!this.entitiesDone){if(s.entity_encoding=="named"){n=tinyMCE.clearArray(new Array());a=this.split(',',s.entities);for(i=0;i<a.length;i+=2)n[a[i]]=a[i+1];this.entities=n;}this.entitiesDone=true;}},_setupRules:function(){var s=this.settings;if(!this.rulesDone){this.addRuleStr(s.valid_elements);this.addRuleStr(s.extended_valid_elements);this.rulesDone=true;}},_isDuplicate:function(n){var i;if(!this.settings.fix_content_duplication)return false;if(tinyMCE.isMSIE&&!tinyMCE.isOpera&&n.nodeType==1){if(n.mce_serialized==this.serializationId)return true;n.setAttribute('mce_serialized',this.serializationId);}else{for(i=0;i<this.serializedNodes.length;i++){if(this.serializedNodes[i]==n)return true;}this.serializedNodes[this.serializedNodes.length]=n;}return false;}};TinyMCE_Engine.prototype.getElementByAttributeValue=function(n,e,a,v){return(n=this.getElementsByAttributeValue(n,e,a,v)).length==0?null:n[0];};TinyMCE_Engine.prototype.getElementsByAttributeValue=function(n,e,a,v){var i,nl=n.getElementsByTagName(e),o=new Array();for(i=0;i<nl.length;i++){if(tinyMCE.getAttrib(nl[i],a).indexOf(v)!=-1)o[o.length]=nl[i];}return o;};TinyMCE_Engine.prototype.isBlockElement=function(n){return n!=null&&n.nodeType==1&&this.blockRegExp.test(n.nodeName);};TinyMCE_Engine.prototype.getParentBlockElement=function(n){while(n){if(this.isBlockElement(n))return n;n=n.parentNode;}return null;};TinyMCE_Engine.prototype.insertAfter=function(n,r){if(r.nextSibling)r.parentNode.insertBefore(n,r.nextSibling);else r.parentNode.appendChild(n);};TinyMCE_Engine.prototype.setInnerHTML=function(e,h){var i,nl,n;if(tinyMCE.isMSIE&&!tinyMCE.isOpera){h=h.replace(/\s\/>/g,'>');h=h.replace(/<p([^>]*)>\u00A0?<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');h=h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');h=h.replace(/<p([^>]*)>\s+<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');e.innerHTML=tinyMCE.uniqueTag+h;e.firstChild.removeNode(true);nl=e.getElementsByTagName("p");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.nodeName=='P'&&!n.hasChildNodes()&&!n.mce_keep)n.parentNode.removeChild(n);}}else{h=this.fixGeckoBaseHREFBug(1,e,h);e.innerHTML=h;this.fixGeckoBaseHREFBug(2,e,h);}};TinyMCE_Engine.prototype.getOuterHTML=function(e){if(tinyMCE.isMSIE)return e.outerHTML;var d=e.ownerDocument.createElement("body");d.appendChild(e);return d.innerHTML;};TinyMCE_Engine.prototype.setOuterHTML=function(e,h){if(tinyMCE.isMSIE){e.outerHTML=h;return;}var d=e.ownerDocument.createElement("body");d.innerHTML=h;e.parentNode.replaceChild(d.firstChild,e);};TinyMCE_Engine.prototype._getElementById=function(id,d){var e,i,j,f;if(typeof(d)=="undefined")d=document;e=d.getElementById(id);if(!e){f=d.forms;for(i=0;i<f.length;i++){for(j=0;j<f[i].elements.length;j++){if(f[i].elements[j].name==id){e=f[i].elements[j];break;}}}}return e;};TinyMCE_Engine.prototype.getNodeTree=function(n,na,t,nn){var i;if(typeof(t)=="undefined"||n.nodeType==t&&(typeof(nn)=="undefined"||n.nodeName==nn))na[na.length]=n;if(n.hasChildNodes()){for(i=0;i<n.childNodes.length;i++)tinyMCE.getNodeTree(n.childNodes[i],na,t,nn);}return na;};TinyMCE_Engine.prototype.getParentElement=function(node,names,attrib_name,attrib_value){if(typeof(names)=="undefined"){if(node.nodeType==1)return node;while((node=node.parentNode)!=null&&node.nodeType!=1);return node;}if(node==null)return null;var namesAr=names.toUpperCase().split(',');do{for(var i=0;i<namesAr.length;i++){if(node.nodeName==namesAr[i]||names=="*"){if(typeof(attrib_name)=="undefined")return node;else if(node.getAttribute(attrib_name)){if(typeof(attrib_value)=="undefined"){if(node.getAttribute(attrib_name)!="")return node;}else if(node.getAttribute(attrib_name)==attrib_value)return node;}}}}while((node=node.parentNode)!=null);return null;};TinyMCE_Engine.prototype.getParentNode=function(n,f){while(n){if(f(n))return n;n=n.parentNode;}return null;};TinyMCE_Engine.prototype.getAttrib=function(elm,name,default_value){if(typeof(default_value)=="undefined")default_value="";if(!elm||elm.nodeType!=1)return default_value;var v=elm.getAttribute(name);if(name=="class"&&!v)v=elm.className;if(tinyMCE.isGecko&&name=="src"&&elm.src!=null&&elm.src!="")v=elm.src;if(tinyMCE.isGecko&&name=="href"&&elm.href!=null&&elm.href!="")v=elm.href;if(name=="http-equiv"&&tinyMCE.isMSIE)v=elm.httpEquiv;if(name=="style"&&!tinyMCE.isOpera)v=elm.style.cssText;return(v&&v!="")?v:default_value;};TinyMCE_Engine.prototype.setAttrib=function(element,name,value,fix_value){if(typeof(value)=="number"&&value!=null)value=""+value;if(fix_value){if(value==null)value="";var re=new RegExp('[^0-9%]','g');value=value.replace(re,'');}if(name=="style")element.style.cssText=value;if(name=="class")element.className=value;if(value!=null&&value!=""&&value!=-1)element.setAttribute(name,value);else element.removeAttribute(name);};TinyMCE_Engine.prototype.setStyleAttrib=function(elm,name,value){eval('elm.style.'+name+'=value;');if(tinyMCE.isMSIE&&value==null||value==''){var str=tinyMCE.serializeStyle(tinyMCE.parseStyle(elm.style.cssText));elm.style.cssText=str;elm.setAttribute("style",str);}};TinyMCE_Engine.prototype.switchClass=function(ei,c){var e;if(tinyMCE.switchClassCache[ei])e=tinyMCE.switchClassCache[ei];else e=tinyMCE.switchClassCache[ei]=document.getElementById(ei);if(e){if(tinyMCE.settings.button_tile_map&&e.className&&e.className.indexOf('mceTiledButton')==0)c='mceTiledButton '+c;e.className=c;}};TinyMCE_Engine.prototype.getAbsPosition=function(n){var p={absLeft:0,absTop:0};while(n){p.absLeft+=n.offsetLeft;p.absTop+=n.offsetTop;n=n.offsetParent;}return p;};TinyMCE_Engine.prototype.prevNode=function(e,n){var a=n.split(','),i;while((e=e.previousSibling)!=null){for(i=0;i<a.length;i++){if(e.nodeName==a[i])return e;}}return null;};TinyMCE_Engine.prototype.nextNode=function(e,n){var a=n.split(','),i;while((e=e.nextSibling)!=null){for(i=0;i<a.length;i++){if(e.nodeName==a[i])return e;}}return null;};TinyMCE_Engine.prototype.selectNodes=function(n,f,a){var i;if(!a)a=new Array();if(f(n))a[a.length]=n;if(n.hasChildNodes()){for(i=0;i<n.childNodes.length;i++)tinyMCE.selectNodes(n.childNodes[i],f,a);}return a;};TinyMCE_Engine.prototype.addCSSClass=function(e,c,b){var o=this.removeCSSClass(e,c);return e.className=b?c+(o!=''?(' '+o):''):(o!=''?(o+' '):'')+c;};TinyMCE_Engine.prototype.removeCSSClass=function(e,c){var a=this.explode(' ',e.className),i;for(i=0;i<a.length;i++){if(a[i]==c)a[i]='';}return e.className=a.join(' ');};TinyMCE_Engine.prototype.renameElement=function(e,n,d){var ne,i,ar;d=typeof(d)=="undefined"?tinyMCE.selectedInstance.getDoc():d;if(e){ne=d.createElement(n);ar=e.attributes;for(i=ar.length-1;i>-1;i--){if(ar[i].specified&&ar[i].nodeValue)ne.setAttribute(ar[i].nodeName.toLowerCase(),ar[i].nodeValue);}ar=e.childNodes;for(i=0;i<ar.length;i++)ne.appendChild(ar[i].cloneNode(true));e.parentNode.replaceChild(ne,e);}};TinyMCE_Engine.prototype.parseURL=function(url_str){var urlParts=new Array();if(url_str){var pos,lastPos;pos=url_str.indexOf('://');if(pos!=-1){urlParts['protocol']=url_str.substring(0,pos);lastPos=pos+3;}for(var i=lastPos;i<url_str.length;i++){var chr=url_str.charAt(i);if(chr==':')break;if(chr=='/')break;}pos=i;urlParts['host']=url_str.substring(lastPos,pos);urlParts['port']="";lastPos=pos;if(url_str.charAt(pos)==':'){pos=url_str.indexOf('/',lastPos);urlParts['port']=url_str.substring(lastPos+1,pos);}lastPos=pos;pos=url_str.indexOf('?',lastPos);if(pos==-1)pos=url_str.indexOf('#',lastPos);if(pos==-1)pos=url_str.length;urlParts['path']=url_str.substring(lastPos,pos);lastPos=pos;if(url_str.charAt(pos)=='?'){pos=url_str.indexOf('#');pos=(pos==-1)?url_str.length:pos;urlParts['query']=url_str.substring(lastPos+1,pos);}lastPos=pos;if(url_str.charAt(pos)=='#'){pos=url_str.length;urlParts['anchor']=url_str.substring(lastPos+1,pos);}}return urlParts;};TinyMCE_Engine.prototype.serializeURL=function(up){var o="";if(up['protocol'])o+=up['protocol']+"://";if(up['host'])o+=up['host'];if(up['port'])o+=":"+up['port'];if(up['path'])o+=up['path'];if(up['query'])o+="?"+up['query'];if(up['anchor'])o+="#"+up['anchor'];return o;};TinyMCE_Engine.prototype.convertAbsoluteURLToRelativeURL=function(base_url,url_to_relative){var baseURL=this.parseURL(base_url);var targetURL=this.parseURL(url_to_relative);var strTok1;var strTok2;var breakPoint=0;var outPath="";var forceSlash=false;if(targetURL.path=="")targetURL.path="/";else forceSlash=true;base_url=baseURL.path.substring(0,baseURL.path.lastIndexOf('/'));strTok1=base_url.split('/');strTok2=targetURL.path.split('/');if(strTok1.length>=strTok2.length){for(var i=0;i<strTok1.length;i++){if(i>=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(strTok1.length<strTok2.length){for(var i=0;i<strTok2.length;i++){if(i>=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(breakPoint==1)return targetURL.path;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outPath+="../";for(var i=breakPoint-1;i<strTok2.length;i++){if(i!=(breakPoint-1))outPath+="/"+strTok2[i];else outPath+=strTok2[i];}targetURL.protocol=null;targetURL.host=null;targetURL.port=null;targetURL.path=outPath==""&&forceSlash?"/":outPath;var fileName=baseURL.path;var pos;if((pos=fileName.lastIndexOf('/'))!=-1)fileName=fileName.substring(pos+1);if(fileName==targetURL.path&&targetURL.anchor!="")targetURL.path="";if(targetURL.path==""&&!targetURL.anchor)targetURL.path=fileName!=""?fileName:"/";return this.serializeURL(targetURL);};TinyMCE_Engine.prototype.convertRelativeToAbsoluteURL=function(base_url,relative_url){var baseURL=this.parseURL(base_url);var relURL=this.parseURL(relative_url);if(relative_url==""||relative_url.charAt(0)=='/'||relative_url.indexOf('://')!=-1||relative_url.indexOf('mailto:')!=-1||relative_url.indexOf('javascript:')!=-1)return relative_url;baseURLParts=baseURL['path'].split('/');relURLParts=relURL['path'].split('/');var newBaseURLParts=new Array();for(var i=baseURLParts.length-1;i>=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i];}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue;}if(numBack>0){numBack--;continue;}newRelURLParts[newRelURLParts.length]=relURLParts[i];}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";relURL.protocol=baseURL.protocol;relURL.host=baseURL.host;relURL.port=baseURL.port;if(relURL.path.charAt(relURL.path.length-1)=="/")absPath+="/";relURL.path=absPath;return this.serializeURL(relURL);};TinyMCE_Engine.prototype.convertURL=function(url,node,on_save){var prot=document.location.protocol;var host=document.location.hostname;var port=document.location.port;if(prot=="file:")return url;url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return url;if(!tinyMCE.isMSIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings['base_href']+url;if(on_save&&tinyMCE.getParam('relative_urls')){var curl=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(curl.charAt(0)=='/')curl=tinyMCE.settings['document_base_prefix']+curl;var urlParts=tinyMCE.parseURL(curl);var tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings['document_base_url']);if(urlParts['host']==tmpUrlParts['host']&&(urlParts['port']==tmpUrlParts['port']))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'],curl);}if(!tinyMCE.getParam('relative_urls')){var urlParts=tinyMCE.parseURL(url);var baseUrlParts=tinyMCE.parseURL(tinyMCE.settings['base_href']);url=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(urlParts['anchor']&&urlParts['path']==baseUrlParts['path'])return"#"+urlParts['anchor'];}if(tinyMCE.getParam('remove_script_host')){var start="",portPart="";if(port!="")portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1);}return url;};TinyMCE_Engine.prototype.convertAllRelativeURLs=function(body){var elms=body.getElementsByTagName("img");for(var i=0;i<elms.length;i++){var src=tinyMCE.getAttrib(elms[i],'src');var msrc=tinyMCE.getAttrib(elms[i],'mce_src');if(msrc!="")src=msrc;if(src!=""){src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);elms[i].setAttribute("src",src);}}var elms=body.getElementsByTagName("a");for(var i=0;i<elms.length;i++){var href=tinyMCE.getAttrib(elms[i],'href');var mhref=tinyMCE.getAttrib(elms[i],'mce_href');if(mhref!="")href=mhref;if(href&&href!=""){href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],href);elms[i].setAttribute("href",href);}}};TinyMCE_Engine.prototype.clearArray=function(a){for(var k in a)a[k]=null;return a;};TinyMCE_Engine.prototype._setEventsEnabled=function(node,state){var events=new Array('onfocus','onblur','onclick','ondblclick','onmousedown','onmouseup','onmouseover','onmousemove','onmouseout','onkeypress','onkeydown','onkeydown','onkeyup');var evs=tinyMCE.settings['event_elements'].split(',');for(var y=0;y<evs.length;y++){var elms=node.getElementsByTagName(evs[y]);for(var i=0;i<elms.length;i++){var event="";for(var x=0;x<events.length;x++){if((event=tinyMCE.getAttrib(elms[i],events[x]))!=''){event=tinyMCE.cleanupEventStr(""+event);if(!state)event="return true;"+event;else event=event.replace(/^return true;/gi,'');elms[i].removeAttribute(events[x]);elms[i].setAttribute(events[x],event);}}}}};TinyMCE_Engine.prototype._eventPatch=function(editor_id){var n,inst,win,e;if(typeof(tinyMCE)=="undefined")return true;try{if(tinyMCE.selectedInstance){win=tinyMCE.selectedInstance.getWin();if(win&&win.event){e=win.event;if(!e.target)e.target=e.srcElement;TinyMCE_Engine.prototype.handleEvent(e);return;}}for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;tinyMCE.selectedInstance=inst;win=inst.getWin();if(win&&win.event){e=win.event;if(!e.target)e.target=e.srcElement;TinyMCE_Engine.prototype.handleEvent(e);return;}}}catch(ex){}};TinyMCE_Engine.prototype.unloadHandler=function(){tinyMCE.triggerSave(true,true);};TinyMCE_Engine.prototype.addEventHandlers=function(inst){var doc=inst.getDoc();inst.switchSettings();if(tinyMCE.isMSIE){tinyMCE.addEvent(doc,"keypress",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc,"keyup",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc,"keydown",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc,"mouseup",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc,"mousedown",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc,"click",TinyMCE_Engine.prototype._eventPatch);}else{tinyMCE.addEvent(doc,"keypress",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"keydown",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"keyup",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"click",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"mouseup",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"mousedown",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"focus",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"blur",tinyMCE.handleEvent);eval('try { doc.designMode = "On"; } catch(e) {}');}};TinyMCE_Engine.prototype.onMouseMove=function(){var inst;if(!tinyMCE.hasMouseMoved){inst=tinyMCE.selectedInstance;if(inst.isFocused){inst.undoBookmark=inst.selection.getBookmark();tinyMCE.hasMouseMoved=true;}}};TinyMCE_Engine.prototype.cancelEvent=function(e){if(tinyMCE.isMSIE){e.returnValue=false;e.cancelBubble=true;}else e.preventDefault();};TinyMCE_Engine.prototype.addEvent=function(o,n,h){if(o.attachEvent)o.attachEvent("on"+n,h);else o.addEventListener(n,h,false);};TinyMCE_Engine.prototype.addSelectAccessibility=function(e,s,w){if(!s._isAccessible){s.onkeydown=tinyMCE.accessibleEventHandler;s.onblur=tinyMCE.accessibleEventHandler;s._isAccessible=true;s._win=w;}return false;};TinyMCE_Engine.prototype.accessibleEventHandler=function(e){var win=this._win;e=tinyMCE.isMSIE?win.event:e;var elm=tinyMCE.isMSIE?e.srcElement:e.target;if(e.type=="blur"){if(elm.oldonchange){elm.onchange=elm.oldonchange;elm.oldonchange=null;}return true;}if(elm.nodeName=="SELECT"&&!elm.oldonchange){elm.oldonchange=elm.onchange;elm.onchange=null;}if(e.keyCode==13||e.keyCode==32){elm.onchange=elm.oldonchange;elm.onchange();elm.oldonchange=null;tinyMCE.cancelEvent(e);return false;}return true;};TinyMCE_Engine.prototype._resetIframeHeight=function(){var ife;if(tinyMCE.isMSIE&&!tinyMCE.isOpera){ife=tinyMCE.selectedInstance.iframeElement;if(ife._oldHeight){ife.style.height=ife._oldHeight;ife.height=ife._oldHeight;}}};function TinyMCE_Selection(inst){this.instance=inst;};TinyMCE_Selection.prototype={getSelectedHTML:function(){var inst=this.instance;var e,r=this.getRng(),h;if(tinyMCE.isSafari){return r.toString();}e=document.createElement("body");if(tinyMCE.isGecko)e.appendChild(r.cloneContents());else e.innerHTML=r.item?r.item(0).outerHTML:r.htmlText;h=tinyMCE._cleanupHTML(inst,inst.contentDocument,inst.settings,e,e,false,true,false);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(inst.getDoc());return h;},getSelectedText:function(){var inst=this.instance;var d,r,s,t;if(tinyMCE.isMSIE){d=inst.getDoc();if(d.selection.type=="Text"){r=d.selection.createRange();t=r.text;}else t='';}else{s=this.getSel();if(s&&s.toString)t=s.toString();else t='';}return t;},getBookmark:function(simple){var rng=this.getRng();var doc=this.instance.getDoc();var sp,le,s,e,nl,i,si,ei;var trng,sx,sy,xx=-999999999;if(tinyMCE.isOpera)return null;sx=doc.body.scrollLeft+doc.documentElement.scrollLeft;sy=doc.body.scrollTop+doc.documentElement.scrollTop;if(tinyMCE.isSafari||tinyMCE.isGecko)return{rng:rng,scrollX:sx,scrollY:sy};if(tinyMCE.isMSIE){if(simple)return{rng:rng};if(rng.item){e=rng.item(0);nl=doc.getElementsByTagName(e.nodeName);for(i=0;i<nl.length;i++){if(e==nl[i]){sp=i;break;}}return{tag:e.nodeName,index:sp,scrollX:sx,scrollY:sy};}else{trng=rng.duplicate();trng.collapse(true);sp=Math.abs(trng.move('character',xx));trng=rng.duplicate();trng.collapse(false);le=Math.abs(trng.move('character',xx))-sp;return{start:sp,length:le,scrollX:sx,scrollY:sy};}}if(tinyMCE.isGecko){s=tinyMCE.getParentElement(rng.startContainer);for(si=0;si<s.childNodes.length&&s.childNodes[si]!=rng.startContainer;si++);nl=doc.getElementsByTagName(s.nodeName);for(i=0;i<nl.length;i++){if(s==nl[i]){sp=i;break;}}e=tinyMCE.getParentElement(rng.endContainer);for(ei=0;ei<e.childNodes.length&&e.childNodes[ei]!=rng.endContainer;ei++);nl=doc.getElementsByTagName(e.nodeName);for(i=0;i<nl.length;i++){if(e==nl[i]){le=i;break;}}return{startTag:s.nodeName,start:sp,startIndex:si,endTag:e.nodeName,end:le,endIndex:ei,startOffset:rng.startOffset,endOffset:rng.endOffset,scrollX:sx,scrollY:sy};}return null;},moveToBookmark:function(bookmark){var rng,nl,i;var inst=this.instance;var doc=inst.getDoc();var win=inst.getWin();var sel=this.getSel();if(!bookmark)return false;if(tinyMCE.isSafari){sel.setBaseAndExtent(bookmark.startContainer,bookmark.startOffset,bookmark.endContainer,bookmark.endOffset);return true;}if(tinyMCE.isMSIE){if(bookmark.rng){bookmark.rng.select();return true;}win.focus();if(bookmark.tag){rng=inst.getBody().createControlRange();nl=doc.getElementsByTagName(bookmark.tag);if(nl.length>bookmark.index){try{rng.addElement(nl[bookmark.index]);}catch(ex){}}}else{rng=inst.getSel().createRange();rng.moveToElementText(inst.getBody());rng.collapse(true);rng.moveStart('character',bookmark.start);rng.moveEnd('character',bookmark.length);}rng.select();win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true;}if(tinyMCE.isGecko&&bookmark.rng){sel.removeAllRanges();sel.addRange(bookmark.rng);win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true;}if(tinyMCE.isGecko){rng=doc.createRange();nl=doc.getElementsByTagName(bookmark.startTag);if(nl.length>bookmark.start)rng.setStart(nl[bookmark.start].childNodes[bookmark.startIndex],bookmark.startOffset);nl=doc.getElementsByTagName(bookmark.endTag);if(nl.length>bookmark.end)rng.setEnd(nl[bookmark.end].childNodes[bookmark.endIndex],bookmark.endOffset);sel.removeAllRanges();sel.addRange(rng);win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true;}return false;},selectNode:function(node,collapse,select_text_node,to_start){var inst=this.instance,sel,rng,nodes;if(!node)return;if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(typeof(to_start)=="undefined")to_start=true;if(tinyMCE.isMSIE){rng=inst.getBody().createTextRange();try{rng.moveToElementText(node);if(collapse)rng.collapse(to_start);rng.select();}catch(e){}}else{sel=this.getSel();if(!sel)return;if(tinyMCE.isSafari){sel.setBaseAndExtent(node,0,node,node.innerText.length);if(collapse){if(to_start)sel.collapseToStart();else sel.collapseToEnd();}this.scrollToNode(node);return;}rng=inst.getDoc().createRange();if(select_text_node){nodes=tinyMCE.getNodeTree(node,new Array(),3);if(nodes.length>0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node);}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length);}else rng.collapse(to_start);}sel.removeAllRanges();sel.addRange(rng);}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node;},scrollToNode:function(node){var inst=this.instance;var pos,doc,scrollX,scrollY,height;pos=tinyMCE.getAbsPosition(node);doc=inst.getDoc();scrollX=doc.body.scrollLeft+doc.documentElement.scrollLeft;scrollY=doc.body.scrollTop+doc.documentElement.scrollTop;height=tinyMCE.isMSIE?document.getElementById(inst.editorId).style.pixelHeight:inst.targetElement.clientHeight;if(!tinyMCE.settings['auto_resize']&&!(pos.absTop>scrollY&&pos.absTop<(scrollY-25+height)))inst.contentWindow.scrollTo(pos.absLeft,pos.absTop-height+25);},getSel:function(){var inst=this.instance;if(tinyMCE.isMSIE&&!tinyMCE.isOpera)return inst.getDoc().selection;return inst.contentWindow.getSelection();},getRng:function(){var inst=this.instance;var sel=this.getSel();if(sel==null)return null;if(tinyMCE.isMSIE&&!tinyMCE.isOpera)return sel.createRange();if(tinyMCE.isSafari&&!sel.getRangeAt)return''+window.getSelection();return sel.getRangeAt(0);},getFocusElement:function(){var inst=this.instance;if(tinyMCE.isMSIE&&!tinyMCE.isOpera){var doc=inst.getDoc();var rng=doc.selection.createRange();var elm=rng.item?rng.item(0):rng.parentElement();}else{if(inst.isHidden())return inst.getBody();var sel=this.getSel();var rng=this.getRng();if(!sel||!rng)return null;var elm=rng.commonAncestorContainer;if(!rng.collapsed){if(rng.startContainer==rng.endContainer){if(rng.startOffset-rng.endOffset<2){if(rng.startContainer.hasChildNodes())elm=rng.startContainer.childNodes[rng.startOffset];}}}elm=tinyMCE.getParentElement(elm);}return elm;}};function TinyMCE_UndoRedo(inst){this.instance=inst;this.undoLevels=new Array();this.undoIndex=0;this.typingUndoIndex=-1;this.undoRedo=true;};TinyMCE_UndoRedo.prototype={add:function(l){var b;if(l){this.undoLevels[this.undoLevels.length]=l;return true;}var inst=this.instance;if(this.typingUndoIndex!=-1){this.undoIndex=this.typingUndoIndex;}var newHTML=tinyMCE.trim(inst.getBody().innerHTML);if(this.undoLevels[this.undoIndex]&&newHTML!=this.undoLevels[this.undoIndex].content){tinyMCE.dispatchCallback(inst,'onchange_callback','onChange',inst);var customUndoLevels=tinyMCE.settings['custom_undo_redo_levels'];if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){for(var i=0;i<this.undoLevels.length-1;i++){this.undoLevels[i]=this.undoLevels[i+1];}this.undoLevels.length--;this.undoIndex--;}b=inst.undoBookmark;if(!b)b=inst.selection.getBookmark();this.undoIndex++;this.undoLevels[this.undoIndex]={content:newHTML,bookmark:b};this.undoLevels.length=this.undoIndex+1;return true;}return false;},undo:function(){var inst=this.instance;if(this.undoIndex>0){this.undoIndex--;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);}},redo:function(){var inst=this.instance;tinyMCE.execCommand("mceEndTyping");if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);}tinyMCE.triggerNodeChange();}};var TinyMCE_ForceParagraphs={_insertPara:function(inst,e){function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()=="";}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i<nodes.length;i++){if(!isEmptyHTML(nodes[i].nodeValue))return false;}return true;}var doc=inst.getDoc();var sel=inst.getSel();var win=inst.contentWindow;var rng=sel.getRangeAt(0);var body=doc.body;var rootElm=doc.documentElement;var blockName="P";var rngBefore=doc.createRange();rngBefore.setStart(sel.anchorNode,sel.anchorOffset);rngBefore.collapse(true);var rngAfter=doc.createRange();rngAfter.setStart(sel.focusNode,sel.focusOffset);rngAfter.collapse(true);var direct=rngBefore.compareBoundaryPoints(rngBefore.START_TO_END,rngAfter)<0;var startNode=direct?sel.anchorNode:sel.focusNode;var startOffset=direct?sel.anchorOffset:sel.focusOffset;var endNode=direct?sel.focusNode:sel.anchorNode;var endOffset=direct?sel.focusOffset:sel.anchorOffset;startNode=startNode.nodeName=="BODY"?startNode.firstChild:startNode;endNode=endNode.nodeName=="BODY"?endNode.firstChild:endNode;var startBlock=tinyMCE.getParentBlockElement(startNode);var endBlock=tinyMCE.getParentBlockElement(endNode);if(startBlock&&new RegExp('absolute|relative|static','gi').test(startBlock.style.position))startBlock=null;if(endBlock&&new RegExp('absolute|relative|static','gi').test(endBlock.style.position))endBlock=null;if(startBlock!=null){blockName=startBlock.nodeName;if(blockName=="TD"||blockName=="TABLE"||(blockName=="DIV"&&new RegExp('left|right','gi').test(startBlock.style.cssFloat)))blockName="P";}if(tinyMCE.getParentElement(startBlock,"OL,UL")!=null)return false;if((startBlock!=null&&startBlock.nodeName=="TABLE")||(endBlock!=null&&endBlock.nodeName=="TABLE"))startBlock=endBlock=null;var paraBefore=(startBlock!=null&&startBlock.nodeName==blockName)?startBlock.cloneNode(false):doc.createElement(blockName);var paraAfter=(endBlock!=null&&endBlock.nodeName==blockName)?endBlock.cloneNode(false):doc.createElement(blockName);if(/^(H[1-6])$/.test(blockName))paraAfter=doc.createElement("p");var startChop=startNode;var endChop=endNode;node=startChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;startChop=node;}while((node=node.previousSibling?node.previousSibling:node.parentNode));node=endChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;endChop=node;}while((node=node.nextSibling?node.nextSibling:node.parentNode));if(startChop.nodeName=="TD")startChop=startChop.firstChild;if(endChop.nodeName=="TD")endChop=endChop.lastChild;if(startBlock==null){rng.deleteContents();sel.removeAllRanges();if(startChop!=rootElm&&endChop!=rootElm){rngBefore=rng.cloneRange();if(startChop==body)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);paraBefore.appendChild(rngBefore.cloneContents());if(endChop.parentNode.nodeName==blockName)endChop=endChop.parentNode;rng.setEndAfter(endChop);if(endChop.nodeName!="#text"&&endChop.nodeName!="BODY")rngBefore.setEndAfter(endChop);var contents=rng.cloneContents();if(contents.firstChild&&(contents.firstChild.nodeName==blockName||contents.firstChild.nodeName=="BODY"))paraAfter.innerHTML=contents.firstChild.innerHTML;else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";rng.deleteContents();rngAfter.deleteContents();rngBefore.deleteContents();paraAfter.normalize();rngBefore.insertNode(paraAfter);paraBefore.normalize();rngBefore.insertNode(paraBefore);}else{body.innerHTML="<"+blockName+">&nbsp;</"+blockName+"><"+blockName+">&nbsp;</"+blockName+">";paraAfter=body.childNodes[1];}inst.selection.selectNode(paraAfter,true,true);return true;}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);var contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){paraAfter.innerHTML=contents.firstChild.innerHTML;}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";var rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){rng.setStartBefore(startChop.parentNode);}else{if(rngBefore.startContainer.nodeName.toUpperCase()==blockName&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset);}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName)rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();rng.insertNode(paraAfter);rng.insertNode(paraBefore);paraAfter.normalize();paraBefore.normalize();inst.selection.selectNode(paraAfter,true,true);return true;},_handleBackSpace:function(inst){var r=inst.getRng(),sn=r.startContainer,nv,s=false;if(sn&&sn.nextSibling&&sn.nextSibling.nodeName=="BR"){nv=sn.nodeValue;if(nv!=null&&nv.length>=r.startOffset&&nv.charAt(r.startOffset-1)==' ')s=true;if(nv!=null&&r.startOffset==nv.length)sn.nextSibling.parentNode.removeChild(sn.nextSibling);}return s;}};function TinyMCE_Layer(id,bm){this.id=id;this.blockerElement=null;this.events=false;this.element=null;this.blockMode=typeof(bm)!='undefined'?bm:true;this.doc=document;};TinyMCE_Layer.prototype={moveRelativeTo:function(re,p){var rep=this.getAbsPosition(re);var w=parseInt(re.offsetWidth);var h=parseInt(re.offsetHeight);var e=this.getElement();var ew=parseInt(e.offsetWidth);var eh=parseInt(e.offsetHeight);var x,y;switch(p){case"tl":x=rep.absLeft;y=rep.absTop;break;case"tr":x=rep.absLeft+w;y=rep.absTop;break;case"bl":x=rep.absLeft;y=rep.absTop+h;break;case"br":x=rep.absLeft+w;y=rep.absTop+h;break;case"cc":x=rep.absLeft+(w/2)-(ew/2);y=rep.absTop+(h/2)-(eh/2);break;}this.moveTo(x,y);},moveBy:function(x,y){var e=this.getElement();this.moveTo(parseInt(e.style.left)+x,parseInt(e.style.top)+y);},moveTo:function(x,y){var e=this.getElement();e.style.left=x+"px";e.style.top=y+"px";this.updateBlocker();},resizeBy:function(w,h){var e=this.getElement();this.resizeTo(parseInt(e.style.width)+w,parseInt(e.style.height)+h);},resizeTo:function(w,h){var e=this.getElement();if(w!=null)e.style.width=w+"px";if(h!=null)e.style.height=h+"px";this.updateBlocker();},show:function(){this.getElement().style.display='block';this.updateBlocker();},hide:function(){this.getElement().style.display='none';this.updateBlocker();},isVisible:function(){return this.getElement().style.display=='block';},getElement:function(){if(!this.element)this.element=this.doc.getElementById(this.id);return this.element;},setBlockMode:function(s){this.blockMode=s;},updateBlocker:function(){var e,b,x,y,w,h;b=this.getBlocker();if(b){if(this.blockMode){e=this.getElement();x=this.parseInt(e.style.left);y=this.parseInt(e.style.top);w=this.parseInt(e.offsetWidth);h=this.parseInt(e.offsetHeight);b.style.left=x+'px';b.style.top=y+'px';b.style.width=w+'px';b.style.height=h+'px';b.style.display=e.style.display;}else b.style.display='none';}},getBlocker:function(){var d,b;if(!this.blockerElement&&this.blockMode){d=this.doc;b=d.createElement("iframe");b.style.cssText='display: none; position: absolute; left: 0; top: 0';b.src='javascript:false;';b.frameBorder='0';b.scrolling='no';d.body.appendChild(b);this.blockerElement=b;}return this.blockerElement;},getAbsPosition:function(n){var p={absLeft:0,absTop:0};while(n){p.absLeft+=n.offsetLeft;p.absTop+=n.offsetTop;n=n.offsetParent;}return p;},create:function(n,c,p){var d=this.doc,e=d.createElement(n);e.setAttribute('id',this.id);if(c)e.className=c;if(!p)p=d.body;p.appendChild(e);return this.element=e;},parseInt:function(s){if(s==null||s=='')return 0;return parseInt(s);}};function TinyMCE_Menu(){var id;if(typeof(tinyMCE.menuCounter)=="undefined")tinyMCE.menuCounter=0;id="mc_menu_"+tinyMCE.menuCounter++;TinyMCE_Layer.call(this,id,true);this.id=id;this.items=new Array();this.needsUpdate=true;};TinyMCE_Menu.prototype=tinyMCE.extend(TinyMCE_Layer.prototype,{init:function(s){var n;this.settings={separator_class:'mceMenuSeparator',title_class:'mceMenuTitle',disabled_class:'mceMenuDisabled',menu_class:'mceMenu',drop_menu:true};for(n in s)this.settings[n]=s[n];this.create('div',this.settings.menu_class);},clear:function(){this.items=new Array();},addTitle:function(t){this.add({type:'title',text:t});},addDisabled:function(t){this.add({type:'disabled',text:t});},addSeparator:function(){this.add({type:'separator'});},addItem:function(t,js){this.add({text:t,js:js});},add:function(mi){this.items[this.items.length]=mi;this.needsUpdate=true;},update:function(){var e=this.getElement(),h='',i,t,m=this.items,s=this.settings;if(this.settings.drop_menu)h+='<span class="mceMenuLine"></span>';h+='<table border="0" cellpadding="0" cellspacing="0">';for(i=0;i<m.length;i++){t=tinyMCE.xmlEncode(m[i].text);c=m[i].class_name?' class="'+m[i].class_name+'"':'';switch(m[i].type){case'separator':h+='<tr class="'+s.separator_class+'"><td>';break;case'title':h+='<tr class="'+s.title_class+'"><td><span'+c+'>'+t+'</span>';break;case'disabled':h+='<tr class="'+s.disabled_class+'"><td><span'+c+'>'+t+'</span>';break;default:h+='<tr><td><a href="javascript:void(0);" onmousedown="'+tinyMCE.xmlEncode(m[i].js)+';return false;"><span'+c+'>'+t+'</span></a>';}h+='</td></tr>';}h+='</table>';e.innerHTML=h;this.needsUpdate=false;this.updateBlocker();},show:function(){var nl,i;if(tinyMCE.lastMenu==this)return;if(this.needsUpdate)this.update();if(tinyMCE.lastMenu&&tinyMCE.lastMenu!=this)tinyMCE.lastMenu.hide();TinyMCE_Layer.prototype.show.call(this);if(!tinyMCE.isOpera){}tinyMCE.lastMenu=this;}});TinyMCE_Engine.prototype.debug=function(){var m="",e,a,i;e=document.getElementById("tinymce_debug");if(!e){var d=document.createElement("div");d.setAttribute("className","debugger");d.className="debugger";d.innerHTML='Debug output:<textarea id="tinymce_debug" style="width: 100%; height: 300px" wrap="nowrap" mce_editable="false"></textarea>';document.body.appendChild(d);e=document.getElementById("tinymce_debug");}a=this.debug.arguments;for(i=0;i<a.length;i++){m+=a[i];if(i<a.length-1)m+=', ';}e.value+=m+"\n";};
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_popup.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_popup.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_popup.js	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_popup.js	2006-08-01 01:34:25.000000000 -0500
@@ -1,35 +1,272 @@
-// Get tinyMCE reference
-var win = window.opener ? window.opener : window.dialogArguments;
 
-// Setup window openerer
-if (!window.opener)
+
+// Some global instances, this will be filled later
+var tinyMCE = null, tinyMCELang = null;
+
+
+function TinyMCE_Popup() {
+};
+
+
+TinyMCE_Popup.prototype.init = function() {
+	var win = window.opener ? window.opener : window.dialogArguments;
+	var inst;
+
+	if (!win) {
+		// Try parent
+		win = parent.parent;
+
+		// Try top
+		if (typeof(win.tinyMCE) == "undefined")
+			win = top;
+	}
+
 	window.opener = win;
+	this.windowOpener = win;
+	this.onLoadEval = "";
+
+	// Setup parent references
+	tinyMCE = win.tinyMCE;
+	tinyMCELang = win.tinyMCELang;
+
+	if (!tinyMCE) {
+		alert("tinyMCE object reference not found from popup.");
+		return;
+	}
+
+	inst = tinyMCE.selectedInstance;
+	this.isWindow = tinyMCE.getWindowArg('mce_inside_iframe', false) == false;
+	this.storeSelection = (tinyMCE.isMSIE && !tinyMCE.isOpera) && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection', true);
+
+	if (this.isWindow)
+		window.focus();
+
+	// Store selection
+	if (this.storeSelection)
+		inst.selectionBookmark = inst.selection.getBookmark(true);
+
+	// Setup dir
+	if (tinyMCELang['lang_dir'])
+		document.dir = tinyMCELang['lang_dir'];
+
+	// Setup title
+	var re = new RegExp('{|\\\$|}', 'g');
+	var title = document.title.replace(re, "");
+	if (typeof tinyMCELang[title] != "undefined") {
+		var divElm = document.createElement("div");
+		divElm.innerHTML = tinyMCELang[title];
+		document.title = divElm.innerHTML;
+
+		if (tinyMCE.setWindowTitle != null)
+			tinyMCE.setWindowTitle(window, divElm.innerHTML);
+	}
+
+	// Output Popup CSS class
+	document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');
+
+	tinyMCE.addEvent(window, "load", this.onLoad);
+};
+
+
+TinyMCE_Popup.prototype.onLoad = function() {
+	var dir, i, elms, body = document.body;
+
+	if (tinyMCE.getWindowArg('mce_replacevariables', true))
+		body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
+
+	dir = tinyMCE.selectedInstance.settings['directionality'];
+	if (dir == "rtl" && document.forms && document.forms.length > 0) {
+		elms = document.forms[0].elements;
+		for (i=0; i<elms.length; i++) {
+			if ((elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")
+				elms[i].dir = dir;
+		}
+	}
+
+	if (body.style.display == 'none')
+		body.style.display = 'block';
+
+	// Execute real onload (Opera fix)
+	if (tinyMCEPopup.onLoadEval != "")
+		eval(tinyMCEPopup.onLoadEval);
+};
+
+
+TinyMCE_Popup.prototype.executeOnLoad = function(str) {
+	if (tinyMCE.isOpera)
+		this.onLoadEval = str;
+	else
+		eval(str);
+};
+
+
+TinyMCE_Popup.prototype.resizeToInnerSize = function() {
+	// Netscape 7.1 workaround
+	if (this.isWindow && tinyMCE.isNS71) {
+		window.resizeBy(0, 10);
+		return;
+	}
+
+	if (this.isWindow) {
+		var doc = document;
+		var body = doc.body;
+		var oldMargin, wrapper, iframe, nodes, dx, dy;
+
+		if (body.style.display == 'none')
+			body.style.display = 'block';
+
+		// Remove margin
+		oldMargin = body.style.margin;
+		body.style.margin = '0';
+
+		// Create wrapper
+		wrapper = doc.createElement("div");
+		wrapper.id = 'mcBodyWrapper';
+		wrapper.style.display = 'none';
+		wrapper.style.margin = '0';
+
+		// Wrap body elements
+		nodes = doc.body.childNodes;
+		for (var i=nodes.length-1; i>=0; i--) {
+			if (wrapper.hasChildNodes())
+				wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
+			else
+				wrapper.appendChild(nodes[i].cloneNode(true));
+
+			nodes[i].parentNode.removeChild(nodes[i]);
+		}
+
+		// Add wrapper
+		doc.body.appendChild(wrapper);
+
+		// Create iframe
+		iframe = document.createElement("iframe");
+		iframe.id = "mcWinIframe";
+		iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document'];
+		iframe.width = "100%";
+		iframe.height = "100%";
+		iframe.style.margin = '0';
+
+		// Add iframe
+		doc.body.appendChild(iframe);
+
+		// Measure iframe
+		iframe = document.getElementById('mcWinIframe');
+		dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;
+		dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;
+
+		// Resize window
+		// tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);
+		window.resizeBy(dx, dy);
+
+		// Hide iframe and show wrapper
+		body.style.margin = oldMargin;
+		iframe.style.display = 'none';
+		wrapper.style.display = 'block';
+	}
+};
+
+
+TinyMCE_Popup.prototype.resizeToContent = function() {
+	var isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
+
+	if (isOpera)
+		return;
+
+	if (isMSIE) {
+		try { window.resizeTo(10, 10); } catch (e) {}
+
+		var elm = document.body;
+		var width = elm.offsetWidth;
+		var height = elm.offsetHeight;
+		var dx = (elm.scrollWidth - width) + 4;
+		var dy = elm.scrollHeight - height;
+
+		try { window.resizeBy(dx, dy); } catch (e) {}
+	} else {
+		window.scrollBy(1000, 1000);
+		if (window.scrollX > 0 || window.scrollY > 0) {
+			window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
+			window.sizeToContent();
+			window.scrollTo(0, 0);
+			var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
+			var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
+			window.moveTo(x, y);
+		}
+	}
+};
+
+
+TinyMCE_Popup.prototype.getWindowArg = function(name, default_value) {
+	return tinyMCE.getWindowArg(name, default_value);
+};
+
+
+TinyMCE_Popup.prototype.restoreSelection = function() {
+	if (this.storeSelection) {
+		var inst = tinyMCE.selectedInstance;
+
+		inst.getWin().focus();
+
+		if (inst.selectionBookmark)
+			inst.selection.moveToBookmark(inst.selectionBookmark);
+	}
+};
+
+
+TinyMCE_Popup.prototype.execCommand = function(command, user_interface, value) {
+	var inst = tinyMCE.selectedInstance;
+
+	this.restoreSelection();
+	inst.execCommand(command, user_interface, value);
+
+	// Store selection
+	if (this.storeSelection)
+		inst.selectionBookmark = inst.selection.getBookmark(true);
+};
+
+
+TinyMCE_Popup.prototype.close = function() {
+	tinyMCE.closeWindow(window);
+};
+
+
+TinyMCE_Popup.prototype.pickColor = function(e, element_id) {
+	tinyMCE.selectedInstance.execCommand('mceColorPicker', true, {
+		element_id : element_id,
+		document : document,
+		window : window,
+		store_selection : false
+	});
+};
+
+
+TinyMCE_Popup.prototype.openBrowser = function(element_id, type, option) {
+	var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+	var url = document.getElementById(element_id).value;
+
+	tinyMCE.setWindowArg("window", window);
+	tinyMCE.setWindowArg("document", document);
+
+	// Call to external callback
+	if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined")
+		alert("Callback function: " + cb + " could not be found.");
+	else
+		eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);");
+};
+
+
+TinyMCE_Popup.prototype.importClass = function(c) {
+	window[c] = function() {};
+
+	for (var n in window.opener[c].prototype)
+		window[c].prototype[n] = window.opener[c].prototype[n];
 
-var tinyMCE = win.tinyMCE;
-var tinyMCELang = win.tinyMCELang;
+	window[c].constructor = window.opener[c].constructor;
+};
 
-// Setup title
-var re = new RegExp('{|\\\$|}', 'g');
-var title = document.title.replace(re, "");
-if (typeof tinyMCELang[title] != "undefined") {
-	var divElm = document.createElement("div");
-	divElm.innerHTML = tinyMCELang[title];
-	document.title = divElm.innerHTML;
-}
-
-// Setup dir
-if (tinyMCELang['lang_dir'])
-	document.dir = tinyMCELang['lang_dir'];
-
-function TinyMCEPlugin_onLoad() {
-	document.body.innerHTML = tinyMCE.applyTemplate(document.body.innerHTML, tinyMCE.windowArgs);
-}
-
-// Add onload trigger
-if (tinyMCE.isMSIE)
-	attachEvent("onload", TinyMCEPlugin_onLoad);
-else
-	addEventListener("load", TinyMCEPlugin_onLoad, false);
+// Setup global instance
+var tinyMCEPopup = new TinyMCE_Popup();
 
-// Output Popup CSS class
-document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');
+tinyMCEPopup.init();
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_src.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_src.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_src.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_src.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,6719 @@
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */
+
+function TinyMCE_Engine() {
+	this.majorVersion = "2";
+	this.minorVersion = "0.6.1";
+	this.releaseDate = "2006-05-04";
+
+	this.instances = new Array();
+	this.switchClassCache = new Array();
+	this.windowArgs = new Array();
+	this.loadedFiles = new Array();
+	this.pendingFiles = new Array();
+	this.loadingIndex = 0;
+	this.configs = new Array();
+	this.currentConfig = 0;
+	this.eventHandlers = new Array();
+
+	// Browser check
+	var ua = navigator.userAgent;
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1);
+	this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1);
+	this.isGecko = ua.indexOf('Gecko') != -1;
+	this.isSafari = ua.indexOf('Safari') != -1;
+	this.isOpera = ua.indexOf('Opera') != -1;
+	this.isMac = ua.indexOf('Mac') != -1;
+	this.isNS7 = ua.indexOf('Netscape/7') != -1;
+	this.isNS71 = ua.indexOf('Netscape/7.1') != -1;
+	this.dialogCounter = 0;
+	this.plugins = new Array();
+	this.themes = new Array();
+	this.menus = new Array();
+	this.loadedPlugins = new Array();
+	this.buttonMap = new Array();
+	this.isLoaded = false;
+
+	// Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those
+	if (this.isOpera) {
+		this.isMSIE = true;
+		this.isGecko = false;
+		this.isSafari =  false;
+	}
+
+	// TinyMCE editor id instance counter
+	this.idCounter = 0;
+};
+
+TinyMCE_Engine.prototype = {
+	init : function(settings) {
+		var theme;
+
+		this.settings = settings;
+
+		// Check if valid browser has execcommand support
+		if (typeof(document.execCommand) == 'undefined')
+			return;
+
+		// Get script base path
+		if (!tinyMCE.baseURL) {
+			var elements = document.getElementsByTagName('script');
+
+			for (var i=0; i<elements.length; i++) {
+				if (elements[i].src && (elements[i].src.indexOf("tiny_mce.js") != -1 || elements[i].src.indexOf("tiny_mce_dev.js") != -1 || elements[i].src.indexOf("tiny_mce_src.js") != -1 || elements[i].src.indexOf("tiny_mce_gzip") != -1)) {
+					var src = elements[i].src;
+
+					tinyMCE.srcMode = (src.indexOf('_src') != -1 || src.indexOf('_dev') != -1) ? '_src' : '';
+					tinyMCE.gzipMode = src.indexOf('_gzip') != -1;
+					src = src.substring(0, src.lastIndexOf('/'));
+
+					if (settings.exec_mode == "src" || settings.exec_mode == "normal")
+						tinyMCE.srcMode = settings.exec_mode == "src" ? '_src' : '';
+
+					tinyMCE.baseURL = src;
+					break;
+				}
+			}
+		}
+
+		// Get document base path
+		this.documentBasePath = document.location.href;
+		if (this.documentBasePath.indexOf('?') != -1)
+			this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.indexOf('?'));
+		this.documentURL = this.documentBasePath;
+		this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.lastIndexOf('/'));
+
+		// If not HTTP absolute
+		if (tinyMCE.baseURL.indexOf('://') == -1 && tinyMCE.baseURL.charAt(0) != '/') {
+			// If site absolute
+			tinyMCE.baseURL = this.documentBasePath + "/" + tinyMCE.baseURL;
+		}
+
+		// Set default values on settings
+		this._def("mode", "none");
+		this._def("theme", "advanced");
+		this._def("plugins", "", true);
+		this._def("language", "en");
+		this._def("docs_language", this.settings['language']);
+		this._def("elements", "");
+		this._def("textarea_trigger", "mce_editable");
+		this._def("editor_selector", "");
+		this._def("editor_deselector", "mceNoEditor");
+		this._def("valid_elements", "+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang]");
+		this._def("extended_valid_elements", "");
+		this._def("invalid_elements", "");
+		this._def("encoding", "");
+		this._def("urlconverter_callback", tinyMCE.getParam("urlconvertor_callback", "TinyMCE_Engine.prototype.convertURL"));
+		this._def("save_callback", "");
+		this._def("debug", false);
+		this._def("force_br_newlines", false);
+		this._def("force_p_newlines", true);
+		this._def("add_form_submit_trigger", true);
+		this._def("relative_urls", true);
+		this._def("remove_script_host", true);
+		this._def("focus_alert", true);
+		this._def("document_base_url", this.documentURL);
+		this._def("visual", true);
+		this._def("visual_table_class", "mceVisualAid");
+		this._def("setupcontent_callback", "");
+		this._def("fix_content_duplication", true);
+		this._def("custom_undo_redo", true);
+		this._def("custom_undo_redo_levels", -1);
+		this._def("custom_undo_redo_keyboard_shortcuts", true);
+		this._def("custom_undo_redo_restore_selection", true);
+		this._def("verify_html", true);
+		this._def("apply_source_formatting", false);
+		this._def("directionality", "ltr");
+		this._def("cleanup_on_startup", false);
+		this._def("inline_styles", false);
+		this._def("convert_newlines_to_brs", false);
+		this._def("auto_reset_designmode", true);
+		this._def("entities", "39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro", true);
+		this._def("entity_encoding", "named");
+		this._def("cleanup_callback", "");
+		this._def("add_unload_trigger", true);
+		this._def("ask", false);
+		this._def("nowrap", false);
+		this._def("auto_resize", false);
+		this._def("auto_focus", false);
+		this._def("cleanup", true);
+		this._def("remove_linebreaks", true);
+		this._def("button_tile_map", false);
+		this._def("submit_patch", true);
+		this._def("browsers", "msie,safari,gecko,opera", true);
+		this._def("dialog_type", "window");
+		this._def("accessibility_warnings", true);
+		this._def("accessibility_focus", true);
+		this._def("merge_styles_invalid_parents", "");
+		this._def("force_hex_style_colors", true);
+		this._def("trim_span_elements", true);
+		this._def("convert_fonts_to_spans", false);
+		this._def("doctype", '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
+		this._def("font_size_classes", '');
+		this._def("font_size_style_values", 'xx-small,x-small,small,medium,large,x-large,xx-large', true);
+		this._def("event_elements", 'a,img', true);
+		this._def("convert_urls", true);
+		this._def("table_inline_editing", false);
+		this._def("object_resizing", true);
+		this._def("custom_shortcuts", true);
+		this._def("convert_on_click", false);
+		this._def("content_css", '');
+		this._def("fix_list_elements", false);
+		this._def("fix_table_elements", false);
+		this._def("strict_loading_mode", document.contentType == 'application/xhtml+xml');
+		this._def("hidden_tab_class", '');
+		this._def("display_tab_class", '');
+
+		// Force strict loading mode to false on non Gecko browsers
+		if (this.isMSIE && !this.isOpera)
+			this.settings.strict_loading_mode = false;
+
+		// Browser check IE
+		if (this.isMSIE && this.settings['browsers'].indexOf('msie') == -1)
+			return;
+
+		// Browser check Gecko
+		if (this.isGecko && this.settings['browsers'].indexOf('gecko') == -1)
+			return;
+
+		// Browser check Safari
+		if (this.isSafari && this.settings['browsers'].indexOf('safari') == -1)
+			return;
+
+		// Browser check Opera
+		if (this.isOpera && this.settings['browsers'].indexOf('opera') == -1)
+			return;
+
+		// If not super absolute make it so
+		var baseHREF = tinyMCE.settings['document_base_url'];
+		var h = document.location.href;
+		var p = h.indexOf('://');
+		if (p > 0 && document.location.protocol != "file:") {
+			p = h.indexOf('/', p + 3);
+			h = h.substring(0, p);
+
+			if (baseHREF.indexOf('://') == -1)
+				baseHREF = h + baseHREF;
+
+			tinyMCE.settings['document_base_url'] = baseHREF;
+			tinyMCE.settings['document_base_prefix'] = h;
+		}
+
+		// Trim away query part
+		if (baseHREF.indexOf('?') != -1)
+			baseHREF = baseHREF.substring(0, baseHREF.indexOf('?'));
+
+		this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/";
+
+		theme = this.settings['theme'];
+		this.blockRegExp = new RegExp("^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|blockquote|center|dl|dt|dd|dir|fieldset|form|noscript|noframes|menu|isindex|samp)$", "i");
+		this.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40);
+		this.uniqueURL = 'javascript:TINYMCE_UNIQUEURL();'; // Make unique URL non real URL
+		this.uniqueTag = '<div id="mceTMPElement" style="display: none">TMP</div>';
+		this.callbacks = new Array('onInit', 'getInfo', 'getEditorTemplate', 'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', 'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', 'cleanup');
+
+		// Theme url
+		this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme;
+
+		if (!tinyMCE.isMSIE)
+			this.settings['force_br_newlines'] = false;
+
+		if (tinyMCE.getParam("popups_css", false)) {
+			var cssPath = tinyMCE.getParam("popups_css", "");
+
+			// Is relative
+			if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+				this.settings['popups_css'] = this.documentBasePath + "/" + cssPath;
+			else
+				this.settings['popups_css'] = cssPath;
+		} else
+			this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css";
+
+		if (tinyMCE.getParam("editor_css", false)) {
+			var cssPath = tinyMCE.getParam("editor_css", "");
+
+			// Is relative
+			if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+				this.settings['editor_css'] = this.documentBasePath + "/" + cssPath;
+			else
+				this.settings['editor_css'] = cssPath;
+		} else
+			this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css";
+
+		if (tinyMCE.settings['debug']) {
+			var msg = "Debug: \n";
+
+			msg += "baseURL: " + this.baseURL + "\n";
+			msg += "documentBasePath: " + this.documentBasePath + "\n";
+			msg += "content_css: " + this.settings['content_css'] + "\n";
+			msg += "popups_css: " + this.settings['popups_css'] + "\n";
+			msg += "editor_css: " + this.settings['editor_css'] + "\n";
+
+			alert(msg);
+		}
+
+		// Only do this once
+		if (this.configs.length == 0) {
+			// Is Safari enabled
+			if (this.isSafari && this.getParam('safari_warning', false))
+				alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.\nYou can disable this message by setting: safari_warning option to false");
+
+			if (typeof(TinyMCECompressed) == "undefined") {
+				tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCE_Engine.prototype.onLoad);
+
+				if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
+					if (document.body)
+						tinyMCE.addEvent(document.body, "readystatechange", TinyMCE_Engine.prototype.onLoad);
+					else
+						tinyMCE.addEvent(document, "readystatechange", TinyMCE_Engine.prototype.onLoad);
+				}
+
+				tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad);
+				tinyMCE._addUnloadEvents();
+			}
+		}
+
+		this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template' + tinyMCE.srcMode + '.js');
+		this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings['language'] +  '.js');
+		this.loadCSS(this.settings['editor_css']);
+
+		// Add plugins
+		var p = tinyMCE.getParam('plugins', '', true, ',');
+		if (p.length > 0) {
+			for (var i=0; i<p.length; i++) {
+				if (p[i].charAt(0) != '-')
+					this.loadScript(tinyMCE.baseURL + '/plugins/' + p[i] + '/editor_plugin' + tinyMCE.srcMode + '.js');
+			}
+		}
+
+		// Setup entities
+		settings['cleanup_entities'] = new Array();
+		var entities = tinyMCE.getParam('entities', '', true, ',');
+		for (var i=0; i<entities.length; i+=2)
+			settings['cleanup_entities']['c' + entities[i]] = entities[i+1];
+
+		// Save away this config
+		settings['index'] = this.configs.length;
+		this.configs[this.configs.length] = settings;
+
+		// Start loading first one in chain
+		this.loadNextScript();
+	},
+
+	_addUnloadEvents : function() {
+		if (tinyMCE.isMSIE) {
+			if (tinyMCE.settings['add_unload_trigger']) {
+				tinyMCE.addEvent(window, "unload", TinyMCE_Engine.prototype.unloadHandler);
+				tinyMCE.addEvent(window.document, "beforeunload", TinyMCE_Engine.prototype.unloadHandler);
+			}
+		} else {
+			if (tinyMCE.settings['add_unload_trigger'])
+				tinyMCE.addEvent(window, "unload", function () {tinyMCE.triggerSave(true, true);});
+		}
+	},
+
+	_def : function(key, def_val, t) {
+		var v = tinyMCE.getParam(key, def_val);
+
+		v = t ? v.replace(/\s+/g,"") : v;
+
+		this.settings[key] = v;
+	},
+
+	hasPlugin : function(n) {
+		return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
+	},
+
+	addPlugin : function(n, p) {
+		var op = this.plugins[n];
+
+		// Use the previous plugin object base URL used when loading external plugins
+		p.baseURL = op ? op.baseURL : tinyMCE.baseURL + "/plugins/" + n;
+		this.plugins[n] = p;
+
+		this.loadNextScript();
+	},
+
+	setPluginBaseURL : function(n, u) {
+		var op = this.plugins[n];
+
+		if (op)
+			op.baseURL = u;
+		else
+			this.plugins[n] = {baseURL : u};
+	},
+
+	loadPlugin : function(n, u) {
+		u = u.indexOf('.js') != -1 ? u.substring(0, u.lastIndexOf('/')) : u;
+		u = u.charAt(u.length-1) == '/' ? u.substring(0, u.length-1) : u;
+		this.plugins[n] = {baseURL : u};
+		this.loadScript(u + "/editor_plugin" + (tinyMCE.srcMode ? '_src' : '') + ".js");
+	},
+
+	hasTheme : function(n) {
+		return typeof(this.themes[n]) != "undefined" && this.themes[n] != null;
+	},
+
+	addTheme : function(n, t) {
+		this.themes[n] = t;
+
+		this.loadNextScript();
+	},
+
+	addMenu : function(n, m) {
+		this.menus[n] = m;
+	},
+
+	hasMenu : function(n) {
+		return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
+	},
+
+	loadScript : function(url) {
+		var i;
+
+		for (i=0; i<this.loadedFiles.length; i++) {
+			if (this.loadedFiles[i] == url)
+				return;
+		}
+
+		if (tinyMCE.settings.strict_loading_mode)
+			this.pendingFiles[this.pendingFiles.length] = url;
+		else
+			document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></script>');
+
+		this.loadedFiles[this.loadedFiles.length] = url;
+	},
+
+	loadNextScript : function() {
+		var d = document, se;
+
+		if (!tinyMCE.settings.strict_loading_mode)
+			return;
+
+		if (this.loadingIndex < this.pendingFiles.length) {
+			se = d.createElementNS('http://www.w3.org/1999/xhtml', 'script');
+			se.setAttribute('language', 'javascript');
+			se.setAttribute('type', 'text/javascript');
+			se.setAttribute('src', this.pendingFiles[this.loadingIndex++]);
+
+			d.getElementsByTagName("head")[0].appendChild(se);
+		} else
+			this.loadingIndex = -1; // Done with loading
+	},
+
+	loadCSS : function(url) {
+		var ar = url.replace(/\s+/, '').split(',');
+		var lflen = 0, csslen = 0;
+		var skip = false;
+		var x = 0, i = 0, nl, le;
+
+		for (x = 0,csslen = ar.length; x<csslen; x++) {
+			ignore_css = false;
+
+			if (ar[x] != null && ar[x] != 'null' && ar[x].length > 0) {
+				/* Make sure it doesn't exist. */
+				for (i=0, lflen=this.loadedFiles.length; i<lflen; i++) {
+					if (this.loadedFiles[i] == ar[x]) {
+						skip = true;
+						break;
+					}
+				}
+
+				if (!skip) {
+					if (tinyMCE.settings.strict_loading_mode) {
+						nl = document.getElementsByTagName("head");
+
+						le = document.createElement('link');
+						le.setAttribute('href', ar[x]);
+						le.setAttribute('rel', 'stylesheet');
+						le.setAttribute('type', 'text/css');
+
+						nl[0].appendChild(le);			
+					} else
+						document.write('<link href="' + ar[x] + '" rel="stylesheet" type="text/css" />');
+
+					this.loadedFiles[this.loadedFiles.length] = ar[x];
+				}
+			}
+		}
+	},
+
+	importCSS : function(doc, css) {
+		var css_ary = css.replace(/\s+/, '').split(',');
+		var csslen, elm, headArr, x, css_file;
+
+		for (x = 0, csslen = css_ary.length; x<csslen; x++) {
+			css_file = css_ary[x];
+
+			if (css_file != null && css_file != 'null' && css_file.length > 0) {
+				// Is relative, make absolute
+				if (css_file.indexOf('://') == -1 && css_file.charAt(0) != '/')
+					css_file = this.documentBasePath + "/" + css_file;
+
+				if (typeof(doc.createStyleSheet) == "undefined") {
+					elm = doc.createElement("link");
+
+					elm.rel = "stylesheet";
+					elm.href = css_file;
+
+					if ((headArr = doc.getElementsByTagName("head")) != null && headArr.length > 0)
+						headArr[0].appendChild(elm);
+				} else
+					doc.createStyleSheet(css_file);
+			}
+		}
+	},
+
+	confirmAdd : function(e, settings) {
+		var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
+		var elementId = elm.name ? elm.name : elm.id;
+
+		tinyMCE.settings = settings;
+
+		if (tinyMCE.settings['convert_on_click'] || (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm'])))
+			tinyMCE.addMCEControl(elm, elementId);
+
+		elm.setAttribute('mce_noask', 'true');
+	},
+
+	updateContent : function(form_element_name) {
+		// Find MCE instance linked to given form element and copy it's value
+		var formElement = document.getElementById(form_element_name);
+		for (var n in tinyMCE.instances) {
+			var inst = tinyMCE.instances[n];
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			if (inst.formElement == formElement) {
+				var doc = inst.getDoc();
+		
+				tinyMCE._setHTML(doc, inst.formElement.value);
+
+				if (!tinyMCE.isMSIE)
+					doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid);
+			}
+		}
+	},
+
+	addMCEControl : function(replace_element, form_element_name, target_document) {
+		var id = "mce_editor_" + tinyMCE.idCounter++;
+		var inst = new TinyMCE_Control(tinyMCE.settings);
+
+		inst.editorId = id;
+		this.instances[id] = inst;
+
+		inst._onAdd(replace_element, form_element_name, target_document);
+	},
+
+	removeMCEControl : function(editor_id) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		if (inst) {
+			inst.switchSettings();
+
+			editor_id = inst.editorId;
+			var html = tinyMCE.getContent(editor_id);
+
+			// Remove editor instance from instances array
+			var tmpInstances = new Array();
+			for (var instanceName in tinyMCE.instances) {
+				var instance = tinyMCE.instances[instanceName];
+				if (!tinyMCE.isInstance(instance))
+					continue;
+
+				if (instanceName != editor_id)
+						tmpInstances[instanceName] = instance;
+			}
+			tinyMCE.instances = tmpInstances;
+
+			tinyMCE.selectedElement = null;
+			tinyMCE.selectedInstance = null;
+
+			// Remove element
+			var replaceElement = document.getElementById(editor_id + "_parent");
+			var oldTargetElement = inst.oldTargetElement;
+			var targetName = oldTargetElement.nodeName.toLowerCase();
+
+			if (targetName == "textarea" || targetName == "input") {
+				// Just show the old text area
+				replaceElement.parentNode.removeChild(replaceElement);
+				oldTargetElement.style.display = "inline";
+				oldTargetElement.value = html;
+			} else {
+				oldTargetElement.innerHTML = html;
+				oldTargetElement.style.display = 'block';
+
+				replaceElement.parentNode.insertBefore(oldTargetElement, replaceElement);
+				replaceElement.parentNode.removeChild(replaceElement);
+			}
+		}
+	},
+
+	triggerSave : function(skip_cleanup, skip_callback) {
+		var inst, n;
+
+		// Default to false
+		if (typeof(skip_cleanup) == "undefined")
+			skip_cleanup = false;
+
+		// Default to false
+		if (typeof(skip_callback) == "undefined")
+			skip_callback = false;
+
+		// Cleanup and set all form fields
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.triggerSave(skip_cleanup, skip_callback);
+		}
+	},
+
+	resetForm : function(form_index) {
+		var i, inst, n, formObj = document.forms[form_index];
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			for (i=0; i<formObj.elements.length; i++) {
+				if (inst.formTargetElementId == formObj.elements[i].name)
+					inst.getBody().innerHTML = inst.startContent;
+			}
+		}
+	},
+
+	execInstanceCommand : function(editor_id, command, user_interface, value, focus) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		if (inst) {
+			if (typeof(focus) == "undefined")
+				focus = true;
+
+			if (focus)
+				inst.contentWindow.focus();
+
+			// Reset design mode if lost
+			inst.autoResetDesignMode();
+
+			this.selectedElement = inst.getFocusElement();
+			this.selectedInstance = inst;
+			tinyMCE.execCommand(command, user_interface, value);
+
+			// Cancel event so it doesn't call onbeforeonunlaod
+			if (tinyMCE.isMSIE && window.event != null)
+				tinyMCE.cancelEvent(window.event);
+		}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		// Default input
+		user_interface = user_interface ? user_interface : false;
+		value = value ? value : null;
+
+		if (tinyMCE.selectedInstance)
+			tinyMCE.selectedInstance.switchSettings();
+
+		switch (command) {
+			case 'mceHelp':
+				tinyMCE.openWindow({
+					file : 'about.htm',
+					width : 480,
+					height : 380
+				}, {
+					tinymce_version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion,
+					tinymce_releasedate : tinyMCE.releaseDate,
+					inline : "yes"
+				});
+			return;
+
+			case 'mceFocus':
+				var inst = tinyMCE.getInstanceById(value);
+				if (inst)
+					inst.contentWindow.focus();
+			return;
+
+			case "mceAddControl":
+			case "mceAddEditor":
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
+				return;
+
+			case "mceAddFrameControl":
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'], value['document']), value['element'], value['document']);
+				return;
+
+			case "mceRemoveControl":
+			case "mceRemoveEditor":
+				tinyMCE.removeMCEControl(value);
+				return;
+
+			case "mceResetDesignMode":
+				// Resets the designmode state of the editors in Gecko
+				if (!tinyMCE.isMSIE) {
+					for (var n in tinyMCE.instances) {
+						if (!tinyMCE.isInstance(tinyMCE.instances[n]))
+							continue;
+
+						try {
+							tinyMCE.instances[n].getDoc().designMode = "on";
+						} catch (e) {
+							// Ignore any errors
+						}
+					}
+				}
+
+				return;
+		}
+
+		if (this.selectedInstance) {
+			this.selectedInstance.execCommand(command, user_interface, value);
+		} else if (tinyMCE.settings['focus_alert'])
+			alert(tinyMCELang['lang_focus_alert']);
+	},
+
+	_createIFrame : function(replace_element, doc, win) {
+		var iframe, id = replace_element.getAttribute("id");
+		var aw, ah;
+
+		if (typeof(doc) == "undefined")
+			doc = document;
+
+		if (typeof(win) == "undefined")
+			win = window;
+
+		iframe = doc.createElement("iframe");
+
+		aw = "" + tinyMCE.settings['area_width'];
+		ah = "" + tinyMCE.settings['area_height'];
+
+		if (aw.indexOf('%') == -1) {
+			aw = parseInt(aw);
+			aw = aw < 0 ? 300 : aw;
+			aw = aw + "px";
+		}
+
+		if (ah.indexOf('%') == -1) {
+			ah = parseInt(ah);
+			ah = ah < 0 ? 240 : ah;
+			ah = ah + "px";
+		}
+
+		iframe.setAttribute("id", id);
+		iframe.setAttribute("class", "mceEditorIframe");
+		iframe.setAttribute("border", "0");
+		iframe.setAttribute("frameBorder", "0");
+		iframe.setAttribute("marginWidth", "0");
+		iframe.setAttribute("marginHeight", "0");
+		iframe.setAttribute("leftMargin", "0");
+		iframe.setAttribute("topMargin", "0");
+		iframe.setAttribute("width", aw);
+		iframe.setAttribute("height", ah);
+		iframe.setAttribute("allowtransparency", "true");
+		iframe.className = 'mceEditorIframe';
+
+		if (tinyMCE.settings["auto_resize"])
+			iframe.setAttribute("scrolling", "no");
+
+		// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			iframe.setAttribute("src", this.settings['default_document']);
+
+		iframe.style.width = aw;
+		iframe.style.height = ah;
+
+		// Ugly hack for Gecko problem in strict mode
+		if (tinyMCE.settings.strict_loading_mode)
+			iframe.style.marginBottom = '-5px';
+
+		// MSIE 5.0 issue
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			replace_element.outerHTML = iframe.outerHTML;
+		else
+			replace_element.parentNode.replaceChild(iframe, replace_element);
+
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			return win.frames[id];
+		else
+			return iframe;
+	},
+
+	setupContent : function(editor_id) {
+		var inst = tinyMCE.instances[editor_id];
+		var doc = inst.getDoc();
+		var head = doc.getElementsByTagName('head').item(0);
+		var content = inst.startContent;
+
+		// HTML values get XML encoded in strict mode
+		if (tinyMCE.settings.strict_loading_mode) {
+			content = content.replace(/&lt;/g, '<');
+			content = content.replace(/&gt;/g, '>');
+			content = content.replace(/&quot;/g, '"');
+			content = content.replace(/&amp;/g, '&');
+		}
+
+		inst.switchSettings();
+
+		// Not loaded correctly hit it again, Mozilla bug #997860
+		if (!tinyMCE.isMSIE && tinyMCE.getParam("setupcontent_reload", false) && doc.title != "blank_page") {
+			// This part will remove the designMode status
+			// Failes first time in Firefox 1.5b2 on Mac
+			try {doc.location.href = tinyMCE.baseURL + "/blank.htm";} catch (ex) {}
+			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000);
+			return;
+		}
+
+		if (!head) {
+			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10);
+			return;
+		}
+
+		// Import theme specific content CSS the user specific
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + inst.settings['theme'] + "/css/editor_content.css");
+		tinyMCE.importCSS(inst.getDoc(), inst.settings['content_css']);
+		tinyMCE.dispatchCallback(inst, 'init_instance_callback', 'initInstance', inst);
+
+		// Setup keyboard shortcuts
+		if (tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')) {
+			inst.addShortcut('ctrl', 'z', 'lang_undo_desc', 'Undo');
+			inst.addShortcut('ctrl', 'y', 'lang_redo_desc', 'Redo');
+		}
+
+		// Add default shortcuts for gecko
+		if (tinyMCE.isGecko) {
+			inst.addShortcut('ctrl', 'b', 'lang_bold_desc', 'Bold');
+			inst.addShortcut('ctrl', 'i', 'lang_italic_desc', 'Italic');
+			inst.addShortcut('ctrl', 'u', 'lang_underline_desc', 'Underline');
+		}
+
+		// Setup span styles
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			inst.getDoc().body.setAttribute('id', 'mceSpanFonts');
+
+		if (tinyMCE.settings['nowrap'])
+			doc.body.style.whiteSpace = "nowrap";
+
+		doc.body.dir = this.settings['directionality'];
+		doc.editorId = editor_id;
+
+		// Add on document element in Mozilla
+		if (!tinyMCE.isMSIE)
+			doc.documentElement.editorId = editor_id;
+
+		inst.setBaseHREF(tinyMCE.settings['base_href']);
+
+		// Replace new line characters to BRs
+		if (tinyMCE.settings['convert_newlines_to_brs']) {
+			content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
+			content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
+			content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
+		}
+
+		// Open closed anchors
+	//	content = content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
+
+		// Call custom cleanup code
+		content = tinyMCE.storeAwayURLs(content);
+		content = tinyMCE._customCleanup(inst, "insert_to_editor", content);
+
+		if (tinyMCE.isMSIE) {
+			// Ugly!!!
+			window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500);
+
+			if (tinyMCE.settings["force_br_newlines"])
+				doc.styleSheets[0].addRule("p", "margin: 0;");
+
+			var body = inst.getBody();
+			body.editorId = editor_id;
+		}
+
+		content = tinyMCE.cleanupHTMLCode(content);
+
+		// Fix for bug #958637
+		if (!tinyMCE.isMSIE) {
+			var contentElement = inst.getDoc().createElement("body");
+			var doc = inst.getDoc();
+
+			contentElement.innerHTML = content;
+
+			// Remove weridness!
+			if (tinyMCE.isGecko && tinyMCE.settings['remove_lt_gt'])
+				content = content.replace(new RegExp('&lt;&gt;', 'g'), "");
+
+			if (tinyMCE.settings['cleanup_on_startup'])
+				tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement));
+			else {
+				// Convert all strong/em to b/i
+				content = tinyMCE.regexpReplace(content, "<strong", "<b", "gi");
+				content = tinyMCE.regexpReplace(content, "<em(/?)>", "<i$1>", "gi");
+				content = tinyMCE.regexpReplace(content, "<em ", "<i ", "gi");
+				content = tinyMCE.regexpReplace(content, "</strong>", "</b>", "gi");
+				content = tinyMCE.regexpReplace(content, "</em>", "</i>", "gi");
+				tinyMCE.setInnerHTML(inst.getBody(), content);
+			}
+
+			tinyMCE.convertAllRelativeURLs(inst.getBody());
+		} else {
+			if (tinyMCE.settings['cleanup_on_startup']) {
+				tinyMCE._setHTML(inst.getDoc(), content);
+
+				// Produces permission denied error in MSIE 5.5
+				eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}');
+			} else
+				tinyMCE._setHTML(inst.getDoc(), content);
+		}
+
+		// Fix for bug #957681
+		//inst.getDoc().designMode = inst.getDoc().designMode;
+
+		// Setup element references
+		var parentElm = inst.targetDoc.getElementById(inst.editorId + '_parent');
+		inst.formElement = tinyMCE.isGecko ? parentElm.previousSibling : parentElm.nextSibling;
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual'], inst);
+		tinyMCE.dispatchCallback(inst, 'setupcontent_callback', 'setupContent', editor_id, inst.getBody(), inst.getDoc());
+
+		// Re-add design mode on mozilla
+		if (!tinyMCE.isMSIE)
+			tinyMCE.addEventHandlers(inst);
+
+		// Add blur handler
+		if (tinyMCE.isMSIE) {
+			tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE_Engine.prototype._eventPatch);
+			tinyMCE.addEvent(inst.getBody(), "beforedeactivate", TinyMCE_Engine.prototype._eventPatch); // Bug #1439953
+
+			// Workaround for drag drop/copy paste base href bug
+			if (!tinyMCE.isOpera) {
+				tinyMCE.addEvent(doc.body, "mousemove", TinyMCE_Engine.prototype.onMouseMove);
+				tinyMCE.addEvent(doc.body, "beforepaste", TinyMCE_Engine.prototype._eventPatch);
+				tinyMCE.addEvent(doc.body, "drop", TinyMCE_Engine.prototype._eventPatch);
+			}
+		}
+
+		// Trigger node change, this call locks buttons for tables and so forth
+		tinyMCE.selectedInstance = inst;
+		tinyMCE.selectedElement = inst.contentWindow.document.body;
+
+		// Call custom DOM cleanup
+		tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody());
+		tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody());
+		tinyMCE._setEventsEnabled(inst.getBody(), false);
+		tinyMCE.cleanupAnchors(inst.getDoc());
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+		inst.undoRedo.add({ content : inst.startContent });
+
+		// Cleanup any mess left from storyAwayURLs
+		if (tinyMCE.isGecko) {
+			// Remove mce_src from textnodes and comments
+			tinyMCE.selectNodes(inst.getBody(), function(n) {
+				if (n.nodeType == 3 || n.nodeType == 8) {
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\smce_src=\"[^\"]*\"', 'gi'), "");
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\smce_href=\"[^\"]*\"', 'gi'), "");
+				}
+
+				return false;
+			});
+		}
+
+		// Cleanup any mess left from storyAwayURLs
+		tinyMCE._removeInternal(inst.getBody());
+
+		tinyMCE.selectedInstance = inst;
+		tinyMCE.triggerNodeChange(false, true);
+	},
+
+	storeAwayURLs : function(s) {
+		// Remove all mce_src, mce_href and replace them with new ones
+	//	s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
+	//	s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
+
+		if (!s.match(/(mce_src|mce_href)/gi, s)) {
+			s = s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'src="$1" mce_src="$1"');
+			s = s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'href="$1" mce_href="$1"');
+		}
+
+		return s;
+	},
+
+	_removeInternal : function(n) {
+		if (tinyMCE.isGecko) {
+			// Remove mce_src from textnodes and comments
+			tinyMCE.selectNodes(n, function(n) {
+				if (n.nodeType == 3 || n.nodeType == 8) {
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\smce_src=\"[^\"]*\"', 'gi'), "");
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\smce_href=\"[^\"]*\"', 'gi'), "");
+				}
+
+				return false;
+			});
+		}
+	},
+
+	removeTinyMCEFormElements : function(form_obj) {
+		// Check if form is valid
+		if (typeof(form_obj) == "undefined" || form_obj == null)
+			return;
+
+		// If not a form, find the form
+		if (form_obj.nodeName != "FORM") {
+			if (form_obj.form)
+				form_obj = form_obj.form;
+			else
+				form_obj = tinyMCE.getParentElement(form_obj, "form");
+		}
+
+		// Still nothing
+		if (form_obj == null)
+			return;
+
+		// Disable all UI form elements that TinyMCE created
+		for (var i=0; i<form_obj.elements.length; i++) {
+			var elementId = form_obj.elements[i].name ? form_obj.elements[i].name : form_obj.elements[i].id;
+
+			if (elementId.indexOf('mce_editor_') == 0)
+				form_obj.elements[i].disabled = true;
+		}
+	},
+
+	handleEvent : function(e) {
+		var inst = tinyMCE.selectedInstance;
+
+		// Remove odd, error
+		if (typeof(tinyMCE) == "undefined")
+			return true;
+
+		//tinyMCE.debug(e.type + " " + e.target.nodeName + " " + (e.relatedTarget ? e.relatedTarget.nodeName : ""));
+
+		if (tinyMCE.executeCallback(tinyMCE.selectedInstance, 'handle_event_callback', 'handleEvent', e))
+			return false;
+
+		switch (e.type) {
+			case "beforedeactivate": // Was added due to bug #1439953
+			case "blur":
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.execCommand('mceEndTyping');
+
+				tinyMCE.hideMenus();
+
+				return;
+
+			// Workaround for drag drop/copy paste base href bug
+			case "drop":
+			case "beforepaste":
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.setBaseHREF(null);
+
+				// Fixes odd MSIE bug where drag/droping elements in a iframe with height 100% breaks
+				// This logic forces the width/height to be in pixels while the user is drag/dropping
+				if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
+					var ife = tinyMCE.selectedInstance.iframeElement;
+
+					/*if (ife.style.width.indexOf('%') != -1) {
+						ife._oldWidth = ife.width.height;
+						ife.style.width = ife.clientWidth;
+					}*/
+
+					if (ife.style.height.indexOf('%') != -1) {
+						ife._oldHeight = ife.style.height;
+						ife.style.height = ife.clientHeight;
+					}
+				}
+
+				window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);tinyMCE._resetIframeHeight();", 1);
+				return;
+
+			case "submit":
+				tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE ? window.event.srcElement : e.target);
+				tinyMCE.triggerSave();
+				tinyMCE.isNotDirty = true;
+				return;
+
+			case "reset":
+				var formObj = tinyMCE.isMSIE ? window.event.srcElement : e.target;
+
+				for (var i=0; i<document.forms.length; i++) {
+					if (document.forms[i] == formObj)
+						window.setTimeout('tinyMCE.resetForm(' + i + ');', 10);
+				}
+
+				return;
+
+			case "keypress":
+				if (inst && inst.handleShortcut(e))
+					return false;
+
+				if (e.target.editorId) {
+					tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+				} else {
+					if (e.target.ownerDocument.editorId)
+						tinyMCE.selectedInstance = tinyMCE.instances[e.target.ownerDocument.editorId];
+				}
+
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				// Insert P element
+				if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && e.keyCode == 13 && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance, e)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						tinyMCE.cancelEvent(e);
+						return false;
+					}
+				}
+
+				// Handle backspace
+				if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						tinyMCE.cancelEvent(e);
+						return false;
+					}
+				}
+
+				// Return key pressed
+				if (tinyMCE.isMSIE && tinyMCE.settings['force_br_newlines'] && e.keyCode == 13) {
+					if (e.target.editorId)
+						tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+
+					if (tinyMCE.selectedInstance) {
+						var sel = tinyMCE.selectedInstance.getDoc().selection;
+						var rng = sel.createRange();
+
+						if (tinyMCE.getParentElement(rng.parentElement(), "li") != null)
+							return false;
+
+						// Cancel event
+						e.returnValue = false;
+						e.cancelBubble = true;
+
+						// Insert BR element
+						rng.pasteHTML("<br />");
+						rng.collapse(false);
+						rng.select();
+
+						tinyMCE.execCommand("mceAddUndoLevel");
+						tinyMCE.triggerNodeChange(false);
+						return false;
+					}
+				}
+
+				// Backspace or delete
+				if (e.keyCode == 8 || e.keyCode == 46) {
+					tinyMCE.selectedElement = e.target;
+					tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a");
+					tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img");
+					tinyMCE.triggerNodeChange(false);
+				}
+
+				return false;
+			break;
+
+			case "keyup":
+			case "keydown":
+				tinyMCE.hideMenus();
+				tinyMCE.hasMouseMoved = false;
+
+				if (inst && inst.handleShortcut(e))
+					return false;
+
+				if (e.target.editorId)
+					tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+				else
+					return;
+
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				var inst = tinyMCE.selectedInstance;
+
+				// Handle backspace
+				if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						e.preventDefault();
+						return false;
+					}
+				}
+
+				tinyMCE.selectedElement = null;
+				tinyMCE.selectedNode = null;
+				var elm = tinyMCE.selectedInstance.getFocusElement();
+				tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a");
+				tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img");
+				tinyMCE.selectedElement = elm;
+
+				// Update visualaids on tabs
+				if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9)
+					tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+
+				// Fix empty elements on return/enter, check where enter occured
+				if (tinyMCE.isMSIE && e.type == "keydown" && e.keyCode == 13)
+					tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement();
+
+				// Fix empty elements on return/enter
+				if (tinyMCE.isMSIE && e.type == "keyup" && e.keyCode == 13) {
+					var elm = tinyMCE.enterKeyElement;
+					if (elm) {
+						var re = new RegExp('^HR|IMG|BR$','g'); // Skip these
+						var dre = new RegExp('^H[1-6]$','g'); // Add double on these
+
+						if (!elm.hasChildNodes() && !re.test(elm.nodeName)) {
+							if (dre.test(elm.nodeName))
+								elm.innerHTML = "&nbsp;&nbsp;";
+							else
+								elm.innerHTML = "&nbsp;";
+						}
+					}
+				}
+
+				// Check if it's a position key
+				var keys = tinyMCE.posKeyCodes;
+				var posKey = false;
+				for (var i=0; i<keys.length; i++) {
+					if (keys[i] == e.keyCode) {
+						posKey = true;
+						break;
+					}
+				}
+
+				// MSIE custom key handling
+				if (tinyMCE.isMSIE && tinyMCE.settings['custom_undo_redo']) {
+					var keys = new Array(8,46); // Backspace,Delete
+					for (var i=0; i<keys.length; i++) {
+						if (keys[i] == e.keyCode) {
+							if (e.type == "keyup")
+								tinyMCE.triggerNodeChange(false);
+						}
+					}
+				}
+
+				// If Ctrl key
+				if (e.keyCode == 17)
+					return true;
+
+				// Handle Undo/Redo when typing content
+
+				// Start typing (non position key)
+				if (!posKey && e.type == "keyup")
+					tinyMCE.execCommand("mceStartTyping");
+
+				// Store undo bookmark
+				if (e.type == "keydown" && (posKey || e.ctrlKey) && inst)
+					inst.undoBookmark = inst.selection.getBookmark();
+
+				// End typing (position key) or some Ctrl event
+				if (e.type == "keyup" && (posKey || e.ctrlKey))
+					tinyMCE.execCommand("mceEndTyping");
+
+				if (posKey && e.type == "keyup")
+					tinyMCE.triggerNodeChange(false);
+
+				if (tinyMCE.isMSIE && e.ctrlKey)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+			break;
+
+			case "mousedown":
+			case "mouseup":
+			case "click":
+			case "focus":
+				tinyMCE.hideMenus();
+
+				if (tinyMCE.selectedInstance) {
+					tinyMCE.selectedInstance.switchSettings();
+					tinyMCE.selectedInstance.isFocused = true;
+				}
+
+				// Check instance event trigged on
+				var targetBody = tinyMCE.getParentElement(e.target, "body");
+				for (var instanceName in tinyMCE.instances) {
+					if (!tinyMCE.isInstance(tinyMCE.instances[instanceName]))
+						continue;
+
+					var inst = tinyMCE.instances[instanceName];
+
+					// Reset design mode if lost (on everything just in case)
+					inst.autoResetDesignMode();
+
+					if (inst.getBody() == targetBody) {
+						tinyMCE.selectedInstance = inst;
+						tinyMCE.selectedElement = e.target;
+						tinyMCE.linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+						tinyMCE.imgElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "img");
+						break;
+					}
+				}
+
+				// Add first bookmark location
+				if (!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark)
+					tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark = tinyMCE.selectedInstance.selection.getBookmark();
+
+				if (tinyMCE.isSafari) {
+					tinyMCE.selectedInstance.lastSafariSelection = tinyMCE.selectedInstance.selection.getBookmark();
+					tinyMCE.selectedInstance.lastSafariSelectedElement = tinyMCE.selectedElement;
+
+					var lnk = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+
+					// Patch the darned link
+					if (lnk && e.type == "mousedown") {
+						lnk.setAttribute("mce_real_href", lnk.getAttribute("href"));
+						lnk.setAttribute("href", "javascript:void(0);");
+					}
+
+					// Patch back
+					if (lnk && e.type == "click") {
+						window.setTimeout(function() {
+							lnk.setAttribute("href", lnk.getAttribute("mce_real_href"));
+							lnk.removeAttribute("mce_real_href");
+						}, 10);
+					}
+				}
+
+				// Reset selected node
+				if (e.type != "focus")
+					tinyMCE.selectedNode = null;
+
+				tinyMCE.triggerNodeChange(false);
+				tinyMCE.execCommand("mceEndTyping");
+
+				if (e.type == "mouseup")
+					tinyMCE.execCommand("mceAddUndoLevel");
+
+				// Just in case
+				if (!tinyMCE.selectedInstance && e.target.editorId)
+					tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+
+				return false;
+			break;
+		}
+	},
+
+	getButtonHTML : function(id, lang, img, cmd, ui, val) {
+		var h = '', m, x;
+
+		cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\'';
+
+		if (typeof(ui) != "undefined" && ui != null)
+			cmd += ',' + ui;
+
+		if (typeof(val) != "undefined" && val != null)
+			cmd += ",'" + val + "'";
+
+		cmd += ');';
+
+		// Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled
+		if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isMSIE || tinyMCE.isOpera) && (m = this.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) {
+			// Tiled button
+			x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20);
+			h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceTiledButton mceButtonNormal" target="_self">';
+			h += '<img src="{$themeurl}/images/spacer.gif" style="background-position: ' + x + 'px 0" title="{$' + lang + '}" />';
+			h += '</a>';
+		} else {
+			// Normal button
+			h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceButtonNormal" target="_self">';
+			h += '<img src="' + img + '" title="{$' + lang + '}" />';
+			h += '</a>';
+		}
+
+		return h;
+	},
+
+	addButtonMap : function(m) {
+		var i, a = m.replace(/\s+/, '').split(',');
+
+		for (i=0; i<a.length; i++)
+			this.buttonMap[a[i]] = i;
+	},
+
+	submitPatch : function() {
+		tinyMCE.removeTinyMCEFormElements(this);
+		tinyMCE.triggerSave();
+		this.mceOldSubmit();
+		tinyMCE.isNotDirty = true;
+	},
+
+	onLoad : function() {
+		// Wait for everything to be loaded first
+		if (tinyMCE.settings.strict_loading_mode && this.loadingIndex != -1) {
+			window.setTimeout('tinyMCE.onLoad();', 1);
+			return;
+		}
+
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera && window.event.type == "readystatechange" && document.readyState != "complete")
+			return true;
+
+		if (tinyMCE.isLoaded)
+			return true;
+
+		tinyMCE.isLoaded = true;
+
+		tinyMCE.dispatchCallback(null, 'onpageload', 'onPageLoad');
+
+		for (var c=0; c<tinyMCE.configs.length; c++) {
+			tinyMCE.settings = tinyMCE.configs[c];
+
+			var selector = tinyMCE.getParam("editor_selector");
+			var deselector = tinyMCE.getParam("editor_deselector");
+			var elementRefAr = new Array();
+
+			// Add submit triggers
+			if (document.forms && tinyMCE.settings['add_form_submit_trigger'] && !tinyMCE.submitTriggers) {
+				for (var i=0; i<document.forms.length; i++) {
+					var form = document.forms[i];
+
+					tinyMCE.addEvent(form, "submit", TinyMCE_Engine.prototype.handleEvent);
+					tinyMCE.addEvent(form, "reset", TinyMCE_Engine.prototype.handleEvent);
+					tinyMCE.submitTriggers = true; // Do it only once
+
+					// Patch the form.submit function
+					if (tinyMCE.settings['submit_patch']) {
+						try {
+							form.mceOldSubmit = form.submit;
+							form.submit = TinyMCE_Engine.prototype.submitPatch;
+						} catch (e) {
+							// Do nothing
+						}
+					}
+				}
+			}
+
+			// Add editor instances based on mode
+			var mode = tinyMCE.settings['mode'];
+			switch (mode) {
+				case "exact":
+					var elements = tinyMCE.getParam('elements', '', true, ',');
+
+					for (var i=0; i<elements.length; i++) {
+						var element = tinyMCE._getElementById(elements[i]);
+						var trigger = element ? element.getAttribute(tinyMCE.settings['textarea_trigger']) : "";
+
+						if (tinyMCE.getAttrib(element, "class").indexOf(deselector) != -1)
+							continue;
+
+						if (trigger == "false")
+							continue;
+
+						if ((tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) && element) {
+							elementRefAr[elementRefAr.length] = element;
+							continue;
+						}
+
+						if (element)
+							tinyMCE.addMCEControl(element, elements[i]);
+						else if (tinyMCE.settings['debug'])
+							alert("Error: Could not find element by id or name: " + elements[i]);
+					}
+				break;
+
+				case "specific_textareas":
+				case "textareas":
+					var nodeList = document.getElementsByTagName("textarea");
+
+					for (var i=0; i<nodeList.length; i++) {
+						var elm = nodeList.item(i);
+						var trigger = elm.getAttribute(tinyMCE.settings['textarea_trigger']);
+
+						if (selector != '' && tinyMCE.getAttrib(elm, "class").indexOf(selector) == -1)
+							continue;
+
+						if (selector != '')
+							trigger = selector != "" ? "true" : "";
+
+						if (tinyMCE.getAttrib(elm, "class").indexOf(deselector) != -1)
+							continue;
+
+						if ((mode == "specific_textareas" && trigger == "true") || (mode == "textareas" && trigger != "false"))
+							elementRefAr[elementRefAr.length] = elm;
+					}
+				break;
+			}
+
+			for (var i=0; i<elementRefAr.length; i++) {
+				var element = elementRefAr[i];
+				var elementId = element.name ? element.name : element.id;
+
+				if (tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) {
+					// Focus breaks in Mozilla
+					if (tinyMCE.isGecko) {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, "focus", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+
+						if (element.nodeName != "TEXTAREA" && element.nodeName != "INPUT")
+							tinyMCE.addEvent(element, "click", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+						// tinyMCE.addEvent(element, "mouseover", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+					} else {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, "focus", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+						tinyMCE.addEvent(element, "click", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+						// tinyMCE.addEvent(element, "mouseenter", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+					}
+				} else
+					tinyMCE.addMCEControl(element, elementId);
+			}
+
+			// Handle auto focus
+			if (tinyMCE.settings['auto_focus']) {
+				window.setTimeout(function () {
+					var inst = tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);
+					inst.selection.selectNode(inst.getBody(), true, true);
+					inst.contentWindow.focus();
+				}, 10);
+			}
+
+			tinyMCE.dispatchCallback(null, 'oninit', 'onInit');
+		}
+	},
+
+	isInstance : function(o) {
+		return o != null && typeof(o) == "object" && o.isTinyMCE_Control;
+	},
+
+	getParam : function(name, default_value, strip_whitespace, split_chr) {
+		var value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+		// Fix bool values
+		if (value == "true" || value == "false")
+			return (value == "true");
+
+		if (strip_whitespace)
+			value = tinyMCE.regexpReplace(value, "[ \t\r\n]", "");
+
+		if (typeof(split_chr) != "undefined" && split_chr != null) {
+			value = value.split(split_chr);
+			var outArray = new Array();
+
+			for (var i=0; i<value.length; i++) {
+				if (value[i] && value[i] != "")
+					outArray[outArray.length] = value[i];
+			}
+
+			value = outArray;
+		}
+
+		return value;
+	},
+
+	getLang : function(name, default_value, parse_entities, va) {
+		var v = (typeof(tinyMCELang[name]) == "undefined") ? default_value : tinyMCELang[name], n;
+
+		if (parse_entities)
+			v = tinyMCE.entityDecode(v);
+
+		if (va) {
+			for (n in va)
+				v = this.replaceVar(v, n, va[n]);
+		}
+
+		return v;
+	},
+
+	entityDecode : function(s) {
+		var e = document.createElement("div");
+		e.innerHTML = s;
+		return e.innerHTML;
+	},
+
+	addToLang : function(prefix, ar) {
+		for (var key in ar) {
+			if (typeof(ar[key]) == 'function')
+				continue;
+
+			tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = ar[key];
+		}
+
+		this.loadNextScript();
+
+	//	for (var key in ar)
+	//		tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = "|" + ar[key] + "|";
+	},
+
+	triggerNodeChange : function(focus, setup_content) {
+		if (tinyMCE.selectedInstance) {
+			var inst = tinyMCE.selectedInstance;
+			var editorId = inst.editorId;
+			var elm = (typeof(setup_content) != "undefined" && setup_content) ? tinyMCE.selectedElement : inst.getFocusElement();
+			var undoIndex = -1;
+			var undoLevels = -1;
+			var anySelection = false;
+			var selectedText = inst.selection.getSelectedText();
+
+			if (setup_content && tinyMCE.isGecko && inst.isHidden())
+				elm = inst.getBody();
+
+			inst.switchSettings();
+
+			if (tinyMCE.settings["auto_resize"]) {
+				var doc = inst.getDoc();
+
+				inst.iframeElement.style.width = doc.body.offsetWidth + "px";
+				inst.iframeElement.style.height = doc.body.offsetHeight + "px";
+			}
+
+			if (tinyMCE.selectedElement)
+				anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
+
+			if (tinyMCE.settings['custom_undo_redo']) {
+				undoIndex = inst.undoRedo.undoIndex;
+				undoLevels = inst.undoRedo.undoLevels.length;
+			}
+
+			tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', 'handleNodeChange', editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content);
+		}
+
+		if (this.selectedInstance && (typeof(focus) == "undefined" || focus))
+			this.selectedInstance.contentWindow.focus();
+	},
+
+	_customCleanup : function(inst, type, content) {
+		var pl, po, i;
+
+		// Call custom cleanup
+		var customCleanup = tinyMCE.settings['cleanup_callback'];
+		if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined")
+			content = eval(customCleanup + "(type, content, inst);");
+
+		// Trigger plugin cleanups
+		pl = inst.plugins;
+		for (i=0; i<pl.length; i++) {
+			po = tinyMCE.plugins[pl[i]];
+
+			if (po && po.cleanup)
+				content = po.cleanup(type, content, inst);
+		}
+
+		return content;
+	},
+
+	setContent : function(h) {
+		if (tinyMCE.selectedInstance) {
+			tinyMCE.selectedInstance.execCommand('mceSetContent', false, h);
+			tinyMCE.selectedInstance.repaint();
+		}
+	},
+
+	importThemeLanguagePack : function(name) {
+		if (typeof(name) == "undefined")
+			name = tinyMCE.settings['theme'];
+
+		tinyMCE.loadScript(tinyMCE.baseURL + '/themes/' + name + '/langs/' + tinyMCE.settings['language'] + '.js');
+	},
+
+	importPluginLanguagePack : function(name, valid_languages) {
+		var lang = "en", b = tinyMCE.baseURL + '/plugins/' + name;
+
+		valid_languages = valid_languages.split(',');
+		for (var i=0; i<valid_languages.length; i++) {
+			if (tinyMCE.settings['language'] == valid_languages[i])
+				lang = tinyMCE.settings['language'];
+		}
+
+		if (this.plugins[name])
+			b = this.plugins[name].baseURL;
+
+		tinyMCE.loadScript(b + '/langs/' + lang +  '.js');
+	},
+
+	applyTemplate : function(h, as) {
+		var i, s, ar = h.match(new RegExp('\\{\\$[a-z0-9_]+\\}', 'gi'));
+
+		if (ar && ar.length > 0) {
+			for (i=ar.length-1; i>=0; i--) {
+				s = ar[i].substring(2, ar[i].length-1);
+
+				if (s.indexOf('lang_') == 0 && tinyMCELang[s])
+					h = tinyMCE.replaceVar(h, s, tinyMCELang[s]);
+				else if (as && as[s])
+					h = tinyMCE.replaceVar(h, s, as[s]);
+				else if (tinyMCE.settings[s])
+					h = tinyMCE.replaceVar(h, s, tinyMCE.settings[s]);
+			}
+		}
+
+		h = tinyMCE.replaceVar(h, "themeurl", tinyMCE.themeURL);
+
+		return h;
+	},
+
+	replaceVar : function(h, r, v) {
+		return h.replace(new RegExp('{\\\$' + r + '}', 'g'), v);
+	},
+
+	openWindow : function(template, args) {
+		var html, width, height, x, y, resizable, scrollbars, url;
+
+		args['mce_template_file'] = template['file'];
+		args['mce_width'] = template['width'];
+		args['mce_height'] = template['height'];
+		tinyMCE.windowArgs = args;
+
+		html = template['html'];
+		if (!(width = parseInt(template['width'])))
+			width = 320;
+
+		if (!(height = parseInt(template['height'])))
+			height = 200;
+
+		// Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!!
+		if (tinyMCE.isMSIE)
+			height += 40;
+		else
+			height += 20;
+
+		x = parseInt(screen.width / 2.0) - (width / 2.0);
+		y = parseInt(screen.height / 2.0) - (height / 2.0);
+
+		resizable = (args && args['resizable']) ? args['resizable'] : "no";
+		scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+		if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+			url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+		else
+			url = template['file'];
+
+		// Replace all args as variables in URL
+		for (var name in args) {
+			if (typeof(args[name]) == 'function')
+				continue;
+
+			url = tinyMCE.replaceVar(url, name, escape(args[name]));
+		}
+
+		if (html) {
+			html = tinyMCE.replaceVar(html, "css", this.settings['popups_css']);
+			html = tinyMCE.applyTemplate(html, args);
+
+			var win = window.open("", "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,minimizable=" + resizable + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable);
+			if (win == null) {
+				alert(tinyMCELang['lang_popup_blocked']);
+				return;
+			}
+
+			win.document.write(html);
+			win.document.close();
+			win.resizeTo(width, height);
+			win.focus();
+		} else {
+			if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && resizable != 'yes' && tinyMCE.settings["dialog_type"] == "modal") {
+				height += 10;
+
+				var features = "resizable:" + resizable 
+					+ ";scroll:"
+					+ scrollbars + ";status:yes;center:yes;help:no;dialogWidth:"
+					+ width + "px;dialogHeight:" + height + "px;";
+
+				window.showModalDialog(url, window, features);
+			} else {
+				var modal = (resizable == "yes") ? "no" : "yes";
+
+				if (tinyMCE.isGecko && tinyMCE.isMac)
+					modal = "no";
+
+				if (template['close_previous'] != "no")
+					try {tinyMCE.lastWindow.close();} catch (ex) {}
+
+				var win = window.open(url, "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=" + modal + ",minimizable=" + resizable + ",modal=" + modal + ",width=" + width + ",height=" + height + ",resizable=" + resizable);
+				if (win == null) {
+					alert(tinyMCELang['lang_popup_blocked']);
+					return;
+				}
+
+				if (template['close_previous'] != "no")
+					tinyMCE.lastWindow = win;
+
+				eval('try { win.resizeTo(width, height); } catch(e) { }');
+
+				// Make it bigger if statusbar is forced
+				if (tinyMCE.isGecko) {
+					if (win.document.defaultView.statusbar.visible)
+						win.resizeBy(0, tinyMCE.isMac ? 10 : 24);
+				}
+
+				win.focus();
+			}
+		}
+	},
+
+	closeWindow : function(win) {
+		win.close();
+	},
+
+	getVisualAidClass : function(class_name, state) {
+		var aidClass = tinyMCE.settings['visual_table_class'];
+
+		if (typeof(state) == "undefined")
+			state = tinyMCE.settings['visual'];
+
+		// Split
+		var classNames = new Array();
+		var ar = class_name.split(' ');
+		for (var i=0; i<ar.length; i++) {
+			if (ar[i] == aidClass)
+				ar[i] = "";
+
+			if (ar[i] != "")
+				classNames[classNames.length] = ar[i];
+		}
+
+		if (state)
+			classNames[classNames.length] = aidClass;
+
+		// Glue
+		var className = "";
+		for (var i=0; i<classNames.length; i++) {
+			if (i > 0)
+				className += " ";
+
+			className += classNames[i];
+		}
+
+		return className;
+	},
+
+	handleVisualAid : function(el, deep, state, inst, skip_dispatch) {
+		if (!el)
+			return;
+
+		if (!skip_dispatch)
+			tinyMCE.dispatchCallback(inst, 'handle_visual_aid_callback', 'handleVisualAid', el, deep, state, inst);
+
+		var tableElement = null;
+
+		switch (el.nodeName) {
+			case "TABLE":
+				var oldW = el.style.width;
+				var oldH = el.style.height;
+				var bo = tinyMCE.getAttrib(el, "border");
+
+				bo = bo == "" || bo == "0" ? true : false;
+
+				tinyMCE.setAttrib(el, "class", tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo));
+
+				el.style.width = oldW;
+				el.style.height = oldH;
+
+				for (var y=0; y<el.rows.length; y++) {
+					for (var x=0; x<el.rows[y].cells.length; x++) {
+						var cn = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x], "class"), state && bo);
+						tinyMCE.setAttrib(el.rows[y].cells[x], "class", cn);
+					}
+				}
+
+				break;
+
+			case "A":
+				var anchorName = tinyMCE.getAttrib(el, "name");
+
+				if (anchorName != '' && state) {
+					el.title = anchorName;
+					el.className = 'mceItemAnchor';
+				} else if (anchorName != '' && !state)
+					el.className = '';
+
+				break;
+		}
+
+		if (deep && el.hasChildNodes()) {
+			for (var i=0; i<el.childNodes.length; i++)
+				tinyMCE.handleVisualAid(el.childNodes[i], deep, state, inst, true);
+		}
+	},
+
+	/*
+	applyClassesToFonts : function(doc, size) {
+		var f = doc.getElementsByTagName("font");
+		for (var i=0; i<f.length; i++) {
+			var s = tinyMCE.getAttrib(f[i], "size");
+
+			if (s != "")
+				tinyMCE.setAttrib(f[i], 'class', "mceItemFont" + s);
+		}
+
+		if (typeof(size) != "undefined") {
+			var css = "";
+
+			for (var x=0; x<doc.styleSheets.length; x++) {
+				for (var i=0; i<doc.styleSheets[x].rules.length; i++) {
+					if (doc.styleSheets[x].rules[i].selectorText == '#mceSpanFonts .mceItemFont' + size) {
+						css = doc.styleSheets[x].rules[i].style.cssText;
+						break;
+					}
+				}
+
+				if (css != "")
+					break;
+			}
+
+			if (doc.styleSheets[0].rules[0].selectorText == "FONT")
+				doc.styleSheets[0].removeRule(0);
+
+			doc.styleSheets[0].addRule("FONT", css, 0);
+		}
+	},
+	*/
+
+	fixGeckoBaseHREFBug : function(m, e, h) {
+		var nl, i, a, n, xsrc, xhref, el;
+
+		if (tinyMCE.isGecko) {
+			if (m == 1) {
+				h = h.replace(/\ssrc=/gi, " mce_tsrc=");
+				h = h.replace(/\shref=/gi, " mce_thref=");
+
+				return h;
+			} else {
+				el = new Array('a','img','select','area','iframe','base','input','script','embed','object','link');
+
+				for (a=0; a<el.length; a++) {
+					n = e.getElementsByTagName(el[a]);
+
+					for (i=0; i<n.length; i++) {
+						xsrc = tinyMCE.getAttrib(n[i], "mce_tsrc");
+						xhref = tinyMCE.getAttrib(n[i], "mce_thref");
+
+						if (xsrc != "") {
+							try {
+								n[i].src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xsrc);
+							} catch (e) {
+								// Ignore, Firefox cast exception if local file wasn't found
+							}
+
+							n[i].removeAttribute("mce_tsrc");
+						}
+
+						if (xhref != "") {
+							try {
+								n[i].href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xhref);
+							} catch (e) {
+								// Ignore, Firefox cast exception if local file wasn't found
+							}
+
+							n[i].removeAttribute("mce_thref");
+						}
+					}
+				}
+
+				el = tinyMCE.selectNodes(e, function(n) {
+					if (n.nodeType == 3 || n.nodeType == 8) {
+						n.nodeValue = n.nodeValue.replace(/\smce_tsrc=/gi, " src=");
+						n.nodeValue = n.nodeValue.replace(/\smce_thref=/gi, " href=");
+					}
+
+					return false;
+				});
+			}
+		}
+
+		return h;
+	},
+
+	_setHTML : function(doc, html_content) {
+		// Force closed anchors open
+		//html_content = html_content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
+
+		html_content = tinyMCE.cleanupHTMLCode(html_content);
+
+		// Try innerHTML if it fails use pasteHTML in MSIE
+		try {
+			tinyMCE.setInnerHTML(doc.body, html_content);
+		} catch (e) {
+			if (this.isMSIE)
+				doc.body.createTextRange().pasteHTML(html_content);
+		}
+
+		// Content duplication bug fix
+		if (tinyMCE.isMSIE && tinyMCE.settings['fix_content_duplication']) {
+			// Remove P elements in P elements
+			var paras = doc.getElementsByTagName("P");
+			for (var i=0; i<paras.length; i++) {
+				var node = paras[i];
+				while ((node = node.parentNode) != null) {
+					if (node.nodeName == "P")
+						node.outerHTML = node.innerHTML;
+				}
+			}
+
+			// Content duplication bug fix (Seems to be word crap)
+			var html = doc.body.innerHTML;
+/*
+			if (html.indexOf('="mso') != -1) {
+				for (var i=0; i<doc.body.all.length; i++) {
+					var el = doc.body.all[i];
+					el.removeAttribute("className","",0);
+					el.removeAttribute("style","",0);
+				}
+
+				html = doc.body.innerHTML;
+				html = tinyMCE.regexpReplace(html, "<o:p><\/o:p>", "<br />");
+				html = tinyMCE.regexpReplace(html, "<o:p>&nbsp;<\/o:p>", "");
+				html = tinyMCE.regexpReplace(html, "<st1:.*?>", "");
+				html = tinyMCE.regexpReplace(html, "<p><\/p>", "");
+				html = tinyMCE.regexpReplace(html, "<p><\/p>\r\n<p><\/p>", "");
+				html = tinyMCE.regexpReplace(html, "<p>&nbsp;<\/p>", "<br />");
+				html = tinyMCE.regexpReplace(html, "<p>\s*(<p>\s*)?", "<p>");
+				html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "</p>");
+			}*/
+
+			// Always set the htmlText output
+			tinyMCE.setInnerHTML(doc.body, html);
+		}
+
+		tinyMCE.cleanupAnchors(doc);
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(doc);
+	},
+
+	getEditorId : function(form_element) {
+		var inst = this.getInstanceById(form_element);
+		if (!inst)
+			return null;
+
+		return inst.editorId;
+	},
+
+	getInstanceById : function(editor_id) {
+		var inst = this.instances[editor_id];
+		if (!inst) {
+			for (var n in tinyMCE.instances) {
+				var instance = tinyMCE.instances[n];
+				if (!tinyMCE.isInstance(instance))
+					continue;
+
+				if (instance.formTargetElementId == editor_id) {
+					inst = instance;
+					break;
+				}
+			}
+		}
+
+		return inst;
+	},
+
+	queryInstanceCommandValue : function(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		if (inst)
+			return inst.queryCommandValue(command);
+
+		return false;
+	},
+
+	queryInstanceCommandState : function(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		if (inst)
+			return inst.queryCommandState(command);
+
+		return null;
+	},
+
+	setWindowArg : function(n, v) {
+		this.windowArgs[n] = v;
+	},
+
+	getWindowArg : function(n, d) {
+		return (typeof(this.windowArgs[n]) == "undefined") ? d : this.windowArgs[n];
+	},
+
+	getCSSClasses : function(editor_id, doc) {
+		var output = new Array();
+
+		// Is cached, use that
+		if (typeof(tinyMCE.cssClasses) != "undefined")
+			return tinyMCE.cssClasses;
+
+		if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") {
+			var instance;
+
+			for (var instanceName in tinyMCE.instances) {
+				instance = tinyMCE.instances[instanceName];
+				if (!tinyMCE.isInstance(instance))
+					continue;
+
+				break;
+			}
+
+			doc = instance.getDoc();
+		}
+
+		if (typeof(doc) == "undefined") {
+			var instance = tinyMCE.getInstanceById(editor_id);
+			doc = instance.getDoc();
+		}
+
+		if (doc) {
+			var styles = doc.styleSheets;
+
+			if (styles && styles.length > 0) {
+				for (var x=0; x<styles.length; x++) {
+					var csses = null;
+
+					// Just ignore any errors
+					eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets(" + x + ").rules : styles[" + x + "].cssRules;} catch(e) {}");
+					if (!csses)
+						return new Array();
+
+					for (var i=0; i<csses.length; i++) {
+						var selectorText = csses[i].selectorText;
+
+						// Can be multiple rules per selector
+						if (selectorText) {
+							var rules = selectorText.split(',');
+							for (var c=0; c<rules.length; c++) {
+								var rule = rules[c];
+
+								// Strip spaces between selectors
+								while (rule.indexOf(' ') == 0)
+									rule = rule.substring(1);
+
+								// Invalid rule
+								if (rule.indexOf(' ') != -1 || rule.indexOf(':') != -1 || rule.indexOf('mceItem') != -1)
+									continue;
+
+								if (rule.indexOf(tinyMCE.settings['visual_table_class']) != -1 || rule.indexOf('mceEditable') != -1 || rule.indexOf('mceNonEditable') != -1)
+									continue;
+
+								// Is class rule
+								if (rule.indexOf('.') != -1) {
+									var cssClass = rule.substring(rule.indexOf('.') + 1);
+									var addClass = true;
+
+									for (var p=0; p<output.length && addClass; p++) {
+										if (output[p] == cssClass)
+											addClass = false;
+									}
+
+									if (addClass)
+										output[output.length] = cssClass;
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+
+		// Cache em
+		if (output.length > 0)
+			tinyMCE.cssClasses = output;
+
+		return output;
+	},
+
+	regexpReplace : function(in_str, reg_exp, replace_str, opts) {
+		if (in_str == null)
+			return in_str;
+
+		if (typeof(opts) == "undefined")
+			opts = 'g';
+
+		var re = new RegExp(reg_exp, opts);
+		return in_str.replace(re, replace_str);
+	},
+
+	trim : function(s) {
+		return s.replace(/^\s*|\s*$/g, "");
+	},
+
+	cleanupEventStr : function(s) {
+		s = "" + s;
+		s = s.replace('function anonymous()\n{\n', '');
+		s = s.replace('\n}', '');
+		s = s.replace(/^return true;/gi, ''); // Remove event blocker
+
+		return s;
+	},
+
+	getControlHTML : function(c) {
+		var i, l, n, o, v;
+
+		l = tinyMCE.plugins;
+		for (n in l) {
+			o = l[n];
+
+			if (o.getControlHTML && (v = o.getControlHTML(c)) != '')
+				return tinyMCE.replaceVar(v, "pluginurl", o.baseURL);
+		}
+
+		o = tinyMCE.themes[tinyMCE.settings['theme']];
+		if (o.getControlHTML && (v = o.getControlHTML(c)) != '')
+			return v;
+
+		return '';
+	},
+
+	evalFunc : function(f, idx, a) {
+		var s = '(', i;
+
+		for (i=idx; i<a.length; i++) {
+			s += 'a[' + i + ']';
+
+			if (i < a.length-1)
+				s += ',';
+		}
+
+		s += ');';
+
+		return eval("f" + s);
+	},
+
+	dispatchCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 0, this.dispatchCallback.arguments);
+	},
+
+	executeCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 1, this.executeCallback.arguments);
+	},
+
+	execCommandCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 2, this.execCommandCallback.arguments);
+	},
+
+	callFunc : function(ins, p, n, m, a) {
+		var l, i, on, o, s, v;
+
+		s = m == 2;
+
+		l = tinyMCE.getParam(p, '');
+
+		if (l != '' && (v = tinyMCE.evalFunc(typeof(l) == "function" ? l : eval(l), 3, a)) == s && m > 0)
+			return true;
+
+		if (ins != null) {
+			for (i=0, l = ins.plugins; i<l.length; i++) {
+				o = tinyMCE.plugins[l[i]];
+
+				if (o[n] && (v = tinyMCE.evalFunc(o[n], 3, a)) == s && m > 0)
+					return true;
+			}
+		}
+
+		l = tinyMCE.themes;
+		for (on in l) {
+			o = l[on];
+
+			if (o[n] && (v = tinyMCE.evalFunc(o[n], 3, a)) == s && m > 0)
+				return true;
+		}
+
+		return false;
+	},
+
+	xmlEncode : function(s) {
+		s = "" + s;
+		s = s.replace(/&/g, '&amp;');
+		s = s.replace(new RegExp('"', 'g'), '&quot;');
+		s = s.replace(/\'/g, '&#39;'); // &apos; is not working in MSIE
+		s = s.replace(/</g, '&lt;');
+		s = s.replace(/>/g, '&gt;');
+
+		return s;
+	},
+
+	extend : function(p, np) {
+		var o = {};
+
+		o.parent = p;
+
+		for (n in p)
+			o[n] = p[n];
+
+		for (n in np)
+			o[n] = np[n];
+
+		return o;
+	},
+
+	hideMenus : function() {
+		var e = tinyMCE.lastSelectedMenuBtn;
+
+		if (tinyMCE.lastMenu) {
+			tinyMCE.lastMenu.hide();
+			tinyMCE.lastMenu = null;
+		}
+
+		if (e) {
+			tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass);
+			tinyMCE.lastSelectedMenuBtn = null;
+		}
+	},
+
+	explode : function(d, s) {
+		var ar = s.split(d), oar = new Array(), i;
+	
+		for (i = 0; i<ar.length; i++) {
+			if (ar[i] != "")
+				oar[oar.length] = ar[i];
+		}
+	
+		return oar;
+	}
+};
+
+// Global instances
+var TinyMCE = TinyMCE_Engine; // Compatiblity with gzip compressors
+var tinyMCE = new TinyMCE_Engine();
+var tinyMCELang = {};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Control.class.js */
+
+function TinyMCE_Control(settings) {
+	var t, i, to, fu, p, x, fn, fu, pn, s = settings;
+
+	this.undoRedoLevel = true;
+	this.isTinyMCE_Control = true;
+
+	// Default settings
+	this.settings = s;
+	this.settings['theme'] = tinyMCE.getParam("theme", "default");
+	this.settings['width'] = tinyMCE.getParam("width", -1);
+	this.settings['height'] = tinyMCE.getParam("height", -1);
+	this.selection = new TinyMCE_Selection(this);
+	this.undoRedo = new TinyMCE_UndoRedo(this);
+	this.cleanup = new TinyMCE_Cleanup();
+	this.shortcuts = new Array();
+	this.hasMouseMoved = false;
+
+	this.cleanup.init({
+		valid_elements : s.valid_elements,
+		extended_valid_elements : s.extended_valid_elements,
+		entities : s.entities,
+		entity_encoding : s.entity_encoding,
+		debug : s.cleanup_debug,
+		url_converter : 'TinyMCE_Cleanup.prototype._urlConverter',
+		indent : s.apply_source_formatting,
+		invalid_elements : s.invalid_elements,
+		verify_html : s.verify_html,
+		fix_content_duplication : s.fix_content_duplication
+	});
+
+	// Wrap old theme
+	t = this.settings['theme'];
+	if (!tinyMCE.hasTheme(t)) {
+		fn = tinyMCE.callbacks;
+		to = {};
+
+		for (i=0; i<fn.length; i++) {
+			if ((fu = window['TinyMCE_' + t + "_" + fn[i]]))
+				to[fn[i]] = fu;
+		}
+
+		tinyMCE.addTheme(t, to);
+	}
+
+	// Wrap old plugins
+	this.plugins = new Array();
+	p = tinyMCE.getParam('plugins', '', true, ',');
+	if (p.length > 0) {
+		for (i=0; i<p.length; i++) {
+			pn = p[i];
+
+			if (pn.charAt(0) == '-')
+				pn = pn.substring(1);
+
+			if (!tinyMCE.hasPlugin(pn)) {
+				fn = tinyMCE.callbacks;
+				to = {};
+
+				for (x=0; x<fn.length; x++) {
+					if ((fu = window['TinyMCE_' + pn + "_" + fn[x]]))
+						to[fn[x]] = fu;
+				}
+
+				tinyMCE.addPlugin(pn, to);
+			}
+
+			this.plugins[this.plugins.length] = pn; 
+		}
+	}
+};
+
+TinyMCE_Control.prototype = {
+	hasPlugin : function(n) {
+		var i;
+
+		for (i=0; i<this.plugins.length; i++) {
+			if (this.plugins[i] == n)
+				return true;
+		}
+
+		return false;
+	},
+
+	addPlugin : function(n, p) {
+		if (!this.hasPlugin(n)) {
+			tinyMCE.addPlugin(n, p);
+			this.plugins[this.plugins.length] = n;
+		}
+	},
+
+	repaint : function() {
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			return;
+
+		try {
+			var s = this.selection;
+			var b = s.getBookmark(true);
+			this.getBody().style.display = 'none';
+			this.getDoc().execCommand('selectall', false, null);
+			this.getSel().collapseToStart();
+			this.getBody().style.display = 'block';
+			s.moveToBookmark(b);
+		} catch (ex) {
+			// Ignore
+		}
+	},
+
+	switchSettings : function() {
+		if (tinyMCE.configs.length > 1 && tinyMCE.currentConfig != this.settings['index']) {
+			tinyMCE.settings = this.settings;
+			tinyMCE.currentConfig = this.settings['index'];
+		}
+	},
+
+	getBody : function() {
+		return this.getDoc().body;
+	},
+
+	getDoc : function() {
+		return this.contentWindow.document;
+	},
+
+	getWin : function() {
+		return this.contentWindow;
+	},
+
+	addShortcut : function(m, k, d, cmd, ui, va) {
+		var n = typeof(k) == "number", ie = tinyMCE.isMSIE, c, sc, i;
+		var scl = this.shortcuts;
+
+		if (!tinyMCE.getParam('custom_shortcuts'))
+			return false;
+
+		m = m.toLowerCase();
+		k = ie && !n ? k.toUpperCase() : k;
+		c = n ? null : k.charCodeAt(0);
+		d = d && d.indexOf('lang_') == 0 ? tinyMCE.getLang(d) : d;
+
+		sc = {
+			alt : m.indexOf('alt') != -1,
+			ctrl : m.indexOf('ctrl') != -1,
+			shift : m.indexOf('shift') != -1,
+			charCode : c,
+			keyCode : n ? k : (ie ? c : null),
+			desc : d,
+			cmd : cmd,
+			ui : ui,
+			val : va
+		};
+
+		for (i=0; i<scl.length; i++) {
+			if (sc.alt == scl[i].alt && sc.ctrl == scl[i].ctrl && sc.shift == scl[i].shift
+				&& sc.charCode == scl[i].charCode && sc.keyCode == scl[i].keyCode) {
+				return false;
+			}
+		}
+
+		scl[scl.length] = sc;
+
+		return true;
+	},
+
+	handleShortcut : function(e) {
+		var i, s = this.shortcuts, o;
+
+		for (i=0; i<s.length; i++) {
+			o = s[i];
+			if (o.alt == e.altKey && o.ctrl == e.ctrlKey && (o.keyCode == e.keyCode || o.charCode == e.charCode)) {
+				if (o.cmd && (e.type == "keydown" || (e.type == "keypress" && !tinyMCE.isOpera)))
+					tinyMCE.execCommand(o.cmd, o.ui, o.val);
+
+				tinyMCE.cancelEvent(e);
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	autoResetDesignMode : function() {
+		// Add fix for tab/style.display none/block problems in Gecko
+		if (!tinyMCE.isMSIE && this.isHidden() && tinyMCE.getParam('auto_reset_designmode'))
+			eval('try { this.getDoc().designMode = "On"; } catch(e) {}');
+	},
+
+	isHidden : function() {
+		if (tinyMCE.isMSIE)
+			return false;
+
+		var s = this.getSel();
+
+		// Weird, wheres that cursor selection?
+		return (!s || !s.rangeCount || s.rangeCount == 0);
+	},
+
+	isDirty : function() {
+		// Is content modified and not in a submit procedure
+		return this.startContent != tinyMCE.trim(this.getBody().innerHTML) && !tinyMCE.isNotDirty;
+	},
+
+	_mergeElements : function(scmd, pa, ch, override) {
+		if (scmd == "removeformat") {
+			pa.className = "";
+			pa.style.cssText = "";
+			ch.className = "";
+			ch.style.cssText = "";
+			return;
+		}
+
+		var st = tinyMCE.parseStyle(tinyMCE.getAttrib(pa, "style"));
+		var stc = tinyMCE.parseStyle(tinyMCE.getAttrib(ch, "style"));
+		var className = tinyMCE.getAttrib(pa, "class");
+
+		className += " " + tinyMCE.getAttrib(ch, "class");
+
+		if (override) {
+			for (var n in st) {
+				if (typeof(st[n]) == 'function')
+					continue;
+
+				stc[n] = st[n];
+			}
+		} else {
+			for (var n in stc) {
+				if (typeof(stc[n]) == 'function')
+					continue;
+
+				st[n] = stc[n];
+			}
+		}
+
+		tinyMCE.setAttrib(pa, "style", tinyMCE.serializeStyle(st));
+		tinyMCE.setAttrib(pa, "class", tinyMCE.trim(className));
+		ch.className = "";
+		ch.style.cssText = "";
+		ch.removeAttribute("class");
+		ch.removeAttribute("style");
+	},
+
+	_setUseCSS : function(b) {
+		var d = this.getDoc();
+
+		try {d.execCommand("useCSS", false, !b);} catch (ex) {}
+		try {d.execCommand("styleWithCSS", false, b);} catch (ex) {}
+
+		if (!tinyMCE.getParam("table_inline_editing"))
+			try {d.execCommand('enableInlineTableEditing', false, "false");} catch (ex) {}
+
+		if (!tinyMCE.getParam("object_resizing"))
+			try {d.execCommand('enableObjectResizing', false, "false");} catch (ex) {}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var doc = this.getDoc();
+		var win = this.getWin();
+		var focusElm = this.getFocusElement();
+
+		// Is non udno specific command
+		if (!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel', 'gi').test(command))
+			this.undoBookmark = null;
+
+		if (this.lastSafariSelection && !new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel', 'gi').test(command)) {
+			this.selection.moveToBookmark(this.lastSafariSelection);
+			tinyMCE.selectedElement = this.lastSafariSelectedElement;
+		}
+
+		// Mozilla issue
+		if (!tinyMCE.isMSIE && !this.useCSS) {
+			this._setUseCSS(false);
+			this.useCSS = true;
+		}
+
+		//debug("command: " + command + ", user_interface: " + user_interface + ", value: " + value);
+		this.contentDocument = doc; // <-- Strange, unless this is applied Mozilla 1.3 breaks
+
+		if (tinyMCE.execCommandCallback(this, 'execcommand_callback', 'execCommand', this.editorId, this.getBody(), command, user_interface, value))
+			return;
+
+		// Fix align on images
+		if (focusElm && focusElm.nodeName == "IMG") {
+			var align = focusElm.getAttribute('align');
+			var img = command == "JustifyCenter" ? focusElm.cloneNode(false) : focusElm;
+
+			switch (command) {
+				case "JustifyLeft":
+					if (align == 'left')
+						img.removeAttribute('align');
+					else
+						img.setAttribute('align', 'left');
+
+					// Remove the div
+					var div = focusElm.parentNode;
+					if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+
+				case "JustifyCenter":
+					img.removeAttribute('align');
+
+					// Is centered
+					var div = tinyMCE.getParentElement(focusElm, "div");
+					if (div && div.style.textAlign == "center") {
+						// Remove div
+						if (div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+							div.parentNode.replaceChild(img, div);
+					} else {
+						// Add div
+						var div = this.getDoc().createElement("div");
+						div.style.textAlign = 'center';
+						div.appendChild(img);
+						focusElm.parentNode.replaceChild(div, focusElm);
+					}
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+
+				case "JustifyRight":
+					if (align == 'right')
+						img.removeAttribute('align');
+					else
+						img.setAttribute('align', 'right');
+
+					// Remove the div
+					var div = focusElm.parentNode;
+					if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+			}
+		}
+
+		if (tinyMCE.settings['force_br_newlines']) {
+			var alignValue = "";
+
+			if (doc.selection.type != "Control") {
+				switch (command) {
+						case "JustifyLeft":
+							alignValue = "left";
+							break;
+
+						case "JustifyCenter":
+							alignValue = "center";
+							break;
+
+						case "JustifyFull":
+							alignValue = "justify";
+							break;
+
+						case "JustifyRight":
+							alignValue = "right";
+							break;
+				}
+
+				if (alignValue != "") {
+					var rng = doc.selection.createRange();
+
+					if ((divElm = tinyMCE.getParentElement(rng.parentElement(), "div")) != null)
+						divElm.setAttribute("align", alignValue);
+					else if (rng.pasteHTML && rng.htmlText.length > 0)
+						rng.pasteHTML('<div align="' + alignValue + '">' + rng.htmlText + "</div>");
+
+					tinyMCE.triggerNodeChange();
+					return;
+				}
+			}
+		}
+
+		switch (command) {
+			case "mceRepaint":
+				this.repaint();
+				return true;
+
+			case "InsertUnorderedList":
+			case "InsertOrderedList":
+				var tag = (command == "InsertUnorderedList") ? "ul" : "ol";
+
+				if (tinyMCE.isSafari)
+					this.execCommand("mceInsertContent", false, "<" + tag + "><li>&nbsp;</li><" + tag + ">");
+				else
+					this.getDoc().execCommand(command, user_interface, value);
+
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "Strikethrough":
+				if (tinyMCE.isSafari)
+					this.execCommand("mceInsertContent", false, "<strike>" + this.selection.getSelectedHTML() + "</strike>");
+				else
+					this.getDoc().execCommand(command, user_interface, value);
+
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "mceSelectNode":
+				this.selection.selectNode(value);
+				tinyMCE.triggerNodeChange();
+				tinyMCE.selectedNode = value;
+				break;
+
+			case "FormatBlock":
+				if (value == null || value == "") {
+					var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");
+
+					if (elm)
+						this.execCommand("mceRemoveNode", false, elm);
+				} else {
+					if (tinyMCE.isGecko && new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>', 'gi').test(value))
+						value = value.replace(/[^a-z]/gi, '');
+
+					if (tinyMCE.isMSIE && new RegExp('blockquote|code|samp', 'gi').test(value)) {
+						var b = this.selection.getBookmark();
+						this.getDoc().execCommand("FormatBlock", false, '<p>');
+						tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()), value);
+						this.selection.moveToBookmark(b);
+					} else
+						this.getDoc().execCommand("FormatBlock", false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "mceRemoveNode":
+				if (!value)
+					value = tinyMCE.getParentElement(this.getFocusElement());
+
+				if (tinyMCE.isMSIE) {
+					value.outerHTML = value.innerHTML;
+				} else {
+					var rng = value.ownerDocument.createRange();
+					rng.setStartBefore(value);
+					rng.setEndAfter(value);
+					rng.deleteContents();
+					rng.insertNode(rng.createContextualFragment(value.innerHTML));
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "mceSelectNodeDepth":
+				var parentNode = this.getFocusElement();
+				for (var i=0; parentNode; i++) {
+					if (parentNode.nodeName.toLowerCase() == "body")
+						break;
+
+					if (parentNode.nodeName.toLowerCase() == "#text") {
+						i--;
+						parentNode = parentNode.parentNode;
+						continue;
+					}
+
+					if (i == value) {
+						this.selection.selectNode(parentNode, false);
+						tinyMCE.triggerNodeChange();
+						tinyMCE.selectedNode = parentNode;
+						return;
+					}
+
+					parentNode = parentNode.parentNode;
+				}
+
+				break;
+
+			case "SetStyleInfo":
+				var rng = this.getRng();
+				var sel = this.getSel();
+				var scmd = value['command'];
+				var sname = value['name'];
+				var svalue = value['value'] == null ? '' : value['value'];
+				//var svalue = value['value'] == null ? '' : value['value'];
+				var wrapper = value['wrapper'] ? value['wrapper'] : "span";
+				var parentElm = null;
+				var invalidRe = new RegExp("^BODY|HTML$", "g");
+				var invalidParentsRe = tinyMCE.settings['merge_styles_invalid_parents'] != '' ? new RegExp(tinyMCE.settings['merge_styles_invalid_parents'], "gi") : null;
+
+				// Whole element selected check
+				if (tinyMCE.isMSIE) {
+					// Control range
+					if (rng.item)
+						parentElm = rng.item(0);
+					else {
+						var pelm = rng.parentElement();
+						var prng = doc.selection.createRange();
+						prng.moveToElementText(pelm);
+
+						if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) {
+							if (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName))
+								parentElm = pelm;
+						}
+					}
+				} else {
+					var felm = this.getFocusElement();
+					if (sel.isCollapsed || (new RegExp('td|tr|tbody|table', 'gi').test(felm.nodeName) && sel.anchorNode == felm.parentNode))
+						parentElm = felm;
+				}
+
+				// Whole element selected
+				if (parentElm && !invalidRe.test(parentElm.nodeName)) {
+					if (scmd == "setstyle")
+						tinyMCE.setStyleAttrib(parentElm, sname, svalue);
+
+					if (scmd == "setattrib")
+						tinyMCE.setAttrib(parentElm, sname, svalue);
+
+					if (scmd == "removeformat") {
+						parentElm.style.cssText = '';
+						tinyMCE.setAttrib(parentElm, 'class', '');
+					}
+
+					// Remove style/attribs from all children
+					var ch = tinyMCE.getNodeTree(parentElm, new Array(), 1);
+					for (var z=0; z<ch.length; z++) {
+						if (ch[z] == parentElm)
+							continue;
+
+						if (scmd == "setstyle")
+							tinyMCE.setStyleAttrib(ch[z], sname, '');
+
+						if (scmd == "setattrib")
+							tinyMCE.setAttrib(ch[z], sname, '');
+
+						if (scmd == "removeformat") {
+							ch[z].style.cssText = '';
+							tinyMCE.setAttrib(ch[z], 'class', '');
+						}
+					}
+				} else {
+					this._setUseCSS(false); // Bug in FF when running in fullscreen
+					doc.execCommand("FontName", false, "#mce_temp_font#");
+					var elementArray = tinyMCE.getElementsByAttributeValue(this.getBody(), "font", "face", "#mce_temp_font#");
+
+					// Change them all
+					for (var x=0; x<elementArray.length; x++) {
+						elm = elementArray[x];
+						if (elm) {
+							var spanElm = doc.createElement(wrapper);
+
+							if (scmd == "setstyle")
+								tinyMCE.setStyleAttrib(spanElm, sname, svalue);
+
+							if (scmd == "setattrib")
+								tinyMCE.setAttrib(spanElm, sname, svalue);
+
+							if (scmd == "removeformat") {
+								spanElm.style.cssText = '';
+								tinyMCE.setAttrib(spanElm, 'class', '');
+							}
+
+							if (elm.hasChildNodes()) {
+								for (var i=0; i<elm.childNodes.length; i++)
+									spanElm.appendChild(elm.childNodes[i].cloneNode(true));
+							}
+
+							spanElm.setAttribute("mce_new", "true");
+							elm.parentNode.replaceChild(spanElm, elm);
+
+							// Remove style/attribs from all children
+							var ch = tinyMCE.getNodeTree(spanElm, new Array(), 1);
+							for (var z=0; z<ch.length; z++) {
+								if (ch[z] == spanElm)
+									continue;
+
+								if (scmd == "setstyle")
+									tinyMCE.setStyleAttrib(ch[z], sname, '');
+
+								if (scmd == "setattrib")
+									tinyMCE.setAttrib(ch[z], sname, '');
+
+								if (scmd == "removeformat") {
+									ch[z].style.cssText = '';
+									tinyMCE.setAttrib(ch[z], 'class', '');
+								}
+							}
+						}
+					}
+				}
+
+				// Cleaup wrappers
+				var nodes = doc.getElementsByTagName(wrapper);
+				for (var i=nodes.length-1; i>=0; i--) {
+					var elm = nodes[i];
+					var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true";
+
+					elm.removeAttribute("mce_new");
+
+					// Is only child a element
+					if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) {
+						//tinyMCE.debug("merge1" + isNew);
+						this._mergeElements(scmd, elm, elm.childNodes[0], isNew);
+						continue;
+					}
+
+					// Is I the only child
+					if (elm.parentNode.childNodes.length == 1 && !invalidRe.test(elm.nodeName) && !invalidRe.test(elm.parentNode.nodeName)) {
+						//tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName);
+						if (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName))
+							this._mergeElements(scmd, elm.parentNode, elm, false);
+					}
+				}
+
+				// Remove empty wrappers
+				var nodes = doc.getElementsByTagName(wrapper);
+				for (var i=nodes.length-1; i>=0; i--) {
+					var elm = nodes[i];
+					var isEmpty = true;
+
+					// Check if it has any attribs
+					var tmp = doc.createElement("body");
+					tmp.appendChild(elm.cloneNode(false));
+
+					// Is empty span, remove it
+					tmp.innerHTML = tmp.innerHTML.replace(new RegExp('style=""|class=""', 'gi'), '');
+					//tinyMCE.debug(tmp.innerHTML);
+					if (new RegExp('<span>', 'gi').test(tmp.innerHTML)) {
+						for (var x=0; x<elm.childNodes.length; x++) {
+							if (elm.parentNode != null)
+								elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true), elm);
+						}
+
+						elm.parentNode.removeChild(elm);
+					}
+				}
+
+				// Re add the visual aids
+				if (scmd == "removeformat")
+					tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "FontName":
+				if (value == null) {
+					var s = this.getSel();
+
+					// Find font and select it
+					if (tinyMCE.isGecko && s.isCollapsed) {
+						var f = tinyMCE.getParentElement(this.getFocusElement(), "font");
+
+						if (f != null)
+							this.selection.selectNode(f, false);
+					}
+
+					// Remove format
+					this.getDoc().execCommand("RemoveFormat", false, null);
+
+					// Collapse range if font was found
+					if (f != null && tinyMCE.isGecko) {
+						var r = this.getRng().cloneRange();
+						r.collapse(true);
+						s.removeAllRanges();
+						s.addRange(r);
+					}
+				} else
+					this.getDoc().execCommand('FontName', false, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+
+				return;
+
+			case "FontSize":
+				this.getDoc().execCommand('FontSize', false, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+
+				return;
+
+			case "forecolor":
+				this.getDoc().execCommand('forecolor', false, value);
+				break;
+
+			case "HiliteColor":
+				if (tinyMCE.isGecko) {
+					this._setUseCSS(true);
+					this.getDoc().execCommand('hilitecolor', false, value);
+					this._setUseCSS(false);
+				} else
+					this.getDoc().execCommand('BackColor', false, value);
+				break;
+
+			case "Cut":
+			case "Copy":
+			case "Paste":
+				var cmdFailed = false;
+
+				// Try executing command
+				eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');
+
+				if (tinyMCE.isOpera && cmdFailed)
+					alert('Currently not supported by your browser, use keyboard shortcuts instead.');
+
+				// Alert error in gecko if command failed
+				if (tinyMCE.isGecko && cmdFailed) {
+					// Confirm more info
+					if (confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))
+						window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal');
+
+					return;
+				} else
+					tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceSetContent":
+				if (!value)
+					value = "";
+
+				// Call custom cleanup code
+				value = tinyMCE.storeAwayURLs(value);
+				value = tinyMCE._customCleanup(this, "insert_to_editor", value);
+				tinyMCE._setHTML(doc, value);
+				tinyMCE.setInnerHTML(doc.body, tinyMCE._cleanupHTML(this, doc, tinyMCE.settings, doc.body));
+				tinyMCE.convertAllRelativeURLs(doc.body);
+
+				// Cleanup any mess left from storyAwayURLs
+				tinyMCE._removeInternal(this.getBody());
+
+				// When editing always use fonts internaly
+				if (tinyMCE.getParam("convert_fonts_to_spans"))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(doc.body, true, this.visualAid, this);
+				tinyMCE._setEventsEnabled(doc.body, false);
+				return true;
+
+			case "mceCleanup":
+				var b = this.selection.getBookmark();
+				tinyMCE._setHTML(this.contentDocument, this.getBody().innerHTML);
+				tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, this.contentDocument, this.settings, this.getBody(), this.visualAid));
+				tinyMCE.convertAllRelativeURLs(doc.body);
+
+				// When editing always use fonts internaly
+				if (tinyMCE.getParam("convert_fonts_to_spans"))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE._setEventsEnabled(this.getBody(), false);
+				this.repaint();
+				this.selection.moveToBookmark(b);
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceReplaceContent":
+				// Force empty string
+				if (!value)
+					value = '';
+
+				this.getWin().focus();
+
+				var selectedText = "";
+
+				if (tinyMCE.isMSIE) {
+					var rng = doc.selection.createRange();
+					selectedText = rng.text;
+				} else
+					selectedText = this.getSel().toString();
+
+				if (selectedText.length > 0) {
+					value = tinyMCE.replaceVar(value, "selection", selectedText);
+					tinyMCE.execCommand('mceInsertContent', false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceSetAttribute":
+				if (typeof(value) == 'object') {
+					var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets'];
+					var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms);
+
+					if (targetNode) {
+						targetNode.setAttribute(value['name'], value['value']);
+						tinyMCE.triggerNodeChange();
+					}
+				}
+			break;
+
+			case "mceSetCSSClass":
+				this.execCommand("SetStyleInfo", false, {command : "setattrib", name : "class", value : value});
+			break;
+
+			case "mceInsertRawHTML":
+				var key = 'tiny_mce_marker';
+
+				this.execCommand('mceBeginUndoLevel');
+
+				// Insert marker key
+				this.execCommand('mceInsertContent', false, key);
+
+				// Store away scroll pos
+				var scrollX = this.getDoc().body.scrollLeft + this.getDoc().documentElement.scrollLeft;
+				var scrollY = this.getDoc().body.scrollTop + this.getDoc().documentElement.scrollTop;
+
+				// Find marker and replace with RAW HTML
+				var html = this.getBody().innerHTML;
+				if ((pos = html.indexOf(key)) != -1)
+					tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length));
+
+				// Restore scoll pos
+				this.contentWindow.scrollTo(scrollX, scrollY);
+
+				this.execCommand('mceEndUndoLevel');
+
+				break;
+
+			case "mceInsertContent":
+				// Force empty string
+				if (!value)
+					value = '';
+
+				var insertHTMLFailed = false;
+				this.getWin().focus();
+
+				if (tinyMCE.isGecko || tinyMCE.isOpera) {
+					try {
+						// Is plain text or HTML, &amp;, &nbsp; etc will be encoded wrong in FF
+						if (value.indexOf('<') == -1 && !value.match(/(&#38;|&#160;|&#60;|&#62;)/g)) {
+							var r = this.getRng();
+							var n = this.getDoc().createTextNode(tinyMCE.entityDecode(value));
+							var s = this.getSel();
+							var r2 = r.cloneRange();
+
+							// Insert text at cursor position
+							s.removeAllRanges();
+							r.deleteContents();
+							r.insertNode(n);
+
+							// Move the cursor to the end of text
+							r2.selectNode(n);
+							r2.collapse(false);
+							s.removeAllRanges();
+							s.addRange(r2);
+						} else {
+							value = tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value);
+							this.getDoc().execCommand('inserthtml', false, value);
+							tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
+						}
+					} catch (ex) {
+						insertHTMLFailed = true;
+					}
+
+					if (!insertHTMLFailed) {
+						tinyMCE.triggerNodeChange();
+						return;
+					}
+				}
+
+				// Ugly hack in Opera due to non working "inserthtml"
+				if (tinyMCE.isOpera && insertHTMLFailed) {
+					this.getDoc().execCommand("insertimage", false, tinyMCE.uniqueURL);
+					var ar = tinyMCE.getElementsByAttributeValue(this.getBody(), "img", "src", tinyMCE.uniqueURL);
+					ar[0].outerHTML = value;
+					return;
+				}
+
+				if (!tinyMCE.isMSIE) {
+					var isHTML = value.indexOf('<') != -1;
+					var sel = this.getSel();
+					var rng = this.getRng();
+
+					if (isHTML) {
+						if (tinyMCE.isSafari) {
+							var tmpRng = this.getDoc().createRange();
+
+							tmpRng.setStart(this.getBody(), 0);
+							tmpRng.setEnd(this.getBody(), 0);
+
+							value = tmpRng.createContextualFragment(value);
+						} else
+							value = rng.createContextualFragment(value);
+					} else {
+						// Setup text node
+						var el = document.createElement("div");
+						el.innerHTML = value;
+						value = el.firstChild.nodeValue;
+						value = doc.createTextNode(value);
+					}
+
+					// Insert plain text in Safari
+					if (tinyMCE.isSafari && !isHTML) {
+						this.execCommand('InsertText', false, value.nodeValue);
+						tinyMCE.triggerNodeChange();
+						return true;
+					} else if (tinyMCE.isSafari && isHTML) {
+						rng.deleteContents();
+						rng.insertNode(value);
+						tinyMCE.triggerNodeChange();
+						return true;
+					}
+
+					rng.deleteContents();
+
+					// If target node is text do special treatment, (Mozilla 1.3 fix)
+					if (rng.startContainer.nodeType == 3) {
+						var node = rng.startContainer.splitText(rng.startOffset);
+						node.parentNode.insertBefore(value, node); 
+					} else
+						rng.insertNode(value);
+
+					if (!isHTML) {
+						// Removes weird selection trails
+						sel.selectAllChildren(doc.body);
+						sel.removeAllRanges();
+
+						// Move cursor to end of content
+						var rng = doc.createRange();
+
+						rng.selectNode(value);
+						rng.collapse(false);
+
+						sel.addRange(rng);
+					} else
+						rng.collapse(false);
+
+					tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
+				} else {
+					var rng = doc.selection.createRange();
+					var c = value.indexOf('<!--') != -1;
+
+					// Fix comment bug, add tag before comments
+					if (c)
+						value = tinyMCE.uniqueTag + value;
+
+					if (rng.item)
+						rng.item(0).outerHTML = value;
+					else
+						rng.pasteHTML(value);
+
+					// Remove unique tag
+					if (c) {
+						var e = this.getDoc().getElementById('mceTMPElement');
+						e.parentNode.removeChild(e);
+					}
+				}
+
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceStartTyping":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex == -1) {
+					this.undoRedo.typingUndoIndex = this.undoRedo.undoIndex;
+					this.execCommand('mceAddUndoLevel');
+					//tinyMCE.debug("mceStartTyping");
+				}
+				break;
+
+			case "mceEndTyping":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex != -1) {
+					this.execCommand('mceAddUndoLevel');
+					this.undoRedo.typingUndoIndex = -1;
+					//tinyMCE.debug("mceEndTyping");
+				}
+				break;
+
+			case "mceBeginUndoLevel":
+				this.undoRedoLevel = false;
+				break;
+
+			case "mceEndUndoLevel":
+				this.undoRedoLevel = true;
+				this.execCommand('mceAddUndoLevel');
+				break;
+
+			case "mceAddUndoLevel":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedoLevel) {
+					if (this.undoRedo.add())
+						tinyMCE.triggerNodeChange(false);
+				}
+				break;
+
+			case "Undo":
+				if (tinyMCE.settings['custom_undo_redo']) {
+					tinyMCE.execCommand("mceEndTyping");
+					this.undoRedo.undo();
+					tinyMCE.triggerNodeChange();
+				} else
+					this.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case "Redo":
+				if (tinyMCE.settings['custom_undo_redo']) {
+					tinyMCE.execCommand("mceEndTyping");
+					this.undoRedo.redo();
+					tinyMCE.triggerNodeChange();
+				} else
+					this.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case "mceToggleVisualAid":
+				this.visualAid = !this.visualAid;
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "Indent":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+				if (tinyMCE.isMSIE) {
+					var n = tinyMCE.getParentElement(this.getFocusElement(), "blockquote");
+					do {
+						if (n && n.nodeName == "BLOCKQUOTE") {
+							n.removeAttribute("dir");
+							n.removeAttribute("style");
+						}
+					} while (n != null && (n = n.parentNode) != null);
+				}
+				break;
+
+			case "removeformat":
+				var text = this.selection.getSelectedText();
+
+				if (tinyMCE.isOpera) {
+					this.getDoc().execCommand("RemoveFormat", false, null);
+					return;
+				}
+
+				if (tinyMCE.isMSIE) {
+					try {
+						var rng = doc.selection.createRange();
+						rng.execCommand("RemoveFormat", false, null);
+					} catch (e) {
+						// Do nothing
+					}
+
+					this.execCommand("SetStyleInfo", false, {command : "removeformat"});
+				} else {
+					this.getDoc().execCommand(command, user_interface, value);
+
+					this.execCommand("SetStyleInfo", false, {command : "removeformat"});
+				}
+
+				// Remove class
+				if (text.length == 0)
+					this.execCommand("mceSetCSSClass", false, "");
+
+				tinyMCE.triggerNodeChange();
+				break;
+
+			default:
+				this.getDoc().execCommand(command, user_interface, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+				else
+					tinyMCE.triggerNodeChange();
+		}
+
+		// Add undo level after modification
+		if (command != "mceAddUndoLevel" && command != "Undo" && command != "Redo" && command != "mceStartTyping" && command != "mceEndTyping")
+			tinyMCE.execCommand("mceAddUndoLevel");
+	},
+
+	queryCommandValue : function(c) {
+		try {
+			return this.getDoc().queryCommandValue(c);
+		} catch (e) {
+			return null;
+		}
+	},
+
+	queryCommandState : function(c) {
+		return this.getDoc().queryCommandState(c);
+	},
+
+	_onAdd : function(replace_element, form_element_name, target_document) {
+		var hc, th, to, editorTemplate;
+
+		th = this.settings['theme'];
+		to = tinyMCE.themes[th];
+
+		var targetDoc = target_document ? target_document : document;
+
+		this.targetDoc = targetDoc;
+
+		tinyMCE.themeURL = tinyMCE.baseURL + "/themes/" + this.settings['theme'];
+		this.settings['themeurl'] = tinyMCE.themeURL;
+
+		if (!replace_element) {
+			alert("Error: Could not find the target element.");
+			return false;
+		}
+
+		if (to.getEditorTemplate)
+			editorTemplate = to.getEditorTemplate(this.settings, this.editorId);
+
+		var deltaWidth = editorTemplate['delta_width'] ? editorTemplate['delta_width'] : 0;
+		var deltaHeight = editorTemplate['delta_height'] ? editorTemplate['delta_height'] : 0;
+		var html = '<span id="' + this.editorId + '_parent" class="mceEditorContainer">' + editorTemplate['html'];
+
+		html = tinyMCE.replaceVar(html, "editor_id", this.editorId);
+		this.settings['default_document'] = tinyMCE.baseURL + "/blank.htm";
+
+		this.settings['old_width'] = this.settings['width'];
+		this.settings['old_height'] = this.settings['height'];
+
+		// Set default width, height
+		if (this.settings['width'] == -1)
+			this.settings['width'] = replace_element.offsetWidth;
+
+		if (this.settings['height'] == -1)
+			this.settings['height'] = replace_element.offsetHeight;
+
+		// Try the style width
+		if (this.settings['width'] == 0)
+			this.settings['width'] = replace_element.style.width;
+
+		// Try the style height
+		if (this.settings['height'] == 0)
+			this.settings['height'] = replace_element.style.height; 
+
+		// If no width/height then default to 320x240, better than nothing
+		if (this.settings['width'] == 0)
+			this.settings['width'] = 320;
+
+		if (this.settings['height'] == 0)
+			this.settings['height'] = 240;
+
+		this.settings['area_width'] = parseInt(this.settings['width']);
+		this.settings['area_height'] = parseInt(this.settings['height']);
+		this.settings['area_width'] += deltaWidth;
+		this.settings['area_height'] += deltaHeight;
+
+		// Special % handling
+		if (("" + this.settings['width']).indexOf('%') != -1)
+			this.settings['area_width'] = "100%";
+
+		if (("" + this.settings['height']).indexOf('%') != -1)
+			this.settings['area_height'] = "100%";
+
+		if (("" + replace_element.style.width).indexOf('%') != -1) {
+			this.settings['width'] = replace_element.style.width;
+			this.settings['area_width'] = "100%";
+		}
+
+		if (("" + replace_element.style.height).indexOf('%') != -1) {
+			this.settings['height'] = replace_element.style.height;
+			this.settings['area_height'] = "100%";
+		}
+
+		html = tinyMCE.applyTemplate(html);
+
+		this.settings['width'] = this.settings['old_width'];
+		this.settings['height'] = this.settings['old_height'];
+
+		this.visualAid = this.settings['visual'];
+		this.formTargetElementId = form_element_name;
+
+		// Get replace_element contents
+		if (replace_element.nodeName == "TEXTAREA" || replace_element.nodeName == "INPUT")
+			this.startContent = replace_element.value;
+		else
+			this.startContent = replace_element.innerHTML;
+
+		// If not text area or input
+		if (replace_element.nodeName != "TEXTAREA" && replace_element.nodeName != "INPUT") {
+			this.oldTargetElement = replace_element;
+
+			// Debug mode
+			if (tinyMCE.settings['debug']) {
+				hc = '<textarea wrap="off" id="' + form_element_name + '" name="' + form_element_name + '" cols="100" rows="15"></textarea>';
+			} else {
+				hc = '<input type="hidden" id="' + form_element_name + '" name="' + form_element_name + '" />';
+				this.oldTargetElement.style.display = "none";
+			}
+
+			html += '</span>';
+
+			if (tinyMCE.isGecko)
+				html = hc + html;
+			else
+				html += hc;
+
+			// Output HTML and set editable
+			if (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} else
+				replace_element.insertAdjacentHTML("beforeBegin", html);
+		} else {
+			html += '</span>';
+
+			// Just hide the textarea element
+			this.oldTargetElement = replace_element;
+
+			if (!tinyMCE.settings['debug'])
+				this.oldTargetElement.style.display = "none";
+
+			// Output HTML and set editable
+			if (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} else
+				replace_element.insertAdjacentHTML("beforeBegin", html);
+		}
+
+		// Setup iframe
+		var dynamicIFrame = false;
+		var tElm = targetDoc.getElementById(this.editorId);
+
+		if (!tinyMCE.isMSIE) {
+			// Node case is preserved in XML strict mode
+			if (tElm && (tElm.nodeName == "SPAN" || tElm.nodeName == "span")) {
+				tElm = tinyMCE._createIFrame(tElm, targetDoc);
+				dynamicIFrame = true;
+			}
+
+			this.targetElement = tElm;
+			this.iframeElement = tElm;
+			this.contentDocument = tElm.contentDocument;
+			this.contentWindow = tElm.contentWindow;
+
+			//this.getDoc().designMode = "on";
+		} else {
+			if (tElm && tElm.nodeName == "SPAN")
+				tElm = tinyMCE._createIFrame(tElm, targetDoc, targetDoc.parentWindow);
+			else
+				tElm = targetDoc.frames[this.editorId];
+
+			this.targetElement = tElm;
+			this.iframeElement = targetDoc.getElementById(this.editorId);
+
+			if (tinyMCE.isOpera) {
+				this.contentDocument = this.iframeElement.contentDocument;
+				this.contentWindow = this.iframeElement.contentWindow;
+				dynamicIFrame = true;
+			} else {
+				this.contentDocument = tElm.window.document;
+				this.contentWindow = tElm.window;
+			}
+
+			this.getDoc().designMode = "on";
+		}
+
+		// Setup base HTML
+		var doc = this.contentDocument;
+		if (dynamicIFrame) {
+			var html = tinyMCE.getParam('doctype') + '<html><head xmlns="http://www.w3.org/1999/xhtml"><base href="' + tinyMCE.settings['base_href'] + '" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';
+
+			try {
+				if (!this.isHidden())
+					this.getDoc().designMode = "on";
+
+				doc.open();
+				doc.write(html);
+				doc.close();
+			} catch (e) {
+				// Failed Mozilla 1.3
+				this.getDoc().location.href = tinyMCE.baseURL + "/blank.htm";
+			}
+		}
+
+		// This timeout is needed in MSIE 5.5 for some odd reason
+		// it seems that the document.frames isn't initialized yet?
+		if (tinyMCE.isMSIE)
+			window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\"" + this.editorId + "\"]);", 1);
+
+		tinyMCE.setupContent(this.editorId, true);
+
+		return true;
+	},
+
+	setBaseHREF : function(u) {
+		var h, b, d, nl;
+
+		d = this.getDoc();
+		nl = d.getElementsByTagName("base");
+		b = nl.length > 0 ? nl[0] : null;
+
+		if (!b) {
+			nl = d.getElementsByTagName("head");
+			h = nl.length > 0 ? nl[0] : null;
+
+			b = d.createElement("base");
+			b.setAttribute('href', u);
+			h.appendChild(b);
+		} else {
+			if (u == "" || u == null)
+				b.parentNode.removeChild(b);
+			else
+				b.setAttribute('href', u);
+		}
+	},
+
+	getFocusElement : function() {
+		return this.selection.getFocusElement();
+	},
+
+	getSel : function() {
+		return this.selection.getSel();
+	},
+
+	getRng : function() {
+		return this.selection.getRng();
+	},
+
+	triggerSave : function(skip_cleanup, skip_callback) {
+		var e, nl = new Array(), i, s;
+
+		this.switchSettings();
+		s = tinyMCE.settings;
+
+		// Force hidden tabs visible while serializing
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
+			e = this.iframeElement;
+
+			do {
+				if (e.style && e.style.display == 'none') {
+					e.style.display = 'block';
+					nl[nl.length] = {elm : e, type : 'style'};
+				}
+
+				if (e.style && s.hidden_tab_class.length > 0 && e.className.indexOf(s.hidden_tab_class) != -1) {
+					e.className = s.display_tab_class;
+					nl[nl.length] = {elm : e, type : 'class'};
+				}
+			} while ((e = e.parentNode) != null)
+		}
+
+		tinyMCE.settings['preformatted'] = false;
+
+		// Default to false
+		if (typeof(skip_cleanup) == "undefined")
+			skip_cleanup = false;
+
+		// Default to false
+		if (typeof(skip_callback) == "undefined")
+			skip_callback = false;
+
+		tinyMCE._setHTML(this.getDoc(), this.getBody().innerHTML);
+
+		// Remove visual aids when cleanup is disabled
+		if (this.settings['cleanup'] == false) {
+			tinyMCE.handleVisualAid(this.getBody(), true, false, this);
+			tinyMCE._setEventsEnabled(this.getBody(), true);
+		}
+
+		tinyMCE._customCleanup(this, "submit_content_dom", this.contentWindow.document.body);
+		var htm = skip_cleanup ? this.getBody().innerHTML : tinyMCE._cleanupHTML(this, this.getDoc(), this.settings, this.getBody(), tinyMCE.visualAid, true, true);
+		htm = tinyMCE._customCleanup(this, "submit_content", htm);
+
+		if (!skip_callback && tinyMCE.settings['save_callback'] != "")
+			var content = eval(tinyMCE.settings['save_callback'] + "(this.formTargetElementId,htm,this.getBody());");
+
+		// Use callback content if available
+		if ((typeof(content) != "undefined") && content != null)
+			htm = content;
+
+		// Replace some weird entities (Bug: #1056343)
+		htm = tinyMCE.regexpReplace(htm, "&#40;", "(", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#41;", ")", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#59;", ";", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#34;", "&quot;", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#94;", "^", "gi");
+
+		if (this.formElement)
+			this.formElement.value = htm;
+
+		if (tinyMCE.isSafari && this.formElement)
+			this.formElement.innerText = htm;
+
+		// Hide them again (tabs in MSIE)
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].type == 'style')
+				nl[i].elm.style.display = 'none';
+			else
+				nl[i].elm.className = s.hidden_tab_class;
+		}
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Cleanup.class.js */
+
+TinyMCE_Engine.prototype.cleanupHTMLCode = function(s) {
+	s = s.replace(new RegExp('<p \\/>', 'gi'), '<p>&nbsp;</p>');
+	s = s.replace(new RegExp('<p>\\s*<\\/p>', 'gi'), '<p>&nbsp;</p>');
+
+	// Fix close BR elements
+	s = s.replace(new RegExp('<br>\\s*<\\/br>', 'gi'), '<br />');
+
+	// Open closed tags like <b/> to <b></b>
+	s = s.replace(new RegExp('<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>', 'gi'), '<$1$2$3></$1$2>');
+
+	// Remove trailing space <b > to <b>
+	s = s.replace(new RegExp('\\s+></', 'gi'), '></');
+
+	// Close tags <img></img> to <img/>
+	s = s.replace(new RegExp('<(img|br|hr)([^>]*)><\\/(img|br|hr)>', 'gi'), '<$1$2 />');
+
+	// Weird MSIE bug, <p><hr /></p> breaks runtime?
+	if (tinyMCE.isMSIE)
+		s = s.replace(new RegExp('<p><hr \\/><\\/p>', 'gi'), "<hr>");
+
+	// Convert relative anchors to absolute URLs ex: #something to file.htm#something
+	if (tinyMCE.getParam('convert_urls'))
+		s = s.replace(new RegExp('(href=\"{0,1})(\\s*#)', 'gi'), '$1' + tinyMCE.settings['document_base_url'] + "#");
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.parseStyle = function(str) {
+	var ar = new Array();
+
+	if (str == null)
+		return ar;
+
+	var st = str.split(';');
+
+	tinyMCE.clearArray(ar);
+
+	for (var i=0; i<st.length; i++) {
+		if (st[i] == '')
+			continue;
+
+		var re = new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');
+		var pa = st[i].replace(re, '$1||$2').split('||');
+//tinyMCE.debug(str, pa[0] + "=" + pa[1], st[i].replace(re, '$1||$2'));
+		if (pa.length == 2)
+			ar[pa[0].toLowerCase()] = pa[1];
+	}
+
+	return ar;
+};
+
+TinyMCE_Engine.prototype.compressStyle = function(ar, pr, sf, res) {
+	var box = new Array();
+
+	box[0] = ar[pr + '-top' + sf];
+	box[1] = ar[pr + '-left' + sf];
+	box[2] = ar[pr + '-right' + sf];
+	box[3] = ar[pr + '-bottom' + sf];
+
+	for (var i=0; i<box.length; i++) {
+		if (box[i] == null)
+			return;
+
+		for (var a=0; a<box.length; a++) {
+			if (box[a] != box[i])
+				return;
+		}
+	}
+
+	// They are all the same
+	ar[res] = box[0];
+	ar[pr + '-top' + sf] = null;
+	ar[pr + '-left' + sf] = null;
+	ar[pr + '-right' + sf] = null;
+	ar[pr + '-bottom' + sf] = null;
+};
+
+TinyMCE_Engine.prototype.serializeStyle = function(ar) {
+	var str = "";
+
+	// Compress box
+	tinyMCE.compressStyle(ar, "border", "", "border");
+	tinyMCE.compressStyle(ar, "border", "-width", "border-width");
+	tinyMCE.compressStyle(ar, "border", "-color", "border-color");
+	tinyMCE.compressStyle(ar, "border", "-style", "border-style");
+	tinyMCE.compressStyle(ar, "padding", "", "padding");
+	tinyMCE.compressStyle(ar, "margin", "", "margin");
+
+	for (var key in ar) {
+		var val = ar[key];
+
+		if (typeof(val) == 'function')
+			continue;
+
+		if (key.indexOf('mso-') == 0)
+			continue;
+
+		if (val != null && val != '') {
+			val = '' + val; // Force string
+
+			// Fix style URL
+			val = val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)", 'gi'), "url('$1')");
+
+			// Convert URL
+			if (val.indexOf('url(') != -1 && tinyMCE.getParam('convert_urls')) {
+				var m = new RegExp("url\\('(.*?)'\\)").exec(val);
+
+				if (m.length > 1)
+					val = "url('" + eval(tinyMCE.getParam('urlconverter_callback') + "(m[1], null, true);") + "')";
+			}
+
+			// Force HEX colors
+			if (tinyMCE.getParam("force_hex_style_colors"))
+				val = tinyMCE.convertRGBToHex(val, true);
+
+			if (val != "url('')")
+				str += key.toLowerCase() + ": " + val + "; ";
+		}
+	}
+
+	if (new RegExp('; $').test(str))
+		str = str.substring(0, str.length - 2);
+
+	return str;
+};
+
+TinyMCE_Engine.prototype.convertRGBToHex = function(s, k) {
+	if (s.toLowerCase().indexOf('rgb') != -1) {
+		var re = new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)", "gi");
+		var rgb = s.replace(re, "$1,$2,$3,$4,$5").split(',');
+		if (rgb.length == 5) {
+			r = parseInt(rgb[1]).toString(16);
+			g = parseInt(rgb[2]).toString(16);
+			b = parseInt(rgb[3]).toString(16);
+
+			r = r.length == 1 ? '0' + r : r;
+			g = g.length == 1 ? '0' + g : g;
+			b = b.length == 1 ? '0' + b : b;
+
+			s = "#" + r + g + b;
+
+			if (k)
+				s = rgb[0] + s + rgb[4];
+		}
+	}
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.convertHexToRGB = function(s) {
+	if (s.indexOf('#') != -1) {
+		s = s.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+		return "rgb(" + parseInt(s.substring(0, 2), 16) + "," + parseInt(s.substring(2, 4), 16) + "," + parseInt(s.substring(4, 6), 16) + ")";
+	}
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.convertSpansToFonts = function(doc) {
+	var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
+
+	var h = doc.body.innerHTML;
+	h = h.replace(/<span/gi, '<font');
+	h = h.replace(/<\/span/gi, '</font');
+	doc.body.innerHTML = h;
+
+	var s = doc.getElementsByTagName("font");
+	for (var i=0; i<s.length; i++) {
+		var size = tinyMCE.trim(s[i].style.fontSize).toLowerCase();
+		var fSize = 0;
+
+		for (var x=0; x<sizes.length; x++) {
+			if (sizes[x] == size) {
+				fSize = x + 1;
+				break;
+			}
+		}
+
+		if (fSize > 0) {
+			tinyMCE.setAttrib(s[i], 'size', fSize);
+			s[i].style.fontSize = '';
+		}
+
+		var fFace = s[i].style.fontFamily;
+		if (fFace != null && fFace != "") {
+			tinyMCE.setAttrib(s[i], 'face', fFace);
+			s[i].style.fontFamily = '';
+		}
+
+		var fColor = s[i].style.color;
+		if (fColor != null && fColor != "") {
+			tinyMCE.setAttrib(s[i], 'color', tinyMCE.convertRGBToHex(fColor));
+			s[i].style.color = '';
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.convertFontsToSpans = function(doc) {
+	var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
+
+	var h = doc.body.innerHTML;
+	h = h.replace(/<font/gi, '<span');
+	h = h.replace(/<\/font/gi, '</span');
+	doc.body.innerHTML = h;
+
+	var fsClasses = tinyMCE.getParam('font_size_classes');
+	if (fsClasses != '')
+		fsClasses = fsClasses.replace(/\s+/, '').split(',');
+	else
+		fsClasses = null;
+
+	var s = doc.getElementsByTagName("span");
+	for (var i=0; i<s.length; i++) {
+		var fSize, fFace, fColor;
+
+		fSize = tinyMCE.getAttrib(s[i], 'size');
+		fFace = tinyMCE.getAttrib(s[i], 'face');
+		fColor = tinyMCE.getAttrib(s[i], 'color');
+
+		if (fSize != "") {
+			fSize = parseInt(fSize);
+
+			if (fSize > 0 && fSize < 8) {
+				if (fsClasses != null)
+					tinyMCE.setAttrib(s[i], 'class', fsClasses[fSize-1]);
+				else
+					s[i].style.fontSize = sizes[fSize-1];
+			}
+
+			s[i].removeAttribute('size');
+		}
+
+		if (fFace != "") {
+			s[i].style.fontFamily = fFace;
+			s[i].removeAttribute('face');
+		}
+
+		if (fColor != "") {
+			s[i].style.color = fColor;
+			s[i].removeAttribute('color');
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.cleanupAnchors = function(doc) {
+	var i, cn, x, an = doc.getElementsByTagName("a");
+
+	// Loops backwards due to bug #1467987
+	for (i=an.length-1; i>=0; i--) {
+		if (tinyMCE.getAttrib(an[i], "name") != "" && tinyMCE.getAttrib(an[i], "href") == "") {
+			cn = an[i].childNodes;
+
+			for (x=cn.length-1; x>=0; x--)
+				tinyMCE.insertAfter(cn[x], an[i]);
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.getContent = function(editor_id) {
+	var h;
+
+	if (typeof(editor_id) != "undefined")
+		tinyMCE.selectedInstance = tinyMCE.getInstanceById(editor_id);
+
+	if (tinyMCE.selectedInstance) {
+		h = tinyMCE._cleanupHTML(this.selectedInstance, this.selectedInstance.getDoc(), tinyMCE.settings, this.selectedInstance.getBody(), false, true);
+
+		// When editing always use fonts internaly
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(this.selectedInstance.getDoc());
+
+		return h;
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype._fixListElements = function(d) {
+	var nl, x, a = ['ol', 'ul'], i, n, p, r = new RegExp('^(OL|UL)$'), np;
+
+	for (x=0; x<a.length; x++) {
+		nl = d.getElementsByTagName(a[x]);
+
+		for (i=0; i<nl.length; i++) {
+			n = nl[i];
+			p = n.parentNode;
+
+			if (r.test(p.nodeName)) {
+				np = tinyMCE.prevNode(n, 'LI');
+
+				if (!np) {
+					np = d.createElement('li');
+					np.innerHTML = '&nbsp;';
+					np.appendChild(n);
+					p.insertBefore(np, p.firstChild);
+				} else
+					np.appendChild(n);
+			}
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._fixTables = function(d) {
+	var nl, i, n, p, np, x, t;
+
+	nl = d.getElementsByTagName('table');
+	for (i=0; i<nl.length; i++) {
+		n = nl[i];
+
+		if ((p = tinyMCE.getParentElement(n, 'p,div,h1,h2,h3,h4,h5,h6')) != null) {
+			np = p.cloneNode(false);
+			np.removeAttribute('id');
+
+			t = n;
+
+			while ((n = n.nextSibling))
+				np.appendChild(n);
+
+			tinyMCE.insertAfter(np, p);
+			tinyMCE.insertAfter(t, p);
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._cleanupHTML = function(inst, doc, config, elm, visual, on_save, on_submit) {
+	var h, d, t1, t2, t3, t4, t5, c, s;
+
+	if (!tinyMCE.getParam('cleanup'))
+		return elm.innerHTML;
+
+	on_save = typeof(on_save) == 'undefined' ? false : on_save;
+
+	c = inst.cleanup;
+	s = inst.settings;
+	d = c.settings.debug;
+
+	if (d)
+		t1 = new Date().getTime();
+
+	if (tinyMCE.getParam("convert_fonts_to_spans"))
+		tinyMCE.convertFontsToSpans(doc);
+
+	if (tinyMCE.getParam("fix_list_elements"))
+		tinyMCE._fixListElements(doc);
+
+	if (tinyMCE.getParam("fix_table_elements"))
+		tinyMCE._fixTables(doc);
+
+	// Call custom cleanup code
+	tinyMCE._customCleanup(inst, on_save ? "get_from_editor_dom" : "insert_to_editor_dom", doc.body);
+
+	if (d)
+		t2 = new Date().getTime();
+
+	c.settings.on_save = on_save;
+	//for (var i=0; i<100; i++)
+
+	c.idCount = 0;
+	c.serializationId++;
+	c.serializedNodes = new Array();
+	c.sourceIndex = -1;
+
+	if (s.cleanup_serializer == "xml")
+		h = c.serializeNodeAsXML(elm);
+	else
+		h = c.serializeNodeAsHTML(elm);
+
+	if (d)
+		t3 = new Date().getTime();
+
+	// Post processing
+	h = h.replace(/<\/?(body|head|html)[^>]*>/gi, '');
+	h = h.replace(new RegExp(' (rowspan="1"|colspan="1")', 'g'), '');
+	h = h.replace(/<p><hr \/><\/p>/g, '<hr />');
+	h = h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g, '<hr />');
+	h = h.replace(/<td>\s*<br \/>\s*<\/td>/g, '<td>&nbsp;</td>');
+	h = h.replace(/<p>\s*<br \/>\s*<\/p>/g, '<p>&nbsp;</p>');
+	h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g, '<p>&nbsp;</p>');
+	h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g, '<p>&nbsp;</p>');
+	h = h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g, '<p>&nbsp;</p>');
+	h = h.replace(new RegExp('<a>(.*?)<\\/a>', 'g'), '$1');
+	h = h.replace(/<p([^>]*)>\s*<\/p>/g, '<p$1>&nbsp;</p>');
+
+	// Clean body
+	if (/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))
+		h = '';
+
+	// If preformatted
+	if (s.preformatted) {
+		h = h.replace(/^<pre>/, '');
+		h = h.replace(/<\/pre>$/, '');
+		h = '<pre>' + h + '</pre>';
+	}
+
+	// Gecko specific processing
+	if (tinyMCE.isGecko) {
+		h = h.replace(/<o:p _moz-userdefined="" \/>/g, '');
+		h = h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g, '<td$1>&nbsp;</td>');
+	}
+
+	if (s.force_br_newlines)
+		h = h.replace(/<p>(&nbsp;|&#160;)<\/p>/g, '<br />');
+
+	// Call custom cleanup code
+	h = tinyMCE._customCleanup(inst, on_save ? "get_from_editor" : "insert_to_editor", h);
+
+	// Remove internal classes
+	if (on_save) {
+		h = h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|' + s.visual_table_class + ')', 'g'), '');
+		h = h.replace(new RegExp(' ?class=""', 'g'), '');
+	}
+
+	if (s.remove_linebreaks && !c.settings.indent)
+		h = h.replace(/\n|\r/g, ' ');
+
+	if (d)
+		t4 = new Date().getTime();
+
+	if (on_save && c.settings.indent)
+		h = c.formatHTML(h);
+
+	// If encoding (not recommended option)
+	if (on_submit && (s.encoding == "xml" || s.encoding == "html"))
+		h = c.xmlEncode(h);
+
+	if (d)
+		t5 = new Date().getTime();
+
+	if (c.settings.debug)
+		tinyMCE.debug("Cleanup in ms: Pre=" + (t2-t1) + ", Serialize: " + (t3-t2) + ", Post: " + (t4-t3) + ", Format: " + (t5-t4) + ", Sum: " + (t5-t1) + ".");
+
+	return h;
+};
+
+function TinyMCE_Cleanup() {
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.rules = tinyMCE.clearArray(new Array());
+
+	// Default config
+	this.settings = {
+		indent_elements : 'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',
+		newline_before_elements : 'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td',
+		newline_after_elements : 'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',
+		newline_before_after_elements : 'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div',
+		indent_char : '\t',
+		indent_levels : 1,
+		entity_encoding : 'raw',
+		valid_elements : '*[*]',
+		entities : '',
+		url_converter : '',
+		invalid_elements : '',
+		verify_html : false
+	};
+
+	this.vElements = tinyMCE.clearArray(new Array());
+	this.vElementsRe = '';
+	this.closeElementsRe = /^(IMG|BR|HR|LINK|META|BASE|INPUT|BUTTON|AREA)$/;
+	this.codeElementsRe = /^(SCRIPT|STYLE)$/;
+	this.serializationId = 0;
+	this.mceAttribs = {
+		href : 'mce_href',
+		src : 'mce_src',
+		type : 'mce_type'
+	};
+}
+
+TinyMCE_Cleanup.prototype = {
+	init : function(s) {
+		var n, a, i, ir, or, st;
+
+		for (n in s)
+			this.settings[n] = s[n];
+
+		// Setup code formating
+		s = this.settings;
+
+		// Setup regexps
+		this.inRe = this._arrayToRe(s.indent_elements.split(','), '', '^<(', ')[^>]*');
+		this.ouRe = this._arrayToRe(s.indent_elements.split(','), '', '^<\\/(', ')[^>]*');
+		this.nlBeforeRe = this._arrayToRe(s.newline_before_elements.split(','), 'gi', '<(',  ')([^>]*)>');
+		this.nlAfterRe = this._arrayToRe(s.newline_after_elements.split(','), 'gi', '<(',  ')([^>]*)>');
+		this.nlBeforeAfterRe = this._arrayToRe(s.newline_before_after_elements.split(','), 'gi', '<(\\/?)(', ')([^>]*)>');
+
+		if (s.invalid_elements != '')
+			this.iveRe = this._arrayToRe(s.invalid_elements.toUpperCase().split(','), 'g', '^(', ')$');
+		else
+			this.iveRe = null;
+
+		// Setup separator
+		st = '';
+		for (i=0; i<s.indent_levels; i++)
+			st += s.indent_char;
+
+		this.inStr = st;
+
+		// If verify_html if false force *[*]
+		if (!s.verify_html) {
+			s.valid_elements = '*[*]';
+			s.extended_valid_elements = '';
+		}
+
+		this.fillStr = s.entity_encoding == "named" ? "&nbsp;" : "&#160;";
+		this.idCount = 0;
+	},
+
+	addRuleStr : function(s) {
+		var r = this.parseRuleStr(s);
+		var n;
+
+		for (n in r) {
+			if (r[n])
+				this.rules[n] = r[n];
+		}
+
+		this.vElements = tinyMCE.clearArray(new Array());
+
+		for (n in this.rules) {
+			if (this.rules[n])
+				this.vElements[this.vElements.length] = this.rules[n].tag;
+		}
+
+		this.vElementsRe = this._arrayToRe(this.vElements, '');
+	},
+
+	parseRuleStr : function(s) {
+		var ta, p, r, a, i, x, px, t, tn, y, av, or = tinyMCE.clearArray(new Array()), dv;
+
+		if (s == null || s.length == 0)
+			return or;
+
+		ta = s.split(',');
+		for (x=0; x<ta.length; x++) {
+			s = ta[x];
+			if (s.length == 0)
+				continue;
+
+			// Split tag/attrs
+			p = this.split(/\[|\]/, s);
+			if (p == null || p.length < 1)
+				t = s.toUpperCase();
+			else
+				t = p[0].toUpperCase();
+
+			// Handle all tag names
+			tn = this.split('/', t);
+			for (y=0; y<tn.length; y++) {
+				r = {};
+
+				r.tag = tn[y];
+				r.forceAttribs = null;
+				r.defaultAttribs = null;
+				r.validAttribValues = null;
+
+				// Handle prefixes
+				px = r.tag.charAt(0);
+				r.forceOpen = px == '+';
+				r.removeEmpty = px == '-';
+				r.fill = px == '#';
+				r.tag = r.tag.replace(/\+|-|#/g, '');
+				r.oTagName = tn[0].replace(/\+|-|#/g, '').toLowerCase();
+				r.isWild = new RegExp('\\*|\\?|\\+', 'g').test(r.tag);
+				r.validRe = new RegExp(this._wildcardToRe('^' + r.tag + '$'));
+
+				// Setup valid attributes
+				if (p.length > 1) {
+					r.vAttribsRe = '^(';
+					a = this.split(/\|/, p[1]);
+
+					for (i=0; i<a.length; i++) {
+						t = a[i];
+
+						av = new RegExp('(=|:|<)(.*?)$').exec(t);
+						t = t.replace(new RegExp('(=|:|<).*?$'), '');
+						if (av && av.length > 0) {
+							if (av[0].charAt(0) == ':') {
+								if (!r.forceAttribs)
+									r.forceAttribs = tinyMCE.clearArray(new Array());
+
+								r.forceAttribs[t.toLowerCase()] = av[0].substring(1);
+							} else if (av[0].charAt(0) == '=') {
+								if (!r.defaultAttribs)
+									r.defaultAttribs = tinyMCE.clearArray(new Array());
+
+								dv = av[0].substring(1);
+
+								r.defaultAttribs[t.toLowerCase()] = dv == "" ? "mce_empty" : dv;
+							} else if (av[0].charAt(0) == '<') {
+								if (!r.validAttribValues)
+									r.validAttribValues = tinyMCE.clearArray(new Array());
+
+								r.validAttribValues[t.toLowerCase()] = this._arrayToRe(this.split('?', av[0].substring(1)), '');
+							}
+						}
+
+						r.vAttribsRe += '' + t.toLowerCase() + (i != a.length - 1 ? '|' : '');
+
+						a[i] = t.toLowerCase();
+					}
+
+					r.vAttribsRe += ')$';
+					r.vAttribsRe = this._wildcardToRe(r.vAttribsRe);
+					r.vAttribsReIsWild = new RegExp('\\*|\\?|\\+', 'g').test(r.vAttribsRe);
+					r.vAttribsRe = new RegExp(r.vAttribsRe);
+					r.vAttribs = a.reverse();
+
+					//tinyMCE.debug(r.tag, r.oTagName, r.vAttribsRe, r.vAttribsReWC);
+				} else {
+					r.vAttribsRe = '';
+					r.vAttribs = tinyMCE.clearArray(new Array());
+					r.vAttribsReIsWild = false;
+				}
+
+				or[r.tag] = r;
+			}
+		}
+
+		return or;
+	},
+
+	serializeNodeAsXML : function(n) {
+		var s, b;
+
+		if (!this.xmlDoc) {
+			if (this.isMSIE) {
+				try {this.xmlDoc = new ActiveXObject('MSXML2.DOMDocument');} catch (e) {}
+
+				if (!this.xmlDoc)
+					try {this.xmlDoc = new ActiveXObject('Microsoft.XmlDom');} catch (e) {}
+			} else
+				this.xmlDoc = document.implementation.createDocument('', '', null);
+
+			if (!this.xmlDoc)
+				alert("Error XML Parser could not be found.");
+		}
+
+		if (this.xmlDoc.firstChild)
+			this.xmlDoc.removeChild(this.xmlDoc.firstChild);
+
+		b = this.xmlDoc.createElement("html");
+		b = this.xmlDoc.appendChild(b);
+
+		this._convertToXML(n, b);
+
+		if (this.isMSIE)
+			return this.xmlDoc.xml;
+		else
+			return new XMLSerializer().serializeToString(this.xmlDoc);
+	},
+
+	_convertToXML : function(n, xn) {
+		var xd, el, i, l, cn, at, no, hc = false;
+
+		if (this._isDuplicate(n))
+			return;
+
+		xd = this.xmlDoc;
+
+		switch (n.nodeType) {
+			case 1: // Element
+				hc = n.hasChildNodes();
+
+				el = xd.createElement(n.nodeName.toLowerCase());
+
+				at = n.attributes;
+				for (i=at.length-1; i>-1; i--) {
+					no = at[i];
+
+					if (no.specified && no.nodeValue)
+						el.setAttribute(no.nodeName.toLowerCase(), no.nodeValue);
+				}
+
+				if (!hc && !this.closeElementsRe.test(n.nodeName))
+					el.appendChild(xd.createTextNode(""));
+
+				xn = xn.appendChild(el);
+				break;
+
+			case 3: // Text
+				xn.appendChild(xd.createTextNode(n.nodeValue));
+				return;
+
+			case 8: // Comment
+				xn.appendChild(xd.createComment(n.nodeValue));
+				return;
+		}
+
+		if (hc) {
+			cn = n.childNodes;
+
+			for (i=0, l=cn.length; i<l; i++)
+				this._convertToXML(cn[i], xn);
+		}
+	},
+
+	serializeNodeAsHTML : function(n) {
+		var en, no, h = '', i, l, r, cn, va = false, f = false, at, hc;
+
+		this._setupRules(); // Will initialize cleanup rules
+
+		if (this._isDuplicate(n))
+			return '';
+
+		switch (n.nodeType) {
+			case 1: // Element
+				hc = n.hasChildNodes();
+
+				// MSIE sometimes produces <//tag>
+				if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && n.nodeName.indexOf('/') != -1)
+					break;
+
+				if (this.vElementsRe.test(n.nodeName) && (!this.iveRe || !this.iveRe.test(n.nodeName))) {
+					va = true;
+
+					r = this.rules[n.nodeName];
+					if (!r) {
+						at = this.rules;
+						for (no in at) {
+							if (at[no] && at[no].validRe.test(n.nodeName)) {
+								r = at[no];
+								break;
+							}
+						}
+					}
+
+					en = r.isWild ? n.nodeName.toLowerCase() : r.oTagName;
+					f = r.fill;
+
+					if (r.removeEmpty && !hc)
+						return "";
+
+					h += '<' + en;
+
+					if (r.vAttribsReIsWild) {
+						// Serialize wildcard attributes
+						at = n.attributes;
+						for (i=at.length-1; i>-1; i--) {
+							no = at[i];
+							if (no.specified && r.vAttribsRe.test(no.nodeName))
+								h += this._serializeAttribute(n, r, no.nodeName);
+						}
+					} else {
+						// Serialize specific attributes
+						for (i=r.vAttribs.length-1; i>-1; i--)
+							h += this._serializeAttribute(n, r, r.vAttribs[i]);
+					}
+
+					// Serialize mce_ atts
+					if (!this.settings.on_save) {
+						at = this.mceAttribs;
+
+						for (no in at) {
+							if (at[no])
+								h += this._serializeAttribute(n, r, at[no]);
+						}
+					}
+
+					// Close these
+					if (this.closeElementsRe.test(n.nodeName))
+						return h + ' />';
+
+					h += '>';
+
+					if (this.isMSIE && this.codeElementsRe.test(n.nodeName))
+						h += n.innerHTML;
+				}
+			break;
+
+			case 3: // Text
+				if (n.parentNode && this.codeElementsRe.test(n.parentNode.nodeName))
+					return this.isMSIE ? '' : n.nodeValue;
+
+				return this.xmlEncode(n.nodeValue);
+
+			case 8: // Comment
+				return "<!--" + this._trimComment(n.nodeValue) + "-->";
+		}
+
+		if (hc) {
+			cn = n.childNodes;
+
+			for (i=0, l=cn.length; i<l; i++)
+				h += this.serializeNodeAsHTML(cn[i]);
+		}
+
+		// Fill empty nodes
+		if (f && !hc)
+			h += this.fillStr;
+
+		// End element
+		if (va)
+			h += '</' + en + '>';
+
+		return h;
+	},
+
+	_serializeAttribute : function(n, r, an) {
+		var av = '', t, os = this.settings.on_save;
+
+		if (os && (an.indexOf('mce_') == 0 || an.indexOf('_moz') == 0))
+			return '';
+
+		if (os && this.mceAttribs[an])
+			av = this._getAttrib(n, this.mceAttribs[an]);
+
+		if (av.length == 0)
+			av = this._getAttrib(n, an);
+
+		if (av.length == 0 && r.defaultAttribs && (t = r.defaultAttribs[an])) {
+			av = t;
+
+			if (av == "mce_empty")
+				return " " + an + '=""';
+		}
+
+		if (r.forceAttribs && (t = r.forceAttribs[an]))
+			av = t;
+
+		if (os && av.length != 0 && this.settings.url_converter.length != 0 && /^(src|href|longdesc)$/.test(an))
+			av = eval(this.settings.url_converter + '(this, n, av)');
+
+		if (av.length != 0 && r.validAttribValues && r.validAttribValues[an] && !r.validAttribValues[an].test(av))
+			return "";
+
+		if (av.length != 0 && av == "{$uid}")
+			av = "uid_" + (this.idCount++);
+
+		if (av.length != 0)
+			return " " + an + "=" + '"' + this.xmlEncode(av) + '"';
+
+		return "";
+	},
+
+	formatHTML : function(h) {
+		var s = this.settings, p = '', i = 0, li = 0, o = '', l;
+
+		h = h.replace(/\r/g, ''); // Windows sux, isn't carriage return a thing of the past :)
+		h = '\n' + h;
+		h = h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous formatting
+		h = h.replace(this.nlBeforeRe, '\n<$1$2>');
+		h = h.replace(this.nlAfterRe, '<$1$2>\n');
+		h = h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n');
+		h += '\n';
+
+		//tinyMCE.debug(h);
+
+		while ((i = h.indexOf('\n', i + 1)) != -1) {
+			if ((l = h.substring(li + 1, i)).length != 0) {
+				if (this.ouRe.test(l) && p.length >= s.indent_levels)
+					p = p.substring(s.indent_levels);
+
+				o += p + l + '\n';
+	
+				if (this.inRe.test(l))
+					p += this.inStr;
+			}
+
+			li = i;
+		}
+
+		//tinyMCE.debug(h);
+
+		return o;
+	},
+
+	xmlEncode : function(s) {
+		var i, l, e, o = '', c;
+
+		this._setupEntities(); // Will intialize lookup table
+
+		switch (this.settings.entity_encoding) {
+			case "raw":
+				return tinyMCE.xmlEncode(s);
+
+			case "named":
+				for (i=0, l=s.length; i<l; i++) {
+					c = s.charCodeAt(i);
+					e = this.entities[c];
+
+					if (e && e != '')
+						o += '&' + e + ';';
+					else
+						o += String.fromCharCode(c);
+				}
+
+				return o;
+
+			case "numeric":
+				for (i=0, l=s.length; i<l; i++) {
+					c = s.charCodeAt(i);
+
+					if (c > 127 || c == 60 || c == 62 || c == 38 || c == 39 || c == 34)
+						o += '&#' + c + ";";
+					else
+						o += String.fromCharCode(c);
+				}
+
+				return o;
+		}
+
+		return s;
+	},
+
+	split : function(re, s) {
+		var c = s.split(re);
+		var i, l, o = new Array();
+
+		for (i=0, l=c.length; i<l; i++) {
+			if (c[i] != '')
+				o[i] = c[i];
+		}
+
+		return o;
+	},
+
+	_trimComment : function(s) {
+		// Remove mce_src, mce_href
+		s = s.replace(new RegExp('\\smce_src=\"[^\"]*\"', 'gi'), "");
+		s = s.replace(new RegExp('\\smce_href=\"[^\"]*\"', 'gi'), "");
+
+		return s;
+	},
+
+	_getAttrib : function(e, n, d) {
+		if (typeof(d) == "undefined")
+			d = "";
+
+		if (!e || e.nodeType != 1)
+			return d;
+
+		var v = e.getAttribute(n, 0);
+
+		if (n == "class" && !v)
+			v = e.className;
+
+		if (this.isMSIE && n == "http-equiv")
+			v = e.httpEquiv;
+
+		if (this.isMSIE && e.nodeName == "FORM" && n == "enctype" && v == "application/x-www-form-urlencoded")
+			v = "";
+
+		if (this.isMSIE && e.nodeName == "INPUT" && n == "size" && v == "20")
+			v = "";
+
+		if (this.isMSIE && e.nodeName == "INPUT" && n == "maxlength" && v == "2147483647")
+			v = "";
+
+		if (n == "style" && !tinyMCE.isOpera)
+			v = e.style.cssText;
+
+		if (n == 'style')
+			v = tinyMCE.serializeStyle(tinyMCE.parseStyle(v));
+
+		if (this.settings.on_save && n.indexOf('on') != -1 && this.settings.on_save && v && v != "")
+			v = tinyMCE.cleanupEventStr(v);
+
+		return (v && v != "") ? '' + v : d;
+	},
+
+	_urlConverter : function(c, n, v) {
+		if (!c.settings.on_save)
+			return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, v);
+		else if (tinyMCE.getParam('convert_urls'))
+			return eval(tinyMCE.settings.urlconverter_callback + "(v, n, true);");
+
+		return v;
+	},
+
+	_arrayToRe : function(a, op, be, af) {
+		var i, r;
+
+		op = typeof(op) == "undefined" ? "gi" : op;
+		be = typeof(be) == "undefined" ? "^(" : be;
+		af = typeof(af) == "undefined" ? ")$" : af;
+
+		r = be;
+
+		for (i=0; i<a.length; i++)
+			r += this._wildcardToRe(a[i]) + (i != a.length-1 ? "|" : "");
+
+		r += af;
+
+		return new RegExp(r, op);
+	},
+
+	_wildcardToRe : function(s) {
+		s = s.replace(/\?/g, '(\\S?)');
+		s = s.replace(/\+/g, '(\\S+)');
+		s = s.replace(/\*/g, '(\\S*)');
+
+		return s;
+	},
+
+	_setupEntities : function() {
+		var n, a, i, s = this.settings;
+
+		// Setup entities
+		if (!this.entitiesDone) {
+			if (s.entity_encoding == "named") {
+				n = tinyMCE.clearArray(new Array());
+				a = this.split(',', s.entities);
+				for (i=0; i<a.length; i+=2)
+					n[a[i]] = a[i+1];
+
+				this.entities = n;
+			}
+
+			this.entitiesDone = true;
+		}
+	},
+
+	_setupRules : function() {
+		var s = this.settings;
+
+		// Setup default rule
+		if (!this.rulesDone) {
+			this.addRuleStr(s.valid_elements);
+			this.addRuleStr(s.extended_valid_elements);
+
+			this.rulesDone = true;
+		}
+	},
+
+	_isDuplicate : function(n) {
+		var i;
+
+		if (!this.settings.fix_content_duplication)
+			return false;
+
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera && n.nodeType == 1) {
+			// Mark elements
+			if (n.mce_serialized == this.serializationId)
+				return true;
+
+			n.setAttribute('mce_serialized', this.serializationId);
+		} else {
+			// Search lookup table for text nodes  and comments
+			for (i=0; i<this.serializedNodes.length; i++) {
+				if (this.serializedNodes[i] == n)
+					return true;
+			}
+
+			this.serializedNodes[this.serializedNodes.length] = n;
+		}
+
+		return false;
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_DOMUtils.class.js */
+
+TinyMCE_Engine.prototype.getElementByAttributeValue = function(n, e, a, v) {
+	return (n = this.getElementsByAttributeValue(n, e, a, v)).length == 0 ? null : n[0];
+};
+
+TinyMCE_Engine.prototype.getElementsByAttributeValue = function(n, e, a, v) {
+	var i, nl = n.getElementsByTagName(e), o = new Array();
+
+	for (i=0; i<nl.length; i++) {
+		if (tinyMCE.getAttrib(nl[i], a).indexOf(v) != -1)
+			o[o.length] = nl[i];
+	}
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.isBlockElement = function(n) {
+	return n != null && n.nodeType == 1 && this.blockRegExp.test(n.nodeName);
+};
+
+TinyMCE_Engine.prototype.getParentBlockElement = function(n) {
+	while (n) {
+		if (this.isBlockElement(n))
+			return n;
+
+		n = n.parentNode;
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.insertAfter = function(n, r){
+	if (r.nextSibling)
+		r.parentNode.insertBefore(n, r.nextSibling);
+	else
+		r.parentNode.appendChild(n);
+};
+
+TinyMCE_Engine.prototype.setInnerHTML = function(e, h) {
+	var i, nl, n;
+
+	if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
+		// Since MSIE handles invalid HTML better that valid XHTML we
+		// need to make some things invalid. <hr /> gets converted to <hr>.
+		h = h.replace(/\s\/>/g, '>');
+
+		// Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones
+		h = h.replace(/<p([^>]*)>\u00A0?<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+		h = h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+		h = h.replace(/<p([^>]*)>\s+<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+
+		// Remove first comment
+		e.innerHTML = tinyMCE.uniqueTag + h;
+		e.firstChild.removeNode(true);
+
+		// Remove weird auto generated empty paragraphs unless it's supposed to be there
+		nl = e.getElementsByTagName("p");
+		for (i=nl.length-1; i>=0; i--) {
+			n = nl[i];
+
+			if (n.nodeName == 'P' && !n.hasChildNodes() && !n.mce_keep)
+				n.parentNode.removeChild(n);
+		}
+	} else {
+		h = this.fixGeckoBaseHREFBug(1, e, h);
+		e.innerHTML = h;
+		this.fixGeckoBaseHREFBug(2, e, h);
+	}
+};
+
+TinyMCE_Engine.prototype.getOuterHTML = function(e) {
+	if (tinyMCE.isMSIE)
+		return e.outerHTML;
+
+	var d = e.ownerDocument.createElement("body");
+	d.appendChild(e);
+	return d.innerHTML;
+};
+
+TinyMCE_Engine.prototype.setOuterHTML = function(e, h) {
+	if (tinyMCE.isMSIE) {
+		e.outerHTML = h;
+		return;
+	}
+
+	var d = e.ownerDocument.createElement("body");
+	d.innerHTML = h;
+	e.parentNode.replaceChild(d.firstChild, e);
+};
+
+TinyMCE_Engine.prototype._getElementById = function(id, d) {
+	var e, i, j, f;
+
+	if (typeof(d) == "undefined")
+		d = document;
+
+	e = d.getElementById(id);
+	if (!e) {
+		f = d.forms;
+
+		for (i=0; i<f.length; i++) {
+			for (j=0; j<f[i].elements.length; j++) {
+				if (f[i].elements[j].name == id) {
+					e = f[i].elements[j];
+					break;
+				}
+			}
+		}
+	}
+
+	return e;
+};
+
+TinyMCE_Engine.prototype.getNodeTree = function(n, na, t, nn) {
+	var i;
+
+	if (typeof(t) == "undefined" || n.nodeType == t && (typeof(nn) == "undefined" || n.nodeName == nn))
+		na[na.length] = n;
+
+	if (n.hasChildNodes()) {
+		for (i=0; i<n.childNodes.length; i++)
+			tinyMCE.getNodeTree(n.childNodes[i], na, t, nn);
+	}
+
+	return na;
+};
+
+TinyMCE_Engine.prototype.getParentElement = function(node, names, attrib_name, attrib_value) {
+	if (typeof(names) == "undefined") {
+		if (node.nodeType == 1)
+			return node;
+
+		// Find parent node that is a element
+		while ((node = node.parentNode) != null && node.nodeType != 1) ;
+
+		return node;
+	}
+
+	if (node == null)
+		return null;
+
+	var namesAr = names.toUpperCase().split(',');
+
+	do {
+		for (var i=0; i<namesAr.length; i++) {
+			if (node.nodeName == namesAr[i] || names == "*") {
+				if (typeof(attrib_name) == "undefined")
+					return node;
+				else if (node.getAttribute(attrib_name)) {
+					if (typeof(attrib_value) == "undefined") {
+						if (node.getAttribute(attrib_name) != "")
+							return node;
+					} else if (node.getAttribute(attrib_name) == attrib_value)
+						return node;
+				}
+			}
+		}
+	} while ((node = node.parentNode) != null);
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.getParentNode = function(n, f) {
+	while (n) {
+		if (f(n))
+			return n;
+
+		n = n.parentNode;
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.getAttrib = function(elm, name, default_value) {
+	if (typeof(default_value) == "undefined")
+		default_value = "";
+
+	// Not a element
+	if (!elm || elm.nodeType != 1)
+		return default_value;
+
+	var v = elm.getAttribute(name);
+
+	// Try className for class attrib
+	if (name == "class" && !v)
+		v = elm.className;
+
+	// Workaround for a issue with Firefox 1.5rc2+
+	if (tinyMCE.isGecko && name == "src" && elm.src != null && elm.src != "")
+		v = elm.src;
+
+	// Workaround for a issue with Firefox 1.5rc2+
+	if (tinyMCE.isGecko && name == "href" && elm.href != null && elm.href != "")
+		v = elm.href;
+
+	if (name == "http-equiv" && tinyMCE.isMSIE)
+		v = elm.httpEquiv;
+
+	if (name == "style" && !tinyMCE.isOpera)
+		v = elm.style.cssText;
+
+	return (v && v != "") ? v : default_value;
+};
+
+TinyMCE_Engine.prototype.setAttrib = function(element, name, value, fix_value) {
+	if (typeof(value) == "number" && value != null)
+		value = "" + value;
+
+	if (fix_value) {
+		if (value == null)
+			value = "";
+
+		var re = new RegExp('[^0-9%]', 'g');
+		value = value.replace(re, '');
+	}
+
+	if (name == "style")
+		element.style.cssText = value;
+
+	if (name == "class")
+		element.className = value;
+
+	if (value != null && value != "" && value != -1)
+		element.setAttribute(name, value);
+	else
+		element.removeAttribute(name);
+};
+
+TinyMCE_Engine.prototype.setStyleAttrib = function(elm, name, value) {
+	eval('elm.style.' + name + '=value;');
+
+	// Style attrib deleted
+	if (tinyMCE.isMSIE && value == null || value == '') {
+		var str = tinyMCE.serializeStyle(tinyMCE.parseStyle(elm.style.cssText));
+		elm.style.cssText = str;
+		elm.setAttribute("style", str);
+	}
+};
+
+TinyMCE_Engine.prototype.switchClass = function(ei, c) {
+	var e;
+
+	if (tinyMCE.switchClassCache[ei])
+		e = tinyMCE.switchClassCache[ei];
+	else
+		e = tinyMCE.switchClassCache[ei] = document.getElementById(ei);
+
+	if (e) {
+		// Keep tile mode
+		if (tinyMCE.settings.button_tile_map && e.className && e.className.indexOf('mceTiledButton') == 0)
+			c = 'mceTiledButton ' + c;
+
+		e.className = c;
+	}
+};
+
+TinyMCE_Engine.prototype.getAbsPosition = function(n) {
+	var p = {absLeft : 0, absTop : 0};
+
+	while (n) {
+		p.absLeft += n.offsetLeft;
+		p.absTop += n.offsetTop;
+		n = n.offsetParent;
+	}
+
+	return p;
+};
+
+TinyMCE_Engine.prototype.prevNode = function(e, n) {
+	var a = n.split(','), i;
+
+	while ((e = e.previousSibling) != null) {
+		for (i=0; i<a.length; i++) {
+			if (e.nodeName == a[i])
+				return e;
+		}
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.nextNode = function(e, n) {
+	var a = n.split(','), i;
+
+	while ((e = e.nextSibling) != null) {
+		for (i=0; i<a.length; i++) {
+			if (e.nodeName == a[i])
+				return e;
+		}
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.selectNodes = function(n, f, a) {
+	var i;
+
+	if (!a)
+		a = new Array();
+
+	if (f(n))
+		a[a.length] = n;
+
+	if (n.hasChildNodes()) {
+		for (i=0; i<n.childNodes.length; i++)
+			tinyMCE.selectNodes(n.childNodes[i], f, a);
+	}
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.addCSSClass = function(e, c, b) {
+	var o = this.removeCSSClass(e, c);
+
+	return e.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
+};
+
+TinyMCE_Engine.prototype.removeCSSClass = function(e, c) {
+	var a = this.explode(' ', e.className), i;
+
+	for (i=0; i<a.length; i++) {
+		if (a[i] == c)
+			a[i] = '';
+	}
+
+	return e.className = a.join(' ');
+};
+
+TinyMCE_Engine.prototype.renameElement = function(e, n, d) {
+	var ne, i, ar;
+
+	d = typeof(d) == "undefined" ? tinyMCE.selectedInstance.getDoc() : d;
+
+	if (e) {
+		ne = d.createElement(n);
+
+		ar = e.attributes;
+		for (i=ar.length-1; i>-1; i--) {
+			if (ar[i].specified && ar[i].nodeValue)
+				ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue);
+		}
+
+		ar = e.childNodes;
+		for (i=0; i<ar.length; i++)
+			ne.appendChild(ar[i].cloneNode(true));
+
+		e.parentNode.replaceChild(ne, e);
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_URL.class.js */
+
+TinyMCE_Engine.prototype.parseURL = function(url_str) {
+	var urlParts = new Array();
+
+	if (url_str) {
+		var pos, lastPos;
+
+		// Parse protocol part
+		pos = url_str.indexOf('://');
+		if (pos != -1) {
+			urlParts['protocol'] = url_str.substring(0, pos);
+			lastPos = pos + 3;
+		}
+
+		// Find port or path start
+		for (var i=lastPos; i<url_str.length; i++) {
+			var chr = url_str.charAt(i);
+
+			if (chr == ':')
+				break;
+
+			if (chr == '/')
+				break;
+		}
+		pos = i;
+
+		// Get host
+		urlParts['host'] = url_str.substring(lastPos, pos);
+
+		// Get port
+		urlParts['port'] = "";
+		lastPos = pos;
+		if (url_str.charAt(pos) == ':') {
+			pos = url_str.indexOf('/', lastPos);
+			urlParts['port'] = url_str.substring(lastPos+1, pos);
+		}
+
+		// Get path
+		lastPos = pos;
+		pos = url_str.indexOf('?', lastPos);
+
+		if (pos == -1)
+			pos = url_str.indexOf('#', lastPos);
+
+		if (pos == -1)
+			pos = url_str.length;
+
+		urlParts['path'] = url_str.substring(lastPos, pos);
+
+		// Get query
+		lastPos = pos;
+		if (url_str.charAt(pos) == '?') {
+			pos = url_str.indexOf('#');
+			pos = (pos == -1) ? url_str.length : pos;
+			urlParts['query'] = url_str.substring(lastPos+1, pos);
+		}
+
+		// Get anchor
+		lastPos = pos;
+		if (url_str.charAt(pos) == '#') {
+			pos = url_str.length;
+			urlParts['anchor'] = url_str.substring(lastPos+1, pos);
+		}
+	}
+
+	return urlParts;
+};
+
+TinyMCE_Engine.prototype.serializeURL = function(up) {
+	var o = "";
+
+	if (up['protocol'])
+		o += up['protocol'] + "://";
+
+	if (up['host'])
+		o += up['host'];
+
+	if (up['port'])
+		o += ":" + up['port'];
+
+	if (up['path'])
+		o += up['path'];
+
+	if (up['query'])
+		o += "?" + up['query'];
+
+	if (up['anchor'])
+		o += "#" + up['anchor'];
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.convertAbsoluteURLToRelativeURL = function(base_url, url_to_relative) {
+	var baseURL = this.parseURL(base_url);
+	var targetURL = this.parseURL(url_to_relative);
+	var strTok1;
+	var strTok2;
+	var breakPoint = 0;
+	var outPath = "";
+	var forceSlash = false;
+
+	if (targetURL.path == "")
+		targetURL.path = "/";
+	else
+		forceSlash = true;
+
+	// Crop away last path part
+	base_url = baseURL.path.substring(0, baseURL.path.lastIndexOf('/'));
+	strTok1 = base_url.split('/');
+	strTok2 = targetURL.path.split('/');
+
+	if (strTok1.length >= strTok2.length) {
+		for (var i=0; i<strTok1.length; i++) {
+			if (i >= strTok2.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	if (strTok1.length < strTok2.length) {
+		for (var i=0; i<strTok2.length; i++) {
+			if (i >= strTok1.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	if (breakPoint == 1)
+		return targetURL.path;
+
+	for (var i=0; i<(strTok1.length-(breakPoint-1)); i++)
+		outPath += "../";
+
+	for (var i=breakPoint-1; i<strTok2.length; i++) {
+		if (i != (breakPoint-1))
+			outPath += "/" + strTok2[i];
+		else
+			outPath += strTok2[i];
+	}
+
+	targetURL.protocol = null;
+	targetURL.host = null;
+	targetURL.port = null;
+	targetURL.path = outPath == "" && forceSlash ? "/" : outPath;
+
+	// Remove document prefix from local anchors
+	var fileName = baseURL.path;
+	var pos;
+
+	if ((pos = fileName.lastIndexOf('/')) != -1)
+		fileName = fileName.substring(pos + 1);
+
+	// Is local anchor
+	if (fileName == targetURL.path && targetURL.anchor != "")
+		targetURL.path = "";
+
+	// If empty and not local anchor force filename or slash
+	if (targetURL.path == "" && !targetURL.anchor)
+		targetURL.path = fileName != "" ? fileName : "/";
+
+	return this.serializeURL(targetURL);
+};
+
+TinyMCE_Engine.prototype.convertRelativeToAbsoluteURL = function(base_url, relative_url) {
+	var baseURL = this.parseURL(base_url);
+	var relURL = this.parseURL(relative_url);
+
+	if (relative_url == "" || relative_url.charAt(0) == '/' || relative_url.indexOf('://') != -1 || relative_url.indexOf('mailto:') != -1 || relative_url.indexOf('javascript:') != -1)
+		return relative_url;
+
+	// Split parts
+	baseURLParts = baseURL['path'].split('/');
+	relURLParts = relURL['path'].split('/');
+
+	// Remove empty chunks
+	var newBaseURLParts = new Array();
+	for (var i=baseURLParts.length-1; i>=0; i--) {
+		if (baseURLParts[i].length == 0)
+			continue;
+
+		newBaseURLParts[newBaseURLParts.length] = baseURLParts[i];
+	}
+	baseURLParts = newBaseURLParts.reverse();
+
+	// Merge relURLParts chunks
+	var newRelURLParts = new Array();
+	var numBack = 0;
+	for (var i=relURLParts.length-1; i>=0; i--) {
+		if (relURLParts[i].length == 0 || relURLParts[i] == ".")
+			continue;
+
+		if (relURLParts[i] == '..') {
+			numBack++;
+			continue;
+		}
+
+		if (numBack > 0) {
+			numBack--;
+			continue;
+		}
+
+		newRelURLParts[newRelURLParts.length] = relURLParts[i];
+	}
+
+	relURLParts = newRelURLParts.reverse();
+
+	// Remove end from absolute path
+	var len = baseURLParts.length-numBack;
+	var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/');
+	var start = "", end = "";
+
+	// Build output URL
+	relURL.protocol = baseURL.protocol;
+	relURL.host = baseURL.host;
+	relURL.port = baseURL.port;
+
+	// Re-add trailing slash if it's removed
+	if (relURL.path.charAt(relURL.path.length-1) == "/")
+		absPath += "/";
+
+	relURL.path = absPath;
+
+	return this.serializeURL(relURL);
+};
+
+TinyMCE_Engine.prototype.convertURL = function(url, node, on_save) {
+	var prot = document.location.protocol;
+	var host = document.location.hostname;
+	var port = document.location.port;
+
+	// Pass through file protocol
+	if (prot == "file:")
+		return url;
+
+	// Something is wrong, remove weirdness
+	url = tinyMCE.regexpReplace(url, '(http|https):///', '/');
+
+	// Mailto link or anchor (Pass through)
+	if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#")
+		return url;
+
+	// Fix relative/Mozilla
+	if (!tinyMCE.isMSIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/')
+		return tinyMCE.settings['base_href'] + url;
+
+	// Handle relative URLs
+	if (on_save && tinyMCE.getParam('relative_urls')) {
+		var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
+		if (curl.charAt(0) == '/')
+			curl = tinyMCE.settings['document_base_prefix'] + curl;
+
+		var urlParts = tinyMCE.parseURL(curl);
+		var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']);
+
+		// Force relative
+		if (urlParts['host'] == tmpUrlParts['host'] && (urlParts['port'] == tmpUrlParts['port']))
+			return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], curl);
+	}
+
+	// Handle absolute URLs
+	if (!tinyMCE.getParam('relative_urls')) {
+		var urlParts = tinyMCE.parseURL(url);
+		var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings['base_href']);
+
+		// Force absolute URLs from relative URLs
+		url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
+
+		// If anchor and path is the same page
+		if (urlParts['anchor'] && urlParts['path'] == baseUrlParts['path'])
+			return "#" + urlParts['anchor'];
+	}
+
+	// Remove current domain
+	if (tinyMCE.getParam('remove_script_host')) {
+		var start = "", portPart = "";
+
+		if (port != "")
+			portPart = ":" + port;
+
+		start = prot + "//" + host + portPart + "/";
+
+		if (url.indexOf(start) == 0)
+			url = url.substring(start.length-1);
+	}
+
+	return url;
+};
+
+TinyMCE_Engine.prototype.convertAllRelativeURLs = function(body) {
+	// Convert all image URL:s to absolute URL
+	var elms = body.getElementsByTagName("img");
+	for (var i=0; i<elms.length; i++) {
+		var src = tinyMCE.getAttrib(elms[i], 'src');
+
+		var msrc = tinyMCE.getAttrib(elms[i], 'mce_src');
+		if (msrc != "")
+			src = msrc;
+
+		if (src != "") {
+			src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+			elms[i].setAttribute("src", src);
+		}
+	}
+
+	// Convert all link URL:s to absolute URL
+	var elms = body.getElementsByTagName("a");
+	for (var i=0; i<elms.length; i++) {
+		var href = tinyMCE.getAttrib(elms[i], 'href');
+
+		var mhref = tinyMCE.getAttrib(elms[i], 'mce_href');
+		if (mhref != "")
+			href = mhref;
+
+		if (href && href != "") {
+			href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], href);
+			elms[i].setAttribute("href", href);
+		}
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Array.class.js */
+
+TinyMCE_Engine.prototype.clearArray = function(a) {
+	for (var k in a)
+		a[k] = null;
+
+	return a;
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Event.class.js */
+
+TinyMCE_Engine.prototype._setEventsEnabled = function(node, state) {
+	var events = new Array('onfocus','onblur','onclick','ondblclick',
+				'onmousedown','onmouseup','onmouseover','onmousemove',
+				'onmouseout','onkeypress','onkeydown','onkeydown','onkeyup');
+
+	var evs = tinyMCE.settings['event_elements'].split(',');
+	for (var y=0; y<evs.length; y++){
+		var elms = node.getElementsByTagName(evs[y]);
+		for (var i=0; i<elms.length; i++) {
+			var event = "";
+
+			for (var x=0; x<events.length; x++) {
+				if ((event = tinyMCE.getAttrib(elms[i], events[x])) != '') {
+					event = tinyMCE.cleanupEventStr("" + event);
+
+					if (!state)
+						event = "return true;" + event;
+					else
+						event = event.replace(/^return true;/gi, '');
+
+					elms[i].removeAttribute(events[x]);
+					elms[i].setAttribute(events[x], event);
+				}
+			}
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._eventPatch = function(editor_id) {
+	var n, inst, win, e;
+
+	// Remove odd, error
+	if (typeof(tinyMCE) == "undefined")
+		return true;
+
+	try {
+		// Try selected instance first
+		if (tinyMCE.selectedInstance) {
+			win = tinyMCE.selectedInstance.getWin();
+
+			if (win && win.event) {
+				e = win.event;
+
+				if (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.prototype.handleEvent(e);
+				return;
+			}
+		}
+
+		// Search for it
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			tinyMCE.selectedInstance = inst;
+			win = inst.getWin();
+
+			if (win && win.event) {
+				e = win.event;
+
+				if (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.prototype.handleEvent(e);
+				return;
+			}
+		}
+	} catch (ex) {
+		// Ignore error if iframe is pointing to external URL
+	}
+};
+
+TinyMCE_Engine.prototype.unloadHandler = function() {
+	tinyMCE.triggerSave(true, true);
+};
+
+TinyMCE_Engine.prototype.addEventHandlers = function(inst) {
+	var doc = inst.getDoc();
+
+	inst.switchSettings();
+
+	if (tinyMCE.isMSIE) {
+		tinyMCE.addEvent(doc, "keypress", TinyMCE_Engine.prototype._eventPatch);
+		tinyMCE.addEvent(doc, "keyup", TinyMCE_Engine.prototype._eventPatch);
+		tinyMCE.addEvent(doc, "keydown", TinyMCE_Engine.prototype._eventPatch);
+		tinyMCE.addEvent(doc, "mouseup", TinyMCE_Engine.prototype._eventPatch);
+		tinyMCE.addEvent(doc, "mousedown", TinyMCE_Engine.prototype._eventPatch);
+		tinyMCE.addEvent(doc, "click", TinyMCE_Engine.prototype._eventPatch);
+	} else {
+		tinyMCE.addEvent(doc, "keypress", tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, "keydown", tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, "keyup", tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, "click", tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, "mouseup", tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, "mousedown", tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, "focus", tinyMCE.handleEvent);
+		tinyMCE.addEvent(doc, "blur", tinyMCE.handleEvent);
+
+		eval('try { doc.designMode = "On"; } catch(e) {}'); // Force designmode
+	}
+};
+
+TinyMCE_Engine.prototype.onMouseMove = function() {
+	var inst;
+
+	if (!tinyMCE.hasMouseMoved) {
+		inst = tinyMCE.selectedInstance;
+
+		// Workaround for bug #1437457 (Odd MSIE bug)
+		if (inst.isFocused) {
+			inst.undoBookmark = inst.selection.getBookmark();
+			tinyMCE.hasMouseMoved = true;
+		}
+	}
+
+//	tinyMCE.cancelEvent(inst.getWin().event);
+//	return false;
+};
+
+TinyMCE_Engine.prototype.cancelEvent = function(e) {
+	if (tinyMCE.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else
+		e.preventDefault();
+};
+
+TinyMCE_Engine.prototype.addEvent = function(o, n, h) {
+	if (o.attachEvent)
+		o.attachEvent("on" + n, h);
+	else
+		o.addEventListener(n, h, false);
+};
+
+TinyMCE_Engine.prototype.addSelectAccessibility = function(e, s, w) {
+	// Add event handlers 
+	if (!s._isAccessible) {
+		s.onkeydown = tinyMCE.accessibleEventHandler;
+		s.onblur = tinyMCE.accessibleEventHandler;
+		s._isAccessible = true;
+		s._win = w;
+	}
+
+	return false;
+};
+
+TinyMCE_Engine.prototype.accessibleEventHandler = function(e) {
+	var win = this._win;
+	e = tinyMCE.isMSIE ? win.event : e;
+	var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+
+	// Unpiggyback onchange on blur
+	if (e.type == "blur") {
+		if (elm.oldonchange) {
+			elm.onchange = elm.oldonchange;
+			elm.oldonchange = null;
+		}
+
+		return true;
+	}
+
+	// Piggyback onchange
+	if (elm.nodeName == "SELECT" && !elm.oldonchange) {
+		elm.oldonchange = elm.onchange;
+		elm.onchange = null;
+	}
+
+	// Execute onchange and remove piggyback
+	if (e.keyCode == 13 || e.keyCode == 32) {
+		elm.onchange = elm.oldonchange;
+		elm.onchange();
+		elm.oldonchange = null;
+
+		tinyMCE.cancelEvent(e);
+		return false;
+	}
+
+	return true;
+};
+
+TinyMCE_Engine.prototype._resetIframeHeight = function() {
+	var ife;
+
+	if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
+		ife = tinyMCE.selectedInstance.iframeElement;
+
+/*		if (ife._oldWidth) {
+			ife.style.width = ife._oldWidth;
+			ife.width = ife._oldWidth;
+		}*/
+
+		if (ife._oldHeight) {
+			ife.style.height = ife._oldHeight;
+			ife.height = ife._oldHeight;
+		}
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Selection.class.js */
+
+function TinyMCE_Selection(inst) {
+	this.instance = inst;
+};
+
+TinyMCE_Selection.prototype = {
+	getSelectedHTML : function() {
+		var inst = this.instance;
+		var e, r = this.getRng(), h;
+
+		if (tinyMCE.isSafari) {
+			// Not realy perfect!!
+			return r.toString();
+		}
+
+		e = document.createElement("body");
+
+		if (tinyMCE.isGecko)
+			e.appendChild(r.cloneContents());
+		else 
+			e.innerHTML = r.item ? r.item(0).outerHTML : r.htmlText;
+
+		h = tinyMCE._cleanupHTML(inst, inst.contentDocument, inst.settings, e, e, false, true, false);
+
+		// When editing always use fonts internaly
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		return h;
+	},
+
+	getSelectedText : function() {
+		var inst = this.instance;
+		var d, r, s, t;
+
+		if (tinyMCE.isMSIE) {
+			d = inst.getDoc();
+
+			if (d.selection.type == "Text") {
+				r = d.selection.createRange();
+				t = r.text;
+			} else
+				t = '';
+		} else {
+			s = this.getSel();
+
+			if (s && s.toString)
+				t = s.toString();
+			else
+				t = '';
+		}
+
+		return t;
+	},
+
+	getBookmark : function(simple) {
+		var rng = this.getRng();
+		var doc = this.instance.getDoc();
+		var sp, le, s, e, nl, i, si, ei;
+		var trng, sx, sy, xx = -999999999;
+
+		// Skip Opera for now
+		if (tinyMCE.isOpera)
+			return null;
+
+		sx = doc.body.scrollLeft + doc.documentElement.scrollLeft;
+		sy = doc.body.scrollTop + doc.documentElement.scrollTop;
+
+		if (tinyMCE.isSafari || tinyMCE.isGecko)
+			return {rng : rng, scrollX : sx, scrollY : sy};
+
+		if (tinyMCE.isMSIE) {
+			if (simple)
+				return {rng : rng};
+
+			if (rng.item) {
+				e = rng.item(0);
+
+				nl = doc.getElementsByTagName(e.nodeName);
+				for (i=0; i<nl.length; i++) {
+					if (e == nl[i]) {
+						sp = i;
+						break;
+					}
+				}
+
+				return {
+					tag : e.nodeName,
+					index : sp,
+					scrollX : sx,
+					scrollY : sy
+				};
+			} else {
+				trng = rng.duplicate();
+				trng.collapse(true);
+				sp = Math.abs(trng.move('character', xx));
+
+				trng = rng.duplicate();
+				trng.collapse(false);
+				le = Math.abs(trng.move('character', xx)) - sp;
+
+				return {
+					start : sp,
+					length : le,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+		}
+
+		if (tinyMCE.isGecko) {
+			s = tinyMCE.getParentElement(rng.startContainer);
+			for (si=0; si<s.childNodes.length && s.childNodes[si] != rng.startContainer; si++) ;
+
+			nl = doc.getElementsByTagName(s.nodeName);
+			for (i=0; i<nl.length; i++) {
+					if (s == nl[i]) {
+						sp = i;
+						break;
+					}
+			}
+
+			e = tinyMCE.getParentElement(rng.endContainer);
+			for (ei=0; ei<e.childNodes.length && e.childNodes[ei] != rng.endContainer; ei++) ;
+
+			nl = doc.getElementsByTagName(e.nodeName);
+			for (i=0; i<nl.length; i++) {
+					if (e == nl[i]) {
+						le = i;
+						break;
+					}
+			}
+
+			//tinyMCE.debug(s.nodeName, sp, rng.startOffset, '-' , e.nodeName, le, rng.endOffset);
+			//tinyMCE.debug(sx, sy);
+
+			return {
+				startTag : s.nodeName,
+				start : sp,
+				startIndex : si,
+				endTag : e.nodeName,
+				end : le,
+				endIndex : ei,
+				startOffset : rng.startOffset,
+				endOffset : rng.endOffset,
+				scrollX : sx,
+				scrollY : sy
+			};
+		}
+
+		return null;
+	},
+
+	moveToBookmark : function(bookmark) {
+		var rng, nl, i;
+		var inst = this.instance;
+		var doc = inst.getDoc();
+		var win = inst.getWin();
+		var sel = this.getSel();
+
+		if (!bookmark)
+			return false;
+
+		if (tinyMCE.isSafari) {
+			sel.setBaseAndExtent(bookmark.startContainer, bookmark.startOffset, bookmark.endContainer, bookmark.endOffset);
+			return true;
+		}
+
+		if (tinyMCE.isMSIE) {
+			if (bookmark.rng) {
+				bookmark.rng.select();
+				return true;
+			}
+
+			win.focus();
+
+			if (bookmark.tag) {
+				rng = inst.getBody().createControlRange();
+
+				nl = doc.getElementsByTagName(bookmark.tag);
+
+				if (nl.length > bookmark.index) {
+					try {
+						rng.addElement(nl[bookmark.index]);
+					} catch (ex) {
+						// Might be thrown if the node no longer exists
+					}
+				}
+			} else {
+				rng = inst.getSel().createRange();
+				rng.moveToElementText(inst.getBody());
+				rng.collapse(true);
+				rng.moveStart('character', bookmark.start);
+				rng.moveEnd('character', bookmark.length);
+			}
+
+			rng.select();
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			return true;
+		}
+
+		if (tinyMCE.isGecko && bookmark.rng) {
+			sel.removeAllRanges();
+			sel.addRange(bookmark.rng);
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			return true;
+		}
+
+		if (tinyMCE.isGecko) {
+	//		try {
+				rng = doc.createRange();
+
+				nl = doc.getElementsByTagName(bookmark.startTag);
+				if (nl.length > bookmark.start)
+					rng.setStart(nl[bookmark.start].childNodes[bookmark.startIndex], bookmark.startOffset);
+
+				nl = doc.getElementsByTagName(bookmark.endTag);
+				if (nl.length > bookmark.end)
+					rng.setEnd(nl[bookmark.end].childNodes[bookmark.endIndex], bookmark.endOffset);
+
+				sel.removeAllRanges();
+				sel.addRange(rng);
+	/*		} catch {
+				// Ignore
+			}*/
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			return true;
+		}
+
+		return false;
+	},
+
+	selectNode : function(node, collapse, select_text_node, to_start) {
+		var inst = this.instance, sel, rng, nodes;
+
+		if (!node)
+			return;
+
+		if (typeof(collapse) == "undefined")
+			collapse = true;
+
+		if (typeof(select_text_node) == "undefined")
+			select_text_node = false;
+
+		if (typeof(to_start) == "undefined")
+			to_start = true;
+
+		if (tinyMCE.isMSIE) {
+			rng = inst.getBody().createTextRange();
+
+			try {
+				rng.moveToElementText(node);
+
+				if (collapse)
+					rng.collapse(to_start);
+
+				rng.select();
+			} catch (e) {
+				// Throws illigal agrument in MSIE some times
+			}
+		} else {
+			sel = this.getSel();
+
+			if (!sel)
+				return;
+
+			if (tinyMCE.isSafari) {
+				sel.setBaseAndExtent(node, 0, node, node.innerText.length);
+
+				if (collapse) {
+					if (to_start)
+						sel.collapseToStart();
+					else
+						sel.collapseToEnd();
+				}
+
+				this.scrollToNode(node);
+
+				return;
+			}
+
+			rng = inst.getDoc().createRange();
+
+			if (select_text_node) {
+				// Find first textnode in tree
+				nodes = tinyMCE.getNodeTree(node, new Array(), 3);
+				if (nodes.length > 0)
+					rng.selectNodeContents(nodes[0]);
+				else
+					rng.selectNodeContents(node);
+			} else
+				rng.selectNode(node);
+
+			if (collapse) {
+				// Special treatment of textnode collapse
+				if (!to_start && node.nodeType == 3) {
+					rng.setStart(node, node.nodeValue.length);
+					rng.setEnd(node, node.nodeValue.length);
+				} else
+					rng.collapse(to_start);
+			}
+
+			sel.removeAllRanges();
+			sel.addRange(rng);
+		}
+
+		this.scrollToNode(node);
+
+		// Set selected element
+		tinyMCE.selectedElement = null;
+		if (node.nodeType == 1)
+			tinyMCE.selectedElement = node;
+	},
+
+	scrollToNode : function(node) {
+		var inst = this.instance;
+		var pos, doc, scrollX, scrollY, height;
+
+		// Scroll to node position
+		pos = tinyMCE.getAbsPosition(node);
+		doc = inst.getDoc();
+		scrollX = doc.body.scrollLeft + doc.documentElement.scrollLeft;
+		scrollY = doc.body.scrollTop + doc.documentElement.scrollTop;
+		height = tinyMCE.isMSIE ? document.getElementById(inst.editorId).style.pixelHeight : inst.targetElement.clientHeight;
+
+		// Only scroll if out of visible area
+		if (!tinyMCE.settings['auto_resize'] && !(pos.absTop > scrollY && pos.absTop < (scrollY - 25 + height)))
+			inst.contentWindow.scrollTo(pos.absLeft, pos.absTop - height + 25); 
+	},
+
+	getSel : function() {
+		var inst = this.instance;
+
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			return inst.getDoc().selection;
+
+		return inst.contentWindow.getSelection();
+	},
+
+	getRng : function() {
+		var inst = this.instance;
+		var sel = this.getSel();
+
+		if (sel == null)
+			return null;
+
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			return sel.createRange();
+
+		if (tinyMCE.isSafari && !sel.getRangeAt)
+			return '' + window.getSelection();
+
+		return sel.getRangeAt(0);
+	},
+
+	getFocusElement : function() {
+		var inst = this.instance;
+
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
+			var doc = inst.getDoc();
+			var rng = doc.selection.createRange();
+
+	//		if (rng.collapse)
+	//			rng.collapse(true);
+
+			var elm = rng.item ? rng.item(0) : rng.parentElement();
+		} else {
+			if (inst.isHidden())
+				return inst.getBody();
+
+			var sel = this.getSel();
+			var rng = this.getRng();
+
+			if (!sel || !rng)
+				return null;
+
+			var elm = rng.commonAncestorContainer;
+			//var elm = (sel && sel.anchorNode) ? sel.anchorNode : null;
+
+			// Handle selection a image or other control like element such as anchors
+			if (!rng.collapsed) {
+				// Is selection small
+				if (rng.startContainer == rng.endContainer) {
+					if (rng.startOffset - rng.endOffset < 2) {
+						if (rng.startContainer.hasChildNodes())
+							elm = rng.startContainer.childNodes[rng.startOffset];
+					}
+				}
+			}
+
+			// Get the element parent of the node
+			elm = tinyMCE.getParentElement(elm);
+
+			//if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img")
+			//	elm = tinyMCE.selectedElement;
+		}
+
+		return elm;
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */
+
+function TinyMCE_UndoRedo(inst) {
+	this.instance = inst;
+	this.undoLevels = new Array();
+	this.undoIndex = 0;
+	this.typingUndoIndex = -1;
+	this.undoRedo = true;
+};
+
+TinyMCE_UndoRedo.prototype = {
+	add : function(l) {
+		var b;
+
+		if (l) {
+			this.undoLevels[this.undoLevels.length] = l;
+			return true;
+		}
+
+		var inst = this.instance;
+
+		if (this.typingUndoIndex != -1) {
+			this.undoIndex = this.typingUndoIndex;
+			// tinyMCE.debug("Override: " + this.undoIndex);
+		}
+
+		var newHTML = tinyMCE.trim(inst.getBody().innerHTML);
+		if (this.undoLevels[this.undoIndex] && newHTML != this.undoLevels[this.undoIndex].content) {
+			//tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex]);
+
+			tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', inst);
+
+			// Time to compress
+			var customUndoLevels = tinyMCE.settings['custom_undo_redo_levels'];
+			if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) {
+				for (var i=0; i<this.undoLevels.length-1; i++) {
+					//tinyMCE.debug(this.undoLevels[i] + "=" + this.undoLevels[i+1]);
+					this.undoLevels[i] = this.undoLevels[i+1];
+				}
+
+				this.undoLevels.length--;
+				this.undoIndex--;
+			}
+
+			b = inst.undoBookmark;
+			if (!b)
+				b = inst.selection.getBookmark();
+
+			this.undoIndex++;
+			this.undoLevels[this.undoIndex] = {
+				content : newHTML,
+				bookmark : b
+			};
+
+			this.undoLevels.length = this.undoIndex + 1;
+
+			//tinyMCE.debug("level added" + this.undoIndex);
+			return true;
+
+			// tinyMCE.debug(this.undoIndex + "," + (this.undoLevels.length-1));
+		}
+
+		return false;
+	},
+
+	undo : function() {
+		var inst = this.instance;
+
+		// Do undo
+		if (this.undoIndex > 0) {
+			this.undoIndex--;
+			tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
+			inst.repaint();
+			if (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
+		}
+
+		// tinyMCE.debug("Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);
+	},
+
+	redo : function() {
+		var inst = this.instance;
+
+		tinyMCE.execCommand("mceEndTyping");
+
+		if (this.undoIndex < (this.undoLevels.length-1)) {
+			this.undoIndex++;
+			tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
+			inst.repaint();
+//					if (this.undoIndex > 0)
+//						inst.selection.moveToBookmark(this.undoLevels[this.undoIndex-1].bookmark);
+			if (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
+			// tinyMCE.debug("Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);
+		}
+
+		tinyMCE.triggerNodeChange();
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */
+
+var TinyMCE_ForceParagraphs = {
+	_insertPara : function(inst, e) {
+		function isEmpty(para) {
+			function isEmptyHTML(html) {
+				return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == "";
+			}
+
+			// Check for images
+			if (para.getElementsByTagName("img").length > 0)
+				return false;
+
+			// Check for tables
+			if (para.getElementsByTagName("table").length > 0)
+				return false;
+
+			// Check for HRs
+			if (para.getElementsByTagName("hr").length > 0)
+				return false;
+
+			// Check all textnodes
+			var nodes = tinyMCE.getNodeTree(para, new Array(), 3);
+			for (var i=0; i<nodes.length; i++) {
+				if (!isEmptyHTML(nodes[i].nodeValue))
+					return false;
+			}
+
+			// No images, no tables, no hrs, no text content then it's empty
+			return true;
+		}
+
+		var doc = inst.getDoc();
+		var sel = inst.getSel();
+		var win = inst.contentWindow;
+		var rng = sel.getRangeAt(0);
+		var body = doc.body;
+		var rootElm = doc.documentElement;
+		var blockName = "P";
+
+	//	tinyMCE.debug(body.innerHTML);
+
+	//	debug(e.target, sel.anchorNode.nodeName, sel.focusNode.nodeName, rng.startContainer, rng.endContainer, rng.commonAncestorContainer, sel.anchorOffset, sel.focusOffset, rng.toString());
+
+		// Setup before range
+		var rngBefore = doc.createRange();
+		rngBefore.setStart(sel.anchorNode, sel.anchorOffset);
+		rngBefore.collapse(true);
+
+		// Setup after range
+		var rngAfter = doc.createRange();
+		rngAfter.setStart(sel.focusNode, sel.focusOffset);
+		rngAfter.collapse(true);
+
+		// Setup start/end points
+		var direct = rngBefore.compareBoundaryPoints(rngBefore.START_TO_END, rngAfter) < 0;
+		var startNode = direct ? sel.anchorNode : sel.focusNode;
+		var startOffset = direct ? sel.anchorOffset : sel.focusOffset;
+		var endNode = direct ? sel.focusNode : sel.anchorNode;
+		var endOffset = direct ? sel.focusOffset : sel.anchorOffset;
+
+		startNode = startNode.nodeName == "BODY" ? startNode.firstChild : startNode;
+		endNode = endNode.nodeName == "BODY" ? endNode.firstChild : endNode;
+
+		// tinyMCE.debug(startNode, endNode);
+
+		// Get block elements
+		var startBlock = tinyMCE.getParentBlockElement(startNode);
+		var endBlock = tinyMCE.getParentBlockElement(endNode);
+
+		// If absolute force paragraph generation within
+		if (startBlock && new RegExp('absolute|relative|static', 'gi').test(startBlock.style.position))
+			startBlock = null;
+
+		if (endBlock && new RegExp('absolute|relative|static', 'gi').test(endBlock.style.position))
+			endBlock = null;
+
+		// Use current block name
+		if (startBlock != null) {
+			blockName = startBlock.nodeName;
+
+			// Use P instead
+			if (blockName == "TD" || blockName == "TABLE" || (blockName == "DIV" && new RegExp('left|right', 'gi').test(startBlock.style.cssFloat)))
+				blockName = "P";
+		}
+
+		// Within a list use normal behaviour
+		if (tinyMCE.getParentElement(startBlock, "OL,UL") != null)
+			return false;
+
+		// Within a table create new paragraphs
+		if ((startBlock != null && startBlock.nodeName == "TABLE") || (endBlock != null && endBlock.nodeName == "TABLE"))
+			startBlock = endBlock = null;
+
+		// Setup new paragraphs
+		var paraBefore = (startBlock != null && startBlock.nodeName == blockName) ? startBlock.cloneNode(false) : doc.createElement(blockName);
+		var paraAfter = (endBlock != null && endBlock.nodeName == blockName) ? endBlock.cloneNode(false) : doc.createElement(blockName);
+
+		// Is header, then force paragraph under
+		if (/^(H[1-6])$/.test(blockName))
+			paraAfter = doc.createElement("p");
+
+		// Setup chop nodes
+		var startChop = startNode;
+		var endChop = endNode;
+
+		// Get startChop node
+		node = startChop;
+		do {
+			if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			startChop = node;
+		} while ((node = node.previousSibling ? node.previousSibling : node.parentNode));
+
+		// Get endChop node
+		node = endChop;
+		do {
+			if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			endChop = node;
+		} while ((node = node.nextSibling ? node.nextSibling : node.parentNode));
+
+		// Fix when only a image is within the TD
+		if (startChop.nodeName == "TD")
+			startChop = startChop.firstChild;
+
+		if (endChop.nodeName == "TD")
+			endChop = endChop.lastChild;
+
+		// If not in a block element
+		if (startBlock == null) {
+			// Delete selection
+			rng.deleteContents();
+			sel.removeAllRanges();
+
+			if (startChop != rootElm && endChop != rootElm) {
+				// Insert paragraph before
+				rngBefore = rng.cloneRange();
+
+				if (startChop == body)
+					rngBefore.setStart(startChop, 0);
+				else
+					rngBefore.setStartBefore(startChop);
+
+				paraBefore.appendChild(rngBefore.cloneContents());
+
+				// Insert paragraph after
+				if (endChop.parentNode.nodeName == blockName)
+					endChop = endChop.parentNode;
+
+				// If not after image
+				//if (rng.startContainer.nodeName != "BODY" && rng.endContainer.nodeName != "BODY")
+					rng.setEndAfter(endChop);
+
+				if (endChop.nodeName != "#text" && endChop.nodeName != "BODY")
+					rngBefore.setEndAfter(endChop);
+
+				var contents = rng.cloneContents();
+				if (contents.firstChild && (contents.firstChild.nodeName == blockName || contents.firstChild.nodeName == "BODY"))
+					paraAfter.innerHTML = contents.firstChild.innerHTML;
+				else
+					paraAfter.appendChild(contents);
+
+				// Check if it's a empty paragraph
+				if (isEmpty(paraBefore))
+					paraBefore.innerHTML = "&nbsp;";
+
+				// Check if it's a empty paragraph
+				if (isEmpty(paraAfter))
+					paraAfter.innerHTML = "&nbsp;";
+
+				// Delete old contents
+				rng.deleteContents();
+				rngAfter.deleteContents();
+				rngBefore.deleteContents();
+
+				// Insert new paragraphs
+				paraAfter.normalize();
+				rngBefore.insertNode(paraAfter);
+				paraBefore.normalize();
+				rngBefore.insertNode(paraBefore);
+
+				// tinyMCE.debug("1: ", paraBefore.innerHTML, paraAfter.innerHTML);
+			} else {
+				body.innerHTML = "<" + blockName + ">&nbsp;</" + blockName + "><" + blockName + ">&nbsp;</" + blockName + ">";
+				paraAfter = body.childNodes[1];
+			}
+
+			inst.selection.selectNode(paraAfter, true, true);
+
+			return true;
+		}
+
+		// Place first part within new paragraph
+		if (startChop.nodeName == blockName)
+			rngBefore.setStart(startChop, 0);
+		else
+			rngBefore.setStartBefore(startChop);
+
+		rngBefore.setEnd(startNode, startOffset);
+		paraBefore.appendChild(rngBefore.cloneContents());
+
+		// Place secound part within new paragraph
+		rngAfter.setEndAfter(endChop);
+		rngAfter.setStart(endNode, endOffset);
+		var contents = rngAfter.cloneContents();
+
+		if (contents.firstChild && contents.firstChild.nodeName == blockName) {
+	/*		var nodes = contents.firstChild.childNodes;
+			for (var i=0; i<nodes.length; i++) {
+				//tinyMCE.debug(nodes[i].nodeName);
+				if (nodes[i].nodeName != "BODY")
+					paraAfter.appendChild(nodes[i]);
+			}
+	*/
+			paraAfter.innerHTML = contents.firstChild.innerHTML;
+		} else
+			paraAfter.appendChild(contents);
+
+		// Check if it's a empty paragraph
+		if (isEmpty(paraBefore))
+			paraBefore.innerHTML = "&nbsp;";
+
+		// Check if it's a empty paragraph
+		if (isEmpty(paraAfter))
+			paraAfter.innerHTML = "&nbsp;";
+
+		// Create a range around everything
+		var rng = doc.createRange();
+
+		if (!startChop.previousSibling && startChop.parentNode.nodeName.toUpperCase() == blockName) {
+			rng.setStartBefore(startChop.parentNode);
+		} else {
+			if (rngBefore.startContainer.nodeName.toUpperCase() == blockName && rngBefore.startOffset == 0)
+				rng.setStartBefore(rngBefore.startContainer);
+			else
+				rng.setStart(rngBefore.startContainer, rngBefore.startOffset);
+		}
+
+		if (!endChop.nextSibling && endChop.parentNode.nodeName.toUpperCase() == blockName)
+			rng.setEndAfter(endChop.parentNode);
+		else
+			rng.setEnd(rngAfter.endContainer, rngAfter.endOffset);
+
+		// Delete all contents and insert new paragraphs
+		rng.deleteContents();
+		rng.insertNode(paraAfter);
+		rng.insertNode(paraBefore);
+		//tinyMCE.debug("2", paraBefore.innerHTML, paraAfter.innerHTML);
+
+		// Normalize
+		paraAfter.normalize();
+		paraBefore.normalize();
+
+		inst.selection.selectNode(paraAfter, true, true);
+
+		return true;
+	},
+
+	_handleBackSpace : function(inst) {
+		var r = inst.getRng(), sn = r.startContainer, nv, s = false;
+
+		if (sn && sn.nextSibling && sn.nextSibling.nodeName == "BR") {
+			nv = sn.nodeValue;
+
+			// Handle if a backspace is pressed after a space character #bug 1466054
+			if (nv != null && nv.length >= r.startOffset && nv.charAt(r.startOffset - 1) == ' ')
+				s = true;
+
+			// Only remove BRs if we are at the end of line #bug 1464152
+			if (nv != null && r.startOffset == nv.length)
+				sn.nextSibling.parentNode.removeChild(sn.nextSibling);
+		}
+
+		return s;
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Layer.class.js */
+
+function TinyMCE_Layer(id, bm) {
+	this.id = id;
+	this.blockerElement = null;
+	this.events = false;
+	this.element = null;
+	this.blockMode = typeof(bm) != 'undefined' ? bm : true;
+	this.doc = document;
+};
+
+TinyMCE_Layer.prototype = {
+	moveRelativeTo : function(re, p) {
+		var rep = this.getAbsPosition(re);
+		var w = parseInt(re.offsetWidth);
+		var h = parseInt(re.offsetHeight);
+		var e = this.getElement();
+		var ew = parseInt(e.offsetWidth);
+		var eh = parseInt(e.offsetHeight);
+		var x, y;
+
+		switch (p) {
+			case "tl":
+				x = rep.absLeft;
+				y = rep.absTop;
+				break;
+
+			case "tr":
+				x = rep.absLeft + w;
+				y = rep.absTop;
+				break;
+
+			case "bl":
+				x = rep.absLeft;
+				y = rep.absTop + h;
+				break;
+
+			case "br":
+				x = rep.absLeft + w;
+				y = rep.absTop + h;
+				break;
+
+			case "cc":
+				x = rep.absLeft + (w / 2) - (ew / 2);
+				y = rep.absTop + (h / 2) - (eh / 2);
+				break;
+		}
+
+		this.moveTo(x, y);
+	},
+
+	moveBy : function(x, y) {
+		var e = this.getElement();
+		this.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y);
+	},
+
+	moveTo : function(x, y) {
+		var e = this.getElement();
+
+		e.style.left = x + "px";
+		e.style.top = y + "px";
+
+		this.updateBlocker();
+	},
+
+	resizeBy : function(w, h) {
+		var e = this.getElement();
+		this.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h);
+	},
+
+	resizeTo : function(w, h) {
+		var e = this.getElement();
+
+		if (w != null)
+			e.style.width = w + "px";
+
+		if (h != null)
+			e.style.height = h + "px";
+
+		this.updateBlocker();
+	},
+
+	show : function() {
+		this.getElement().style.display = 'block';
+		this.updateBlocker();
+	},
+
+	hide : function() {
+		this.getElement().style.display = 'none';
+		this.updateBlocker();
+	},
+
+	isVisible : function() {
+		return this.getElement().style.display == 'block';
+	},
+
+	getElement : function() {
+		if (!this.element)
+			this.element = this.doc.getElementById(this.id);
+
+		return this.element;
+	},
+
+	setBlockMode : function(s) {
+		this.blockMode = s;
+	},
+
+	updateBlocker : function() {
+		var e, b, x, y, w, h;
+
+		b = this.getBlocker();
+		if (b) {
+			if (this.blockMode) {
+				e = this.getElement();
+				x = this.parseInt(e.style.left);
+				y = this.parseInt(e.style.top);
+				w = this.parseInt(e.offsetWidth);
+				h = this.parseInt(e.offsetHeight);
+
+				b.style.left = x + 'px';
+				b.style.top = y + 'px';
+				b.style.width = w + 'px';
+				b.style.height = h + 'px';
+				b.style.display = e.style.display;
+			} else
+				b.style.display = 'none';
+		}
+	},
+
+	getBlocker : function() {
+		var d, b;
+
+		if (!this.blockerElement && this.blockMode) {
+			d = this.doc;
+			b = d.createElement("iframe");
+
+			b.style.cssText = 'display: none; position: absolute; left: 0; top: 0';
+			b.src = 'javascript:false;';
+			b.frameBorder = '0';
+			b.scrolling = 'no';
+
+			d.body.appendChild(b);
+			this.blockerElement = b;
+		}
+
+		return this.blockerElement;
+	},
+
+	getAbsPosition : function(n) {
+		var p = {absLeft : 0, absTop : 0};
+
+		while (n) {
+			p.absLeft += n.offsetLeft;
+			p.absTop += n.offsetTop;
+			n = n.offsetParent;
+		}
+
+		return p;
+	},
+
+	create : function(n, c, p) {
+		var d = this.doc, e = d.createElement(n);
+
+		e.setAttribute('id', this.id);
+
+		if (c)
+			e.className = c;
+
+		if (!p)
+			p = d.body;
+
+		p.appendChild(e);
+
+		return this.element = e;
+	},
+
+	parseInt : function(s) {
+		if (s == null || s == '')
+			return 0;
+
+		return parseInt(s);
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Menu.class.js */
+
+function TinyMCE_Menu() {
+	var id;
+
+	if (typeof(tinyMCE.menuCounter) == "undefined")
+		tinyMCE.menuCounter = 0;
+
+	id = "mc_menu_" + tinyMCE.menuCounter++;
+
+	TinyMCE_Layer.call(this, id, true);
+
+	this.id = id;
+	this.items = new Array();
+	this.needsUpdate = true;
+};
+
+// Extends the TinyMCE_Layer class
+TinyMCE_Menu.prototype = tinyMCE.extend(TinyMCE_Layer.prototype, {
+	init : function(s) {
+		var n;
+
+		// Default params
+		this.settings = {
+			separator_class : 'mceMenuSeparator',
+			title_class : 'mceMenuTitle',
+			disabled_class : 'mceMenuDisabled',
+			menu_class : 'mceMenu',
+			drop_menu : true
+		};
+
+		for (n in s)
+			this.settings[n] = s[n];
+
+		this.create('div', this.settings.menu_class);
+	},
+
+	clear : function() {
+		this.items = new Array();
+	},
+
+	addTitle : function(t) {
+		this.add({type : 'title', text : t});
+	},
+
+	addDisabled : function(t) {
+		this.add({type : 'disabled', text : t});
+	},
+
+	addSeparator : function() {
+		this.add({type : 'separator'});
+	},
+
+	addItem : function(t, js) {
+		this.add({text : t, js : js});
+	},
+
+	add : function(mi) {
+		this.items[this.items.length] = mi;
+		this.needsUpdate = true;
+	},
+
+	update : function() {
+		var e = this.getElement(), h = '', i, t, m = this.items, s = this.settings;
+
+		if (this.settings.drop_menu)
+			h += '<span class="mceMenuLine"></span>';
+
+		h += '<table border="0" cellpadding="0" cellspacing="0">';
+
+		for (i=0; i<m.length; i++) {
+			t = tinyMCE.xmlEncode(m[i].text);
+			c = m[i].class_name ? ' class="' + m[i].class_name + '"' : '';
+
+			switch (m[i].type) {
+				case 'separator':
+					h += '<tr class="' + s.separator_class + '"><td>';
+					break;
+
+				case 'title':
+					h += '<tr class="' + s.title_class + '"><td><span' + c +'>' + t + '</span>';
+					break;
+
+				case 'disabled':
+					h += '<tr class="' + s.disabled_class + '"><td><span' + c +'>' + t + '</span>';
+					break;
+
+				default:
+					h += '<tr><td><a href="javascript:void(0);" onmousedown="' + tinyMCE.xmlEncode(m[i].js) + ';return false;"><span' + c +'>' + t + '</span></a>';
+			}
+
+			h += '</td></tr>';
+		}
+
+		h += '</table>';
+
+		e.innerHTML = h;
+
+		this.needsUpdate = false;
+		this.updateBlocker();
+	},
+
+	show : function() {
+		var nl, i;
+
+		if (tinyMCE.lastMenu == this)
+			return;
+
+		if (this.needsUpdate)
+			this.update();
+
+		if (tinyMCE.lastMenu && tinyMCE.lastMenu != this)
+			tinyMCE.lastMenu.hide();
+
+		TinyMCE_Layer.prototype.show.call(this);
+
+		if (!tinyMCE.isOpera) {
+			// Accessibility stuff
+/*			nl = this.getElement().getElementsByTagName("a");
+			if (nl.length > 0)
+				nl[0].focus();*/
+		}
+
+		tinyMCE.lastMenu = this;
+	}
+});
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */
+
+TinyMCE_Engine.prototype.debug = function() {
+	var m = "", e, a, i;
+
+	e = document.getElementById("tinymce_debug");
+	if (!e) {
+		var d = document.createElement("div");
+		d.setAttribute("className", "debugger");
+		d.className = "debugger";
+		d.innerHTML = 'Debug output:<textarea id="tinymce_debug" style="width: 100%; height: 300px" wrap="nowrap" mce_editable="false"></textarea>';
+
+		document.body.appendChild(d);
+		e = document.getElementById("tinymce_debug");
+	}
+
+	a = this.debug.arguments;
+	for (i=0; i<a.length; i++) {
+		m += a[i];
+		if (i<a.length-1)
+			m += ', ';
+	}
+
+	e.value += m + "\n";
+};
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/editable_selects.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/editable_selects.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/editable_selects.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/editable_selects.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,63 @@
+/**
+ * $RCSfile: editable_selects.js,v $
+ * $Revision: 1.1 $
+ * $Date: 2006/04/10 09:30:19 $
+ *
+ * Makes select boxes editable.
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_EditableSelects = {
+	editSelectElm : null,
+
+	init : function() {
+		var nl = document.getElementsByTagName("select"), i, d = document, o;
+
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].className.indexOf('mceEditableSelect') != -1) {
+				o = new Option('(value)', '__mce_add_custom__');
+
+				o.className = 'mceAddSelectValue';
+
+				nl[i].options[nl[i].options.length] = o;
+				nl[i].setAttribute('onchange', 'TinyMCE_EditableSelects.onChangeEditableSelect(this);');
+			}
+		}
+	},
+
+	onChangeEditableSelect : function(se) {
+		var d = document, ne;
+
+		if (se.options[se.selectedIndex].value == '__mce_add_custom__') {
+			ne = d.createElement("input");
+			ne.id = se.id + "_custom";
+			ne.name = se.name + "_custom";
+			ne.type = "text";
+
+			ne.style.width = se.clientWidth;
+			se.parentNode.insertBefore(ne, se);
+			se.style.display = 'none';
+			ne.focus();
+			ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;
+			TinyMCE_EditableSelects.editSelectElm = se;
+		}
+	},
+
+	onBlurEditableSelectInput : function() {
+		var se = TinyMCE_EditableSelects.editSelectElm;
+
+		if (se) {
+			if (se.previousSibling.value != '') {
+				addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);
+				selectByValue(document.forms[0], se.id, se.previousSibling.value);
+			} else
+				selectByValue(document.forms[0], se.id, '');
+
+			se.style.display = 'inline';
+			se.parentNode.removeChild(se.previousSibling);
+			TinyMCE_EditableSelects.editSelectElm = null;
+		}
+	}
+};
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/form_utils.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/form_utils.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/form_utils.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/form_utils.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,210 @@
+/**
+ * $RCSfile: form_utils.js,v $
+ * $Revision: 1.11 $
+ * $Date: 2006/04/07 15:53:12 $
+ *
+ * Various form utilitiy functions.
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+function getColorPickerHTML(id, target_form_element) {
+	var html = "";
+
+	html += '<a id="' + id + '_link" href="javascript:void(0);" onkeydown="pickColor(event,\'' + target_form_element +'\');" onmousedown="pickColor(event,\'' + target_form_element +'\');return false;">';
+	html += '<img id="' + id + '" src="../../themes/' + tinyMCE.getParam("theme") + '/images/color.gif"';
+	html += ' onmouseover="this.className=\'mceButtonOver\'"';
+	html += ' onmouseout="this.className=\'mceButtonNormal\'"';
+	html += ' onmousedown="this.className=\'mceButtonDown\'"';
+	html += ' width="20" height="16" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+	html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+	return html;
+}
+
+function pickColor(e, target_form_element) {
+	if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown")
+		tinyMCEPopup.pickColor(e, target_form_element);
+}
+
+function updateColor(img_id, form_element_id) {
+	document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
+}
+
+function setBrowserDisabled(id, state) {
+	var img = document.getElementById(id);
+	var lnk = document.getElementById(id + "_link");
+
+	if (lnk) {
+		if (state) {
+			lnk.setAttribute("realhref", lnk.getAttribute("href"));
+			lnk.removeAttribute("href");
+			tinyMCE.switchClass(img, 'mceButtonDisabled', true);
+		} else {
+			lnk.setAttribute("href", lnk.getAttribute("realhref"));
+			tinyMCE.switchClass(img, 'mceButtonNormal', false);
+		}
+	}
+}
+
+function getBrowserHTML(id, target_form_element, type, prefix) {
+	var option = prefix + "_" + type + "_browser_callback";
+	var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+	if (cb == null)
+		return "";
+
+	var html = "";
+
+	html += '<a id="' + id + '_link" href="javascript:openBrower(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;">';
+	html += '<img id="' + id + '" src="../../themes/' + tinyMCE.getParam("theme") + '/images/browse.gif"';
+	html += ' onmouseover="this.className=\'mceButtonOver\';"';
+	html += ' onmouseout="this.className=\'mceButtonNormal\';"';
+	html += ' onmousedown="this.className=\'mceButtonDown\';"';
+	html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+	html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+	return html;
+}
+
+function openBrower(img_id, target_form_element, type, option) {
+	var img = document.getElementById(img_id);
+
+	if (img.className != "mceButtonDisabled")
+		tinyMCEPopup.openBrowser(target_form_element, type, option);
+}
+
+function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
+	if (!form_obj || !form_obj.elements[field_name])
+		return;
+
+	var sel = form_obj.elements[field_name];
+
+	var found = false;
+	for (var i=0; i<sel.options.length; i++) {
+		var option = sel.options[i];
+
+		if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
+			option.selected = true;
+			found = true;
+		} else
+			option.selected = false;
+	}
+
+	if (!found && add_custom && value != '') {
+		var option = new Option(value, value);
+		option.selected = true;
+		sel.options[sel.options.length] = option;
+		sel.selectedIndex = sel.options.length - 1;
+	}
+
+	return found;
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function addSelectValue(form_obj, field_name, name, value) {
+	var s = form_obj.elements[field_name];
+	var o = new Option(name, value);
+	s.options[s.options.length] = o;
+}
+
+function addClassesToList(list_id, specific_option) {
+	// Setup class droplist
+	var styleSelectElm = document.getElementById(list_id);
+	var styles = tinyMCE.getParam('theme_advanced_styles', false);
+	styles = tinyMCE.getParam(specific_option, styles);
+
+	if (styles) {
+		var stylesAr = styles.split(';');
+
+		for (var i=0; i<stylesAr.length; i++) {
+			if (stylesAr != "") {
+				var key, value;
+
+				key = stylesAr[i].split('=')[0];
+				value = stylesAr[i].split('=')[1];
+
+				styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
+			}
+		}
+	} else {
+		// Use auto impored classes
+		var csses = tinyMCE.getCSSClasses(tinyMCE.getWindowArg('editor_id'));
+		for (var i=0; i<csses.length; i++)
+			styleSelectElm.options[styleSelectElm.length] = new Option(csses[i], csses[i]);
+	}
+}
+
+function isVisible(element_id) {
+	var elm = document.getElementById(element_id);
+
+	return elm && elm.style.display != "none";
+}
+
+function convertRGBToHex(col) {
+	var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+	var rgb = col.replace(re, "$1,$2,$3").split(',');
+	if (rgb.length == 3) {
+		r = parseInt(rgb[0]).toString(16);
+		g = parseInt(rgb[1]).toString(16);
+		b = parseInt(rgb[2]).toString(16);
+
+		r = r.length == 1 ? '0' + r : r;
+		g = g.length == 1 ? '0' + g : g;
+		b = b.length == 1 ? '0' + b : b;
+
+		return "#" + r + g + b;
+	}
+
+	return col;
+}
+
+function convertHexToRGB(col) {
+	if (col.indexOf('#') != -1) {
+		col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+		r = parseInt(col.substring(0, 2), 16);
+		g = parseInt(col.substring(2, 4), 16);
+		b = parseInt(col.substring(4, 6), 16);
+
+		return "rgb(" + r + "," + g + "," + b + ")";
+	}
+
+	return col;
+}
+
+function trimSize(size) {
+	return size.replace(new RegExp('[^0-9%]', 'gi'), '');
+}
+
+function getCSSSize(size) {
+	size = trimSize(size);
+
+	if (size == "")
+		return "";
+
+	return size.indexOf('%') != -1 ? size : size + "px";
+}
+
+function getStyle(elm, attrib, style) {
+	var val = tinyMCE.getAttrib(elm, attrib);
+
+	if (val != '')
+		return '' + val;
+
+	if (typeof(style) == 'undefined')
+		style = attrib;
+
+	val = eval('elm.style.' + style);
+
+	return val == null ? '' : '' + val;
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/mclayer.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/mclayer.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/mclayer.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/mclayer.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,212 @@
+/**
+ * $RCSfile: mclayer.js,v $
+ * $Revision: 1.2 $
+ * $Date: 2006/02/06 20:11:09 $
+ *
+ * Moxiecode floating layer script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCLayer(id) {
+	this.id = id;
+	this.settings = new Array();
+	this.blockerElement = null;
+	this.isMSIE = navigator.appName == "Microsoft Internet Explorer";
+	this.events = false;
+	this.autoHideCallback = null;
+}
+
+MCLayer.prototype = {
+	moveRelativeTo : function(re, p, a) {
+		var rep = this.getAbsPosition(re);
+		var w = parseInt(re.offsetWidth);
+		var h = parseInt(re.offsetHeight);
+		var x, y;
+
+		switch (p) {
+			case "tl":
+				break;
+
+			case "tr":
+				x = rep.absLeft + w;
+				y = rep.absTop;
+				break;
+
+			case "bl":
+				break;
+
+			case "br":
+				break;
+		}
+
+		this.moveTo(x, y);
+	},
+
+	moveBy : function(dx, dy) {
+		var e = this.getElement();
+		var x = parseInt(e.style.left);
+		var y = parseInt(e.style.top);
+
+		e.style.left = (x + dx) + "px";
+		e.style.top = (y + dy) + "px";
+
+		this.updateBlocker();
+	},
+
+	moveTo : function(x, y) {
+		var e = this.getElement();
+
+		e.style.left = x + "px";
+		e.style.top = y + "px";
+
+		this.updateBlocker();
+	},
+
+	show : function() {
+		MCLayer.visibleLayer = this;
+
+		this.getElement().style.display = 'block';
+		this.updateBlocker();
+	},
+
+	hide : function() {
+		this.getElement().style.display = 'none';
+		this.updateBlocker();
+	},
+
+	setAutoHide : function(s, cb) {
+		this.autoHideCallback = cb;
+		this.registerEventHandlers();
+	},
+
+	getElement : function() {
+		return document.getElementById(this.id);
+	},
+
+	updateBlocker : function() {
+		if (!this.isMSIE)
+			return;
+
+		var e = this.getElement();
+		var b = this.getBlocker();
+		var x = this.parseInt(e.style.left);
+		var y = this.parseInt(e.style.top);
+		var w = this.parseInt(e.offsetWidth);
+		var h = this.parseInt(e.offsetHeight);
+
+		b.style.left = x + 'px';
+		b.style.top = y + 'px';
+		b.style.width = w + 'px';
+		b.style.height = h + 'px';
+		b.style.display = e.style.display;
+	},
+
+	getBlocker : function() {
+		if (!this.blockerElement) {
+			var d = document, b = d.createElement("iframe");
+
+			b.style.cssText = 'display: none; left: 0px; position: absolute; top: 0';
+			b.src = 'javascript:false;';
+			b.frameBorder = '0';
+			b.scrolling = 'no';
+
+			d.body.appendChild(b);
+			this.blockerElement = b;
+		}
+
+		return this.blockerElement;
+	},
+
+	getAbsPosition : function(n) {
+		var p = {absLeft : 0, absTop : 0};
+
+		while (n) {
+			p.absLeft += n.offsetLeft;
+			p.absTop += n.offsetTop;
+			n = n.offsetParent;
+		}
+
+		return p;
+	},
+
+	registerEventHandlers : function() {
+		if (!this.events) {
+			var d = document;
+
+			this.addEvent(d, 'mousedown', MCLayer.prototype.onMouseDown);
+
+			this.events = true;
+		}
+	},
+
+	addEvent : function(o, n, h) {
+		if (o.attachEvent)
+			o.attachEvent("on" + n, h);
+		else
+			o.addEventListener(n, h, false);
+	},
+
+	onMouseDown : function(e) {
+		e = typeof(e) == "undefined" ? window.event : e;
+		var b = document.body;
+		var l = MCLayer.visibleLayer;
+
+		if (l) {
+			var mx = l.isMSIE ? e.clientX + b.scrollLeft : e.pageX;
+			var my = l.isMSIE ? e.clientY + b.scrollTop : e.pageY;
+			var el = l.getElement();
+			var x = parseInt(el.style.left);
+			var y = parseInt(el.style.top);
+			var w = parseInt(el.offsetWidth);
+			var h = parseInt(el.offsetHeight);
+
+			if (!(mx > x && mx < x + w && my > y && my < y + h)) {
+				MCLayer.visibleLayer = null;
+
+				if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my))
+					return true;
+
+				l.hide();
+			}
+		}
+	},
+
+	addCSSClass : function(e, c) {
+		this.removeCSSClass(e, c);
+		var a = this.explode(' ', e.className);
+		a[a.length] = c;
+		e.className = a.join(' ');
+	},
+
+	removeCSSClass : function(e, c) {
+		var a = this.explode(' ', e.className), i;
+
+		for (i=0; i<a.length; i++) {
+			if (a[i] == c)
+				a[i] = '';
+		}
+
+		e.className = a.join(' ');
+	},
+
+	explode : function(d, s) {
+		var ar = s.split(d);
+		var oar = new Array();
+
+		for (var i = 0; i<ar.length; i++) {
+			if (ar[i] != "")
+				oar[oar.length] = ar[i];
+		}
+
+		return oar;
+	},
+
+	parseInt : function(s) {
+		if (s == null || s == '')
+			return 0;
+
+		return parseInt(s);
+	}
+}
\ No newline at end of file
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/mctabs.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/mctabs.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/mctabs.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/mctabs.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,76 @@
+/**
+ * $RCSfile: mctabs.js,v $
+ * $Revision: 1.2 $
+ * $Date: 2006/02/06 20:11:09 $
+ *
+ * Moxiecode DHTML Tabs script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCTabs() {
+	this.settings = new Array();
+};
+
+MCTabs.prototype.init = function(settings) {
+	this.settings = settings;
+};
+
+MCTabs.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+MCTabs.prototype.displayTab = function(tab_id, panel_id) {
+	var panelElm = document.getElementById(panel_id);
+	var panelContainerElm = panelElm ? panelElm.parentNode : null;
+	var tabElm = document.getElementById(tab_id);
+	var tabContainerElm = tabElm ? tabElm.parentNode : null;
+	var selectionClass = this.getParam('selection_class', 'current');
+
+	if (tabElm && tabContainerElm) {
+		var nodes = tabContainerElm.childNodes;
+
+		// Hide all other tabs
+		for (var i=0; i<nodes.length; i++) {
+			if (nodes[i].nodeName == "LI")
+				nodes[i].className = '';
+		}
+
+		// Show selected tab
+		tabElm.className = 'current';
+	}
+
+	if (panelElm && panelContainerElm) {
+		var nodes = panelContainerElm.childNodes;
+
+		// Hide all other panels
+		for (var i=0; i<nodes.length; i++) {
+			if (nodes[i].nodeName == "DIV")
+				nodes[i].className = 'panel';
+		}
+
+		// Show selected panel
+		panelElm.className = 'current';
+	}
+};
+
+MCTabs.prototype.getAnchor = function() {
+	var pos, url = document.location.href;
+
+	if ((pos = url.lastIndexOf('#')) != -1)
+		return url.substring(pos + 1);
+
+	return "";
+};
+
+// Global instance
+var mcTabs = new MCTabs();
diff -ruN 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/validate.js 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/validate.js
--- 4.5.2.3/mambots/editors/tinymce/jscripts/tiny_mce/utils/validate.js	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/mambots/editors/tinymce/jscripts/tiny_mce/utils/validate.js	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,50 @@
+/**
+ * $RCSfile: validate.js,v $
+ * $Revision: 1.3 $
+ * $Date: 2006/02/06 20:11:09 $
+ *
+ * Various form validation methods.
+ *
+ * @author Moxiecode
+ * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+function testRegExp(form_name, element_name, re) {
+	return new RegExp(re).test(document.forms[form_name].elements[element_name].value);
+}
+
+function validateString(form_name, element_name) {
+	return (document.forms[form_name].elements[element_name].value.length > 0);
+}
+
+function validateSelection(form_name, element_name) {
+	return (document.forms[form_name].elements[element_name].selectedIndex > 0);
+}
+
+function validateCheckBox(form_name, element_name) {
+	return document.forms[form_name].elements[element_name].checked;
+}
+
+function validateCleanString(form_name, element_name) {
+	return testRegExp(form_name, element_name, '^[A-Za-z0-9_]+$');
+}
+
+function validateEmail(form_name, element_name) {
+	return testRegExp(form_name, element_name, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
+}
+
+function validateAbsUrl(form_name, element_name) {
+	return testRegExp(form_name, element_name, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$');
+}
+
+function validateNumber(form_name, element_name, allow_blank) {
+	return (!allow_blank && value == '') ? false : testRegExp(form_name, element_name, '^-?[0-9]*\\.?[0-9]*$');
+}
+
+function validateSize(form_name, element_name,) {
+	return testRegExp(form_name, element_name, '^[0-9]+(px|%)?$');
+}
+
+function validateID(form_name, element_name,) {
+	return testRegExp(form_name, element_name, '^[A-Za-z_]([A-Za-z0-9_])*$');
+}
diff -ruN 4.5.2.3/mambots/editors/tinymce.php 4.5.4/mambots/editors/tinymce.php
--- 4.5.2.3/mambots/editors/tinymce.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,112 +1,118 @@
-<?php
-/**
-* @version $Id: tinymce.php,v 1.5 2005/02/11 11:10:55 stingrey Exp $
-* @package Mambo
-* @copyright (C) 2000 - 2005 Miro International Pty Ltd
-* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
-* Mambo is Free Software
-*/
-
-/** ensure this file is being included by a parent file */
-defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
-
-$_MAMBOTS->registerFunction( 'onInitEditor', 'botTinymceEditorInit' );
-$_MAMBOTS->registerFunction( 'onGetEditorContents', 'botTinymceEditorGetContents' );
-$_MAMBOTS->registerFunction( 'onEditorArea', 'botTinymceEditorEditorArea' );
-
-/**
-* TinyMCE WYSIWYG Editor - javascript initialisation
-*/
-function botTinymceEditorInit() {
-	global $mosConfig_live_site, $database, $mosConfig_absolute_path;
-
-	// load tinymce info
-	$query = "SELECT id FROM #__mambots WHERE element = 'tinymce' AND folder = 'editors'";
-	$database->setQuery( $query );
-	$id = $database->loadResult();
-	$mambot = new mosMambot( $database );
-	$mambot->load( $id );
-	$params =& new mosParameters( $mambot->params );
-
-	$theme = $params->get( 'theme', 'default' );
-
- 	$toolbar 			= $params->def( 'toolbar', 'top' );
- 	$html_height		= $params->def( 'html_height', '550' );
- 	$html_width			= $params->def( 'html_width', '750' );
- 	$text_direction		= $params->def( 'text_direction', 'ltr' );
-	$content_css		= $params->def( 'content_css', 1 );
- 	$content_css_custom	= $params->def( 'content_css_custom', '' );
- 	$invalid_elements	= $params->def( 'invalid_elements', 'script,object,applet,iframe' );
- 	$newlines			= $params->def( 'newlines', 'false' );
- 	
- 	if ( $content_css ) {
- 		$query = "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'";
- 		$database->setQuery( $query );
- 		$template 		= $database->loadResult();
- 		$content_css	= 'content_css : "'. $mosConfig_live_site .'/templates/'. $template .'/css/template_css.css"';
- 	} else {
- 		if ( $content_css_custom ) {
- 			$content_css = 'content_css : "'. $content_css_custom .'"';
- 		} else {
- 			$content_css = '';
- 		}
- 	}
- 	
-	return <<<EOD
-<script type="text/javascript" src="$mosConfig_live_site/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
-<script type="text/javascript">
-	tinyMCE.init({
-		theme : "$theme",
-		language : "uk",
-		mode : "specific_textareas",
-		document_base_url : "$mosConfig_live_site/mambots/editors/tinymce/",
- 		invalid_elements : "$invalid_elements",
- 		theme_advanced_toolbar_location : "$toolbar",
- 		theme_advanced_source_editor_height : "$html_height",
-		theme_advanced_source_editor_width : "$html_width",
- 		directionality: "$text_direction",
- 		force_br_newlines : "$newlines",
- 		$content_css,		
-		debug : false
-	});
-</script>
-EOD;
-}
-/**
-* TinyMCE WYSIWYG Editor - copy editor contents to form field
-* @param string The name of the editor area
-* @param string The name of the form field
-*/
-function botTinymceEditorGetContents( $editorArea, $hiddenField ) {
-	return <<<EOD
-
-		tinyMCE.triggerSave();
-EOD;
-}
-/**
-* TinyMCE WYSIWYG Editor - display the editor
-* @param string The name of the editor area
-* @param string The content of the field
-* @param string The name of the form field
-* @param string The width of the editor area
-* @param string The height of the editor area
-* @param int The number of columns for the editor area
-* @param int The number of rows for the editor area
-*/
-function botTinymceEditorEditorArea( $name, $content, $hiddenField, $width, $height, $col, $row ) {
-	global $mosConfig_live_site, $_MAMBOTS;
-
-	$results = $_MAMBOTS->trigger( 'onCustomEditorButton' );
-	$buttons = array();
-	foreach ($results as $result) {
-	    $buttons[] = '<img src="'.$mosConfig_live_site.'/mambots/editors-xtd/'.$result[0].'" onclick="tinyMCE.execCommand(\'mceInsertContent\',false,\''.$result[1].'\')" />';
-	}
-	$buttons = implode( "", $buttons );
-
-	return <<<EOD
-
-<textarea id="$hiddenField" name="$hiddenField" cols="$col" rows="$row" style="width:{$width}px; height:{$height}px;" mce_editable="true">$content</textarea>
-<br />$buttons
-EOD;
-}
-?>
\ No newline at end of file
+<?php
+/**
+* @version $Id: tinymce.php,v 1.2 2005/10/27 08:19:34 lang3 Exp $
+* @package Mambo
+* @copyright (C) 2000 - 2005 Miro International Pty Ltd
+* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
+* Mambo is Free Software
+*/
+
+/** ensure this file is being included by a parent file */
+defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
+
+$_MAMBOTS->registerFunction( 'onInitEditor', 'botTinymceEditorInit' );
+$_MAMBOTS->registerFunction( 'onGetEditorContents', 'botTinymceEditorGetContents' );
+$_MAMBOTS->registerFunction( 'onEditorArea', 'botTinymceEditorEditorArea' );
+
+/**
+* TinyMCE WYSIWYG Editor - javascript initialisation
+*/
+function botTinymceEditorInit() {
+	global $mosConfig_live_site, $database, $mosConfig_absolute_path;
+
+	// load tinymce info
+	$query = "SELECT id FROM #__mambots WHERE element = 'tinymce' AND folder = 'editors'";
+	$database->setQuery( $query );
+	$id = $database->loadResult();
+	$mambot = new mosMambot( $database );
+	$mambot->load( $id );
+	$params =& new mosParameters( $mambot->params );
+
+	$theme = $params->get( 'theme', 'advanced' );
+	// Check for old default option and set to advanced
+	if ($theme == 'default' ) {
+		$theme = 'simple';
+	}
+
+ 	$toolbar 			= $params->def( 'toolbar', 'top' );
+ 	$html_height		= $params->def( 'html_height', '550' );
+ 	$html_width			= $params->def( 'html_width', '750' );
+ 	$text_direction		= $params->def( 'text_direction', 'ltr' );
+	$content_css		= $params->def( 'content_css', 1 );
+ 	$content_css_custom	= $params->def( 'content_css_custom', '' );
+ 	$invalid_elements	= $params->def( 'invalid_elements', 'script,object,applet,iframe' );
+ 	$newlines			= $params->def( 'newlines', 'false' );
+ 	
+ 	if ( $content_css ) {
+ 		$query = "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'";
+ 		$database->setQuery( $query );
+ 		$template 		= $database->loadResult();
+ 		$content_css	= 'content_css : "'. $mosConfig_live_site .'/templates/'. $template .'/css/template_css.css"';
+ 	} else {
+ 		if ( $content_css_custom ) {
+ 			$content_css = 'content_css : "'. $content_css_custom .'"';
+ 		} else {
+ 			$content_css = '';
+ 		}
+ 	}
+ 	
+	return <<<EOD
+<script type="text/javascript" src="$mosConfig_live_site/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
+<script type="text/javascript">
+	tinyMCE.init({
+		theme : "$theme",
+		language : "en",
+		mode : "specific_textareas",
+		remove_script_host : false,
+		relative_urls : false,
+		document_base_url : "$mosConfig_live_site/mambots/editors/tinymce/",
+ 		invalid_elements : "$invalid_elements",
+ 		theme_advanced_toolbar_location : "$toolbar",
+ 		theme_advanced_source_editor_height : "$html_height",
+		theme_advanced_source_editor_width : "$html_width",
+ 		directionality: "$text_direction",
+ 		force_br_newlines : "$newlines",
+ 		$content_css,		
+		debug : false
+	});
+</script>
+EOD;
+}
+/**
+* TinyMCE WYSIWYG Editor - copy editor contents to form field
+* @param string The name of the editor area
+* @param string The name of the form field
+*/
+function botTinymceEditorGetContents( $editorArea, $hiddenField ) {
+	return <<<EOD
+
+		tinyMCE.triggerSave();
+EOD;
+}
+/**
+* TinyMCE WYSIWYG Editor - display the editor
+* @param string The name of the editor area
+* @param string The content of the field
+* @param string The name of the form field
+* @param string The width of the editor area
+* @param string The height of the editor area
+* @param int The number of columns for the editor area
+* @param int The number of rows for the editor area
+*/
+function botTinymceEditorEditorArea( $name, $content, $hiddenField, $width, $height, $col, $row ) {
+	global $mosConfig_live_site, $_MAMBOTS;
+
+	$results = $_MAMBOTS->trigger( 'onCustomEditorButton' );
+	$buttons = array();
+	foreach ($results as $result) {
+	    $buttons[] = '<img src="'.$mosConfig_live_site.'/mambots/editors-xtd/'.$result[0].'" onclick="tinyMCE.execCommand(\'mceInsertContent\',false,\''.$result[1].'\')" />';
+	}
+	$buttons = implode( "", $buttons );
+
+	return <<<EOD
+
+<textarea id="$hiddenField" name="$hiddenField" cols="$col" rows="$row" style="width:{$width}px; height:{$height}px;" mce_editable="true">$content</textarea>
+<br />$buttons
+EOD;
+}
+?>
diff -ruN 4.5.2.3/mambots/editors/tinymce.xml 4.5.4/mambots/editors/tinymce.xml
--- 4.5.2.3/mambots/editors/tinymce.xml	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors/tinymce.xml	2006-08-01 01:34:25.000000000 -0500
@@ -1,66 +1,17 @@
 <?xml version="1.0" ?>
-<mosinstall version="4.5.2" type="mambot" group="editors">
+<mosinstall version="4.5.3" type="mambot" group="editors">
     <name>TinyMCE</name>
-    <version>1.26</version>
-    <creationDate>August 2004</creationDate>
+    <version>2.0.1</version>
+    <creationDate>Dec 2005</creationDate>
     <author>Moxiecode Systems AB</author>
     <authorEmail>N/A</authorEmail>
     <authorUrl>tinymce.moxiecode.com/</authorUrl>
     <copyright>Moxiecode Systems AB</copyright>
     <license>LGPL</license>
     <description>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control.</description>
-    <files>
-        <filename>tinymce/docs/license.htm</filename>
-        <filename>tinymce/docs/style.css</filename>
-        <filename>tinymce/jscripts/tiny_mce/blank.htm</filename>
-        <filename>tinymce/jscripts/tiny_mce/langs/uk.js</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/docs/uk/about.htm</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/docs/uk/common_buttons.htm</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/insert_image_window.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/docs/uk/images/insert_link_window.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/docs/uk/index.htm</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_image_button.htm</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/docs/uk/insert_link_button.htm</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/docs/uk/style.css</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/editor_content.css</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/editor_popup.css</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/editor_template.js</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/editor_ui.css</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/bold.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/bold_de_se.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/bullist.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/center.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/cleanup.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/code.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/copy.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/cut.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/full.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/help.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/image.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/indent.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/italic.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/italic_de_se.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/left.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/link.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/mosimage.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/mospage.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/numlist.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/outdent.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/paste.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/redo.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/right.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/spacer.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/strikethrough.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/underline.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/undo.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/themes/default/images/unlink.gif</filename>
-        <filename>tinymce/jscripts/tiny_mce/tiny_mce.js</filename>
-        <filename>tinymce/jscripts/tiny_mce/tiny_mce_popup.js</filename>
-        <filename mambot="tinymce">tinymce.php</filename>
-	</files>
 	<params>
-		<param name="theme" type="list" default="default" label="Functionality" description="Select functionality">
-			<option value="default">Basic</option>
+		<param name="theme" type="list" default="advanced" label="Functionality" description="Select functionality">
+			<option value="simple">Simple</option>
 			<option value="advanced">Advanced</option>
 		</param>
  		<param name="@spacer" type="spacer" default="" label="" description="" />
diff -ruN 4.5.2.3/mambots/editors-xtd/mosimage.btn.php 4.5.4/mambots/editors-xtd/mosimage.btn.php
--- 4.5.2.3/mambots/editors-xtd/mosimage.btn.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors-xtd/mosimage.btn.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mosimage.btn.php,v 1.4 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: mosimage.btn.php,v 1.1 2005/07/22 01:57:50 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/editors-xtd/mospage.btn.php 4.5.4/mambots/editors-xtd/mospage.btn.php
--- 4.5.2.3/mambots/editors-xtd/mospage.btn.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/editors-xtd/mospage.btn.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mospage.btn.php,v 1.4 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: mospage.btn.php,v 1.1 2005/07/22 01:57:50 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/search/categories.searchbot.php 4.5.4/mambots/search/categories.searchbot.php
--- 4.5.2.3/mambots/search/categories.searchbot.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/search/categories.searchbot.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: categories.searchbot.php,v 1.5 2005/02/16 08:48:39 stingrey Exp $
+* @version $Id: categories.searchbot.php,v 1.1 2005/07/22 01:58:23 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/search/contacts.searchbot.php 4.5.4/mambots/search/contacts.searchbot.php
--- 4.5.2.3/mambots/search/contacts.searchbot.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/search/contacts.searchbot.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: contacts.searchbot.php,v 1.6 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: contacts.searchbot.php,v 1.1 2005/07/22 01:58:25 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -45,12 +45,15 @@
 			$order = 'a.name DESC';
 	}
 
+	$database->setQuery("SELECT id FROM #__menu WHERE link LIKE 'index.php?option=com_contact%' ORDER BY LENGTH(link)");
+	$citemid = $database->loadResult();
+
 	$query = "SELECT a.name AS title,"
 	. "\n CONCAT_WS( ', ', a.name, a.con_position, a.misc ) AS text,"
 	. "\n '' AS created,"
 	. "\n CONCAT_WS( ' / ', '$section', b.title ) AS section,"
 	. "\n '2' AS browsernav,"
-	. "\n CONCAT( 'index.php?option=com_contact&task=view&&contact_id=', a.id ) AS href"
+	. "\n CONCAT( 'index.php?option=com_contact&task=view&Itemid=$citemid&contact_id=', a.id ) AS href"
 	. "\n FROM #__contact_details AS a"
 	. "\n INNER JOIN #__categories AS b ON b.id = a.catid AND b.access <= '$my->gid'"
 	. "\n WHERE ( a.name LIKE '%$text%'"
@@ -70,4 +73,4 @@
 	$rows = $database->loadObjectList();
 	return $rows;
 }
-?>
\ No newline at end of file
+?>
diff -ruN 4.5.2.3/mambots/search/content.searchbot.php 4.5.4/mambots/search/content.searchbot.php
--- 4.5.2.3/mambots/search/content.searchbot.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/search/content.searchbot.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: content.searchbot.php,v 1.12 2005/02/11 17:28:20 rhuk Exp $
+* @version $Id: content.searchbot.php,v 1.2 2005/10/13 05:03:24 cauld Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -23,7 +23,7 @@
 */
 function botSearchContent( $text, $phrase='', $ordering='' ) {
 	global $my, $database;
-	global $mosConfig_abolute_path, $mosConfig_offset;
+	global $mosConfig_absolute_path, $mosConfig_offset;
 	
 	$_SESSION['searchword'] = $text;
 
@@ -139,6 +139,10 @@
 	);
 	$list3 = $database->loadObjectList();
 
-	return array_merge( $list, $list2, $list3 );
+	$result = array();
+	if ($list) $result = array_merge($result, $list);
+	if ($list2) $result = array_merge($result, $list2);
+	if ($list3) $result = array_merge($result, $list3);
+	return $result;
 }
 ?>
diff -ruN 4.5.2.3/mambots/search/newsfeeds.searchbot.php 4.5.4/mambots/search/newsfeeds.searchbot.php
--- 4.5.2.3/mambots/search/newsfeeds.searchbot.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/search/newsfeeds.searchbot.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: newsfeeds.searchbot.php,v 1.2 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: newsfeeds.searchbot.php,v 1.1 2005/07/22 01:58:25 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/search/sections.searchbot.php 4.5.4/mambots/search/sections.searchbot.php
--- 4.5.2.3/mambots/search/sections.searchbot.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/search/sections.searchbot.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: sections.searchbot.php,v 1.4 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: sections.searchbot.php,v 1.1 2005/07/22 01:58:25 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/mambots/search/weblinks.searchbot.php 4.5.4/mambots/search/weblinks.searchbot.php
--- 4.5.2.3/mambots/search/weblinks.searchbot.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/mambots/search/weblinks.searchbot.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: weblinks.searchbot.php,v 1.7 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: weblinks.searchbot.php,v 1.1 2005/07/22 01:58:25 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_archive.php 4.5.4/modules/mod_archive.php
--- 4.5.2.3/modules/mod_archive.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_archive.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_archive.php,v 1.5 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: mod_archive.php,v 1.1 2005/07/22 01:58:29 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_banners.php 4.5.4/modules/mod_banners.php
--- 4.5.2.3/modules/mod_banners.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_banners.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_banners.php,v 1.4 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: mod_banners.php,v 1.1 2005/07/22 01:58:29 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_latestnews.php 4.5.4/modules/mod_latestnews.php
--- 4.5.2.3/modules/mod_latestnews.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_latestnews.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_latestnews.php,v 1.7 2005/01/23 17:19:53 levis Exp $
+* @version $Id: mod_latestnews.php,v 1.1 2005/07/22 01:58:29 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_login.php 4.5.4/modules/mod_login.php
--- 4.5.2.3/modules/mod_login.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_login.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_login.php,v 1.5 2005/01/15 06:49:01 stingrey Exp $
+* @version $Id: mod_login.php,v 1.1 2005/07/22 01:58:29 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_mainmenu.php 4.5.4/modules/mod_mainmenu.php
--- 4.5.2.3/modules/mod_mainmenu.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_mainmenu.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_mainmenu.php,v 1.7 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: mod_mainmenu.php,v 1.2 2005/08/02 08:21:53 akede Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
@@ -43,7 +43,7 @@
 		}
 
 		// Active Menu highlighting
-		$current_itemid = trim( mosGetParam( $_REQUEST, 'Itemid', 0 ) );
+		$current_itemid = $Itemid;
 		if ( !$current_itemid ) {
 			$id = '';
 		} else if ( $current_itemid == $mitem->id ) {
diff -ruN 4.5.2.3/modules/mod_mostread.php 4.5.4/modules/mod_mostread.php
--- 4.5.2.3/modules/mod_mostread.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_mostread.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_mostread.php,v 1.8 2005/01/23 17:19:53 levis Exp $
+* @version $Id: mod_mostread.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_newsflash.php 4.5.4/modules/mod_newsflash.php
--- 4.5.2.3/modules/mod_newsflash.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_newsflash.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_newsflash.php,v 1.8 2005/02/07 12:51:35 akede Exp $
+* @version $Id: mod_newsflash.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_poll.php 4.5.4/modules/mod_poll.php
--- 4.5.2.3/modules/mod_poll.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_poll.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_poll.php,v 1.4 2005/01/06 01:13:31 eddieajau Exp $
+* @version $Id: mod_poll.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_random_image.php 4.5.4/modules/mod_random_image.php
--- 4.5.2.3/modules/mod_random_image.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_random_image.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_random_image.php,v 1.6 2005/02/11 14:22:21 rhuk Exp $
+* @version $Id: mod_random_image.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_related_items.php 4.5.4/modules/mod_related_items.php
--- 4.5.2.3/modules/mod_related_items.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_related_items.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_related_items.php,v 1.4 2005/01/06 01:13:32 eddieajau Exp $
+* @version $Id: mod_related_items.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_rssfeed.php 4.5.4/modules/mod_rssfeed.php
--- 4.5.2.3/modules/mod_rssfeed.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_rssfeed.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_rssfeed.php,v 1.4 2005/01/06 01:13:32 eddieajau Exp $
+* @version $Id: mod_rssfeed.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @pacakge Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_search.php 4.5.4/modules/mod_search.php
--- 4.5.2.3/modules/mod_search.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_search.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_search.php,v 1.5 2005/01/15 07:47:12 stingrey Exp $
+* @version $Id: mod_search.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_sections.php 4.5.4/modules/mod_sections.php
--- 4.5.2.3/modules/mod_sections.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_sections.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_sections.php,v 1.5 2005/02/11 14:53:06 kochp Exp $
+* @version $Id: mod_sections.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_stats.php 4.5.4/modules/mod_stats.php
--- 4.5.2.3/modules/mod_stats.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_stats.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_stats.php,v 1.4 2005/01/06 01:13:32 eddieajau Exp $
+* @version $Id: mod_stats.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_templatechooser.php 4.5.4/modules/mod_templatechooser.php
--- 4.5.2.3/modules/mod_templatechooser.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_templatechooser.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_templatechooser.php,v 1.4 2005/01/06 01:13:32 eddieajau Exp $
+* @version $Id: mod_templatechooser.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_whosonline.php 4.5.4/modules/mod_whosonline.php
--- 4.5.2.3/modules/mod_whosonline.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_whosonline.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_whosonline.php,v 1.5 2005/02/08 11:49:45 kochp Exp $
+* @version $Id: mod_whosonline.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/modules/mod_wrapper.php 4.5.4/modules/mod_wrapper.php
--- 4.5.2.3/modules/mod_wrapper.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/modules/mod_wrapper.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: mod_wrapper.php,v 1.1 2005/01/11 15:54:25 stingrey Exp $
+* @version $Id: mod_wrapper.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
 * @package Mambo_4.5.2
 * @copyright (C) 2000 - 2004 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/offline.php 4.5.4/offline.php
--- 4.5.2.3/offline.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/offline.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version $Id: offline.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: offline.php,v 1.1 2005/07/22 01:57:42 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/pathway.php 4.5.4/pathway.php
--- 4.5.2.3/pathway.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/pathway.php	2006-08-01 01:34:25.000000000 -0500
@@ -1,6 +1,6 @@
 <?
 /**
-* @version $Id: pathway.php,v 1.4 2005/01/06 01:13:28 eddieajau Exp $
+* @version $Id: pathway.php,v 1.1 2005/07/22 01:57:42 eddieajau Exp $
 * @package Mambo
 * @copyright (C) 2000 - 2005 Miro International Pty Ltd
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
diff -ruN 4.5.2.3/README 4.5.4/README
--- 4.5.2.3/README	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/README	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,8 @@
+This software is OSI Certified Open Source Software.
+OSI Certified is a certification mark of the Open Source Initiative.
+
+Mambo is Open Source software, released under the GNU General Public License (GPL). The Mambo name and asterisk logo are copyrighted by the Mambo Foundation.
+
+For more detailed information on Mambo's licensing terms see the LICENSE file.
+
+For more information on the Mambo Foundation, please visit http://www.mambo-foundation.org.
diff -ruN 4.5.2.3/templates/JavaBean/css/index.html 4.5.4/templates/JavaBean/css/index.html
--- 4.5.2.3/templates/JavaBean/css/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/JavaBean/css/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/templates/JavaBean/css/template_css.css 4.5.4/templates/JavaBean/css/template_css.css
--- 4.5.2.3/templates/JavaBean/css/template_css.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/JavaBean/css/template_css.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,411 +0,0 @@
-body {
-	margin: 0px;
-	background: url(../images/bgr.png) repeat;
-}
-tr, p, div {
-  font-family      : Verdana, Arial, Helvetica, sans-serif;
-  font-size        : 11px;
-  color            : #333333;
-}
-hr {
-  background       : #999999;
-  height           : 1px;
-  width            : 100%;
-}
-#mainlevel-nav {
-margin: 0; padding: 0;
-}
-#mainlevel-nav li {
-	background-image: none;
-	padding-left: 0px;
-list-style:none; float: right; 
-margin: 0; width: 15.5%; 
-font-size: 10px;
-line-height: 20px;
-white-space: nowrap;
-text-indent: 15px;
-}
-#mainlevel-nav a {
-display: block; float: right; text-decoration: none;  border: 1px solid;
-border-color: #fff #cc3300 #cc3300 #fff;
-background: #ff9933 url(../images/vmenu_bgr.png) 2px no-repeat;
-color: white;
-}
-#mainlevel-nav a {
-float: none;
-}
-#mainlevel-nav a:hover {
-background: #ff6600 url(../images/vmenu_bgr.png) 2px no-repeat;
-}
-
-/*different setting for newsflash*/
-.newsflash td {
-color: #000000;
-text-align: justify;
-vertical-align: middle;
-}
-
-/*setting for the greetings*/
-.mainpage {
-text-align: justify;
-color: #333333;
-font-family: Verdana, Helvetica, Arial, sans-serif;
-font-size: 13px;
-}
-.mainpage-bkg {
-	background-image: url(../images/lineborder.png);
-	width: 1px;
-}
-
-.greybg {
-  background: #eeeeee;
-}
-
-/*pathaway setting*/
-.pathway {
-font-family: Verdana, Helvetica, Arial, sans-serif;
-font-size: 9px;
-}
-
-a.pathway:link, a.pathway:visited {
-  color            : #ff9900;
-  font-weight      : normal;
-}
-
-a.pathway:hover {
-  color            : #ff3300;
-  font-weight      : normal;
-  text-decoration   : none;
-}
-
-/*for title or site name*/
-.title {
-font-family: sans-serif;
-font-size: 20px;
-font-weight: bold;
-color : #000000;
-margin-left: 10px;
-}
-
-/*for the tag-line*/
-.subtitle {
-font-family: sans-serif;
-font-size: 10px;
-font-weight: bold;
-color : #666666;
-text-transform: uppercase;
-letter-spacing: 2px;
-margin-left: 20px;
-}
-
-#active_menu {
-  color: #000000;
-}
-
-/* --Default Class Settings-- */
-
-a.mainlevel:link, a.mainlevel:visited {
-display: block;
-color: #ffffff;
-font-weight: bold;
-background-image: url(../images/menu_bgr.png);
-background-repeat: no-repeat;
-width: 95%;
-text-indent: 15px;
-text-decoration: none;
-font-family: Verdana, Helvetica, Arial, sans-serif;
-line-height: 20px;
-margin-bottom: 1px;
-}
-a.mainlevel:hover {
-color: #333333;
-}
-
-a.mainmenu:link, a.mainmenu:visited {
-color: #ffffff; 
-font-family: Verdana, Helvetica, Arial, sans-serif;
-font-weight: bold;
-font-size: 10px;
-
-}
-a.mainmenu:hover {
-color: #333333; 
-}
-.pollstableborder {
-border: 1px solid;
-padding: 1px;
-}
-
-a.sublevel:link, a.sublevel:visited {
-        padding-left: 1px;
-        vertical-align: middle;
-        font-size: 11px;
-        color: #ff6600;
-        text-align: left;
-}
-
-
-a.sublevel:hover {
-color: #ff9e31; text-decoration: none;
-}
-
-table.moduletable {
-	padding: 5px 0px 5px 8px;
-	margin-bottom: 15px;
-	width: 100%;
-	background: url(../images/bgr.png);
-}
-
-table.moduletable th {
-	font-size        : 11px;
-	font-weight      : bold;
-	color            : #000000;
-	text-align       : left;
-	width            : 100%;
-	letter-spacing: 2px;
-	text-indent: 5px;
-	padding-bottom: 3px;
-}
-
-table.moduletable li {
-}
-
-table.moduletable ul {
-	padding: 0px;
-}
-table.moduletable td {
-font-size: 10px;
-font-weight: normal;
-}
-
-.poll {
-  font-family      : Arial, Helvetica, sans-serif;
-  font-size        : 10px;
-  color            : #666666;
-  line-height      : 14px;
-}
-
-table.pollstableborder {
-	border: 1px solid #cccccc;
-}
-
-.sectiontableheader {
-  background-color : #CCCCCC;
-  color            : #333333;
-  font-weight      : bold;
-}
-
-.sectiontableentry1 {
-  background-color : #F0F0F0;
-}
-
-.sectiontableentry2 {
-  background-color : #E0E0E0;
-}
-
-.small {
-  font-family      : Verdana, Arial, Helvetica, sans-serif;
-  font-size        : 10px;
-  color            : #999999;
-  text-decoration  : none;
-  font-weight      : bold;
-}
-
-.smalldark {
-  font-family      : Verdana, Arial, Helvetica, sans-serif;
-  font-size        : 10px;
-  color            : #000000;
-  text-decoration  : none;
-  font-weight      : normal;
-}
-
-
-.contentpane {
-  background       : #dedede;
-}
-
-.contentpaneopen {
-  border : 0px ridge #0099cc;
-  width: 100%;
-  padding: 1px;
-}
-
-.contentheading, .componentheading {
-  font-family      : Verdana, Arial, Helvetica, sans-serif;
-  font-size        : 12px;
-  font-weight      : bold;
-  color            : #ff9900;
-  text-align       : left;
-}
-
-.createdate {
-  font-family      : Arial, Helvetica, sans-serif;
-  font-size        : 10px;
-  color            : #999999;
-  text-align       : left;
-}
-
-
-.button {
-  font-family      : Verdana, Arial, Helvetica, sans-serif;
-  font-style       : normal;
-  font-size        : 10px;
-  font-weight      : bold;
-  background-color : #F0F0F0;
-  color            : #000000;
-  border           : 1px solid #CCCCCC;
-}
-
-.inputbox {
-  font-family      : Verdana, Arial, Helvetica, sans-serif;
-  font-size        : 10px;
-  color            : #000000;
-  background-color : #F0F0F0;
-  border           : 1px solid #CCCCCC;
-}
-
-a:link, a:visited {
-color: #ff6600;
-text-decoration: none;
-}
-
-a:hover {
-color: #ff3300;
-text-decoration: underline;
-}
-
-/* For content item titles that are hyperlink instead of Read On */
-a.contentpagetitle:link, a.contentpagetitle:visited {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 12px;
-	font-weight: bold;
- 	color: #ff9900;
-	text-align:left;
-	text-decoration: underline;
-	}
-
-a.contentpagetitle:hover {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 12px;
-	font-weight: bold;
-	text-align:left;
-	color: #666666;
-	text-decoration: none;
-	font-weight: bold;
-	}
-
-a.category:link, a.category:visited {
-  color            : #333333;
-  font-weight      : bold;
-  font-size: 11px;
-font-weight: bold;
-}
-
-a.category:hover {
-  color            : #999999;
-}
-
-/* Styles for dhtml tabbed-pages */
-.ontab {
-	background-color: #ffae00;
-	border-left: outset 2px #ff9900;
-	border-right: outset 2px #808080;
-	border-top: outset 2px #ff9900;
-	border-bottom: solid 1px #d5d5d5;
-	text-align: center;
-	/* Cannot use hand as its not a W3C CSS validator */
-	/*	cursor: hand;*/
-	font-weight: bold;
-	color: #FFFFFF;
-}
-.offtab {
-	background-color : #e5e5e5;
-	border-left: outset 2px #E0E0E0;
-	border-right: outset 2px #E0E0E0;
-	border-top: outset 2px #E0E0E0;
-	border-bottom: solid 1px #d5d5d5;
-	text-align: center;
-	/* Cannot use hand as its not a W3C CSS validator */
-	/*	cursor: hand;*/
-	font-weight: normal;
-}
-.tabpadding {
-}
-
-.tabheading {
-	background-color: #ffae00;
-	text-align: left;
-}
-
-.pagetext {
-	visibility: hidden;
-	display: none;
-	position: relative;
-	top: 0;
-}
-
-/* for modifying {moscode} output.  Don't set the colour! */
-.moscode {
-	background-color: #f0f0f0;
-}
-.code {
-	background-color: #f0f0f0;
-	border: 1px solid #FFF;
-}
-
-/* Text passed with mosmsg url parameter */
-.message {
-	font-family : Verdana, Arial, Helvetica, sans-serif;
-	font-weight: bold;
-	font-size : 10pt;
-	color : #ff6600;
-	text-align: center;
-}
-
-/* Javascript Back button */
-.back_button {
-	text-align: center;
-	margin-top: 40px;
-}
-
-table.contenttoc {
-	color: #333300;
-	background-color: #e0e0e0;
-	border: 1px solid #333;
-}
-
-table.contenttoc td {
-    font-size: 8pt;
-    font-weight: normal;
-    text-align:left;
-}
-ul {
-  margin: 0;
-  padding: 0;
-  list-style: none;
-}
-
-li {
-  line-height: 15px;
-  padding-left: 10px;
-  padding-top: 0px;
-  background-image: url(../images/arrow.png) ;
-  background-repeat: no-repeat;
-  background-position: 0px 3px;
-}
-
-table.searchinto {
-	width: 100%;
-}
-
-table.searchintro td {
-	background-color: #293C43;
-	color: #ffffff;
-	font-weight: bold;
-}
-
-form {
-/* removes space below form elements */
-	margin: 0;
- 	padding: 0;
-}
\ No newline at end of file
Files 4.5.2.3/templates/JavaBean/images/arrow.png and 4.5.4/templates/JavaBean/images/arrow.png differ
Files 4.5.2.3/templates/JavaBean/images/bgr.png and 4.5.4/templates/JavaBean/images/bgr.png differ
Files 4.5.2.3/templates/JavaBean/images/image_01.jpg and 4.5.4/templates/JavaBean/images/image_01.jpg differ
diff -ruN 4.5.2.3/templates/JavaBean/images/index.html 4.5.4/templates/JavaBean/images/index.html
--- 4.5.2.3/templates/JavaBean/images/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/JavaBean/images/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
Files 4.5.2.3/templates/JavaBean/images/lineborder.png and 4.5.4/templates/JavaBean/images/lineborder.png differ
Files 4.5.2.3/templates/JavaBean/images/menu_bgr.png and 4.5.4/templates/JavaBean/images/menu_bgr.png differ
Files 4.5.2.3/templates/JavaBean/images/pixel.png and 4.5.4/templates/JavaBean/images/pixel.png differ
Files 4.5.2.3/templates/JavaBean/images/search_01.png and 4.5.4/templates/JavaBean/images/search_01.png differ
Files 4.5.2.3/templates/JavaBean/images/search_02.png and 4.5.4/templates/JavaBean/images/search_02.png differ
Files 4.5.2.3/templates/JavaBean/images/vmenu_bgr.png and 4.5.4/templates/JavaBean/images/vmenu_bgr.png differ
diff -ruN 4.5.2.3/templates/JavaBean/index.html 4.5.4/templates/JavaBean/index.html
--- 4.5.2.3/templates/JavaBean/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/JavaBean/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/templates/JavaBean/index.php 4.5.4/templates/JavaBean/index.php
--- 4.5.2.3/templates/JavaBean/index.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/JavaBean/index.php	1969-12-31 18:00:00.000000000 -0600
@@ -1,135 +0,0 @@
-<?php
-defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
-// needed to seperate the ISO number from the language file constant _ISO
-$iso = explode( '=', _ISO );
-// xml prolog
-echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<?php
-if ( $my->id ) {
-	initEditor();
-}
-?>
-<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
-<?php mosShowHead(); ?>
-<link rel="stylesheet" type="text/css" href="<?php echo $mosConfig_live_site; ?>/templates/JavaBean/css/template_css.css" />
-</head>
-<body>
-
-<table width="800" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="eeeeee">
-<tr>
-	<td width="6" bgcolor="#FFFFFF">
-	<img src="<?php echo $mosConfig_live_site; ?>/templates/JavaBean/images/pixel.png" width="1" height="1" alt="spacer" />
-	</td>
-	<td valign="top" class="greybg">
-		<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
-		<tr>
-			<td bgcolor="#FFFFFF">
-			<img src="<?php echo $mosConfig_live_site; ?>/templates/JavaBean/images/pixel.png" width="1" height="6" alt="spacer" /></td>
-			<td width="180" height="6" valign="bottom" bgcolor="#FFFFFF">
-			<img src="<?php echo $mosConfig_live_site; ?>/templates/JavaBean/images/search_01.png" width="180" height="3" alt="search" /></td>
-		</tr>
-		<tr>
-			<td rowspan="3" valign="bottom">
-			<p>
-			<font class="title">
-			<?php echo $mosConfig_sitename; ?>
-			</font>
-			<br />
-			<font class="subtitle">
-			Your slogan here
-			</font>
-			</p>
-			</td>
-			<td height="17" valign="top" class="greybg">
-			<img src="<?php echo $mosConfig_live_site; ?>/templates/JavaBean/images/search_02.png" width="180" height="17" alt="Search" />
-			</td>
-		</tr>
-		<tr>
-			<td height="10">
-			<img src="<?php echo $mosConfig_live_site; ?>/templates/JavaBean/images/pixel.png" width="1" height="10" alt="spacer" />
-			</td>
-		</tr>
-		<tr>
-			<td valign="top">
-			<?php mosLoadModules ( 'user4', -1 ); ?>
-			</td>
-		</tr>
-		</table>
-		<!-- This is the vertical menu. Change the links as needed or delete the script from this line if you dont use it-->
-		<table width="100%" border="0" cellpadding="0" cellspacing="0">
-		<tr>
-			<td>
-			<?php mosLoadModules ( 'user3', -1 ); ?>
-			</td>
-		</tr>
-		</table>
-		<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
-		<tr>
-			<td width="180" class="newsflash" valign="top">
-			<?php mosLoadModules( 'top', 1 ); ?>
-			</td>
-			<td align="right" valign="top">
-			<img src="<?php echo $mosConfig_live_site; ?>/templates/JavaBean/images/image_01.jpg" width="600" height="182" alt="header" />
-			</td>
-		</tr>
-		</table>
-		<table width="100%" border="0" cellspacing="0" cellpadding="0">
-		<tr>
-			<td width="170" valign="top" bgcolor="#eeeeee">
-			<?php mosLoadModules ( 'left' ); ?>
-			</td>
-			<td width="6" bgcolor="#FFFFFF">&nbsp;</td>
-			<td valign="top">
-			<br />
-				<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0">
-				<tr>
-					<td class="pathway">
-					<?php mosPathWay(); ?>
-					</td>
-				</tr>
-				</table>
-			<br />
-				<table width="98%" border="0" align="center" cellpadding="4" cellspacing="0">
-				<tr>
-					<td class="mainpage">
-					<?php mosMainBody(); ?>
-					</td>
-				</tr>
-				</table>
-			</td>
-			<td class="mainpage-bkg">
-			<img src="<?php echo $mosConfig_live_site;?>/templates/JavaBean/images/pixel.png" width="1" height="1" alt="spacer"/>
-			</td>
-			<td width="150" valign="top">
-				<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
-				<tr>
-					<td style="padding-right:5px;">
-					<?php mosLoadModules ( 'right' ); ?>
-					</td>
-				</tr>
-				</table>
-			<br />
-			</td>
-		</tr>
-		</table>
-		<table width="100%" border="0" cellspacing="0" cellpadding="0">
-		<tr>
-			<td width="51%" height="30" bgcolor="#999999">&nbsp;</td>
-			<td width="49%" align="center" valign="middle" bgcolor="#999999">
-			<?php include_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/footer.php' ); ?>
-			</td>
-		</tr>
-		</table>
-	</td>
-	<td width="6" bgcolor="#FFFFFF">
-	<img src="<?php echo $mosConfig_live_site; ?>/templates/JavaBean/images/pixel.png" width="1" height="1" alt="spacer"/>
-	</td>
-</tr>
-</table>
-<?php mosLoadModules( 'debug', -1 );?>
-</body>
-</html>
\ No newline at end of file
diff -ruN 4.5.2.3/templates/JavaBean/templateDetails.xml 4.5.4/templates/JavaBean/templateDetails.xml
--- 4.5.2.3/templates/JavaBean/templateDetails.xml	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/JavaBean/templateDetails.xml	1969-12-31 18:00:00.000000000 -0600
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<mosinstall type="template" version="4.5.2">
-  <name>JavaBean</name>
-  <creationDate>29/07/2004</creationDate>
-  <author>Firsta Yudith</author>
-  <copyright>This template is released under GNU/GPL License.</copyright>
-  <authorEmail>dr_first@yahoo.com</authorEmail>
-  <authorUrl>www.doengs.com</authorUrl>
-  <version>1.0</version>
-  <description>A fresh clean style, shows spirit of the company.</description>
-  <files>
-    <filename>index.php</filename>
-    <filename>template_thumbnail.png</filename>
-  </files>
-  <images>
-    <filename>images/image_01.jpg</filename>
-    <filename>images/bgr.png</filename>
-    <filename>images/search_01.png</filename>
-	<filename>images/search_02.png</filename>
-    <filename>images/menu_bgr.png</filename>
-	<filename>images/vmenu_bgr.png</filename>
-    <filename>images/lineborder.png</filename>
-	<filename>images/pixel.png</filename>
-  </images>
-  <css>
-    <filename>css/template_css.css</filename>
-  </css>
-</mosinstall>
Files 4.5.2.3/templates/JavaBean/template_thumbnail.png and 4.5.4/templates/JavaBean/template_thumbnail.png differ
diff -ruN 4.5.2.3/templates/rhuk_planetfall/css/index.html 4.5.4/templates/rhuk_planetfall/css/index.html
--- 4.5.2.3/templates/rhuk_planetfall/css/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_planetfall/css/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/templates/rhuk_planetfall/css/template_css.css 4.5.4/templates/rhuk_planetfall/css/template_css.css
--- 4.5.2.3/templates/rhuk_planetfall/css/template_css.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_planetfall/css/template_css.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,660 +0,0 @@
-/* custom stuff */
-
-div#contentblock table td.newsflash {
-	padding:0px;
-}
-
-.footerblock {
-
-}
-
-.user2block {
-
-}
-
-
-.user1block {
-
-}
-
-.rightblock {
-
-}
-
-.contentblock {
-
-}
-
-.centerblock {
-
-}
-
-.leftblock {
-
-}
-
-.header {
-	height: 111px;
-	background: url(../images/mambo_header.jpg) no-repeat;
-}
-
-/* working my way up */
-
-.content_box {
-	padding: 4px;
-}
-
-.search_box {
-	padding: 10px;
-}
-
-
-
-#silver_date {
-	float: right;
-	width: 160px;
-	text-align: right;
-	padding: 3px 10px 0px 0px;
-	font-size: 11px;
-	font-weight: bold;
-	color: #304651;
-	white-space: nowrap;
-}
-
-#silver_menu {
-	overflow: hidden;
-	height: 26px;
-	width: 400px;
-	float: left;
-	padding: 0px;
-}
-
-#silver_toolbar {
-	width: 100%;
-}
-
-.silver_box {
-	width: 100%;
-	border-top: solid 1px #9DA6B3;
-	border-bottom: solid 1px #9DA6B3;
-	text-align: center;
-	background: url(../images/silver_background.jpg) repeat-x;
-	padding: 0px 0px 0px 0px;
-}
-
-.middle_box {
-	padding: 4px;
-	border-left: solid 1px #9DA6B3;
-	background: #2E4452 url(../images/menu2_fade.jpg) repeat-x;
-}
-
-.right_box {
-	padding: 4px;
-	border-left: solid 1px #9DA6B3;
-	background: #182327 url(../images/menu1_fade.jpg) repeat-x;
-}
-
-.searchblock {
-	color: #ff6600;
-}
-
-.top_right_box {
-	border-left: solid 1px #9DA6B3;
-	background: #000000;
-	padding: 0px;
-}
-
-.page_bg {
-	background: #121A1D url(../images/back_fade.jpg) repeat-x;
-	padding: 20px 0px 20px 0px;
-	margin: 0px;
-	border: 0px;
-}
-
-.big_frame {
-	width: 798px;
-	border: solid 1px #9DA6B3;
-}
-
-
-/* required stuff */
-
-#content-pane .tab-page {
-	background: #000000;
-}
-
-.contentpane {
-
-}
-
-.contentpaneopen {
-	text-align: left;
-	width: 100%;
-	padding: 0px;
-}
-
-.small {
-	font-size: 11px;
-	color: #ffffff;
-	font-weight: bold;
-	padding-top: 10px;
-	text-align: left;
-}
-
-.modifydate {
-	font-size: 11px;
-	color: #ffffff;
-	font-weight: bold;
-	padding-top: 10px;
-	text-align: left;
-}
-
-.createdate {
-	line-height: 15px;
-	font-size: 11px;
-	color: #ffffff;
-	font-weight: bold;
-	vertical-align: top;
-	display: block;
-}
-
-.contentheading {
-	background: url(../images/title_background.png) no-repeat;
-	vertical-align: middle;
-	font-size: 11px;
-	font-weight: bold;
-	color: #cccccc;
-	text-align: left;
-	text-indent: 15px;
-	width: 100%;
-	height: 24px;
-	text-transform: uppercase;
-}
-
-.contentpagetitle {
-	font-size: 13px;
-	font-weight: bold;
-	color: #cccccc;
-	text-align:left;
-}
-
-/* For content item titles that are hyperlink instead of Read On */
-a.contentpagetitle:link, a.contentpagetitle:visited {
-	font-size: 13px;
-	font-weight: bold;
-	color: #ff6600;
-	text-align:left;
-	text-decoration: none;
-}
-
-a.contentpagetitle:hover {
-	color: #ffffff;
-}
-
-table.moduletable {
-	width: 100%;
-	margin: 0px 0px 15px 0px;
-	border-left: solid 0px #000000;
-	border-right: solid 0px #000000;
-	border-top: solid 0px #000000;
-	border-bottom: solid 0px #000000;
-}
-
-table.moduletable th {
-	background: url(../images/title_background.png) no-repeat;
-	vertical-align: middle;
-	font-size: 11px;
-	font-weight: bold;
-	color: #cccccc;
-	text-align: left;
-	text-indent: 15px;
-	width: 100%;
-	height: 24px;
-	text-transform: uppercase;
-}
-
-table.moduletable td {
-	font-size: 11px;
-	padding: 0px;
-	font-weight: normal;
-}
-
-table.moduletable ul {
-	color: #ff0000;
-}
-
-div#menublock table.moduletable td {
-	padding: 0px;
-}
-
-#mainlevel-nav {
-margin: 0; padding: 0;
-}
-#mainlevel-nav li {
-background-image: none;
-list-style:none; 
-float: left; 
-margin: 0px; 
-padding-left: 15px;
-padding-right: 15px;
-font-size: 11px;
-line-height:24px;
-height: 26px;
-white-space: nowrap;
-border-right: 1px solid #9DA6B3;
-}
-#mainlevel-nav a {
-
-float: right; 
-text-decoration: none;  
-color: #304651;
-}
-#mainlevel-nav a {
-float: none;
-}
-#mainlevel-nav a:hover {
-color: #ff6600;
-
-}
-
-a.mainlevel:link, a.mainlevel:visited {
-	background: url(../images/menu_bullet.png) no-repeat;
-	vertical-align: middle;
-	font-size: 11px;
-	font-weight: bold;
-	color: #ff6600;
-	text-align: left;
-	padding-left: 15px;
-	height: 18px;
-	margin-bottom: 1px;
-}
-
-a.mainlevel:hover {
-	background-position: 0px -20px;
-	text-decoration: none;
-	color: #ffffff;
-}
-
-.pollstableborder {
-	border: 1px solid;
-	padding: 1px;
-}
-
-a.sublevel:link, a.sublevel:visited {
-	padding-left: 1px;
-	vertical-align: middle;
-	font-size: 11px;
-	font-weight: bold;
-	color: #ff6600;
-	text-align: left;
-}
-
-#active_menu {
-	color:#ffffff;
-	font-weight: bold;
-}
-
-a.sublevel:hover {
-	color: #ffffff;
-	text-decoration: none;
-}
-
-a.mainmenu:link, a.mainmenu:visited {
-	color: #ffffff; font-family: Trebuchet MS, Verdana, Arial, Helvetica, sans-serif;
-	font-weight: normal;
-	font-size: 11px;
-	padding-left:10px;
-	padding-right:10px;
-}
-
-a.mainmenu:hover {
-	color: #D6DF8C; 
-	text-decoration: none;
-}
-
-
-
-a:link, a:visited {
-	color: #ff6600; text-decoration: none;
-	font-weight: bold;
-}
-
-a:hover {
-	color: #9AB6C2;	text-decoration: none;
-	font-weight: bold;
-}
-
-a.category:link, a.category:visited {
-	color: #ff6600;
-	text-decoration: none;
-	font-weight: bold;
-}
-
-a.category:hover {
-	color: #9AB6C2;
-	text-decoration: none;
-	font-weight: bold;
-}
-
-a.pagenav, a.pagenav:visited {
-	font-weight: bold;
-	color: #ff6600;
-	text-decoration: none;
-}
-
-a.pagenav:hover {
-	color: #9AB6C2;
-	text-decoration: none;
-}
-
-.frontpageheader {
-	color: #ffffff;
-	font-size: 15px;
-	font-weight: bold;
-	line-height: 30px;
-}
-
-.newsfeedheading {
-	font-size: 11px;
-	font-weight: bold;
-	color: #333333;
-	text-align:left;
-}
-
-.newsfeeddate {
-	font-size: 10px;
-	color: #666666;
-	font-weight: normal;
-}
-
-.fase4rdf a:link {
-	color: #745632;
-	text-decoration: none;
-	font-weight: bold;
-}
-
-.fase4rdf a:hover {
-	color: #cc9900;
-}
-
-.componentheading {
-
-	background: url(../images/title_background.png) no-repeat;
-	vertical-align: top;
-	padding-top: 4px;
-	font-size: 11px;
-	font-weight: bold;
-	color: #cccccc;
-	text-align: left;
-	text-indent: 15px;
-	width: 100%;
-	height: 24px;
-	text-transform: uppercase;
-}
-
-.sectiontableheader {
-	background : #293C43;
-	color : #ffffff;
-	font-weight : bold;
-	padding: 3px;
-}
-
-.sectiontableentry1 {
-	background-color : #0D1315;
-	padding: 2px;
-}
-
-.sectiontableentry2 {
-	background-color : #151E22;
-	padding: 2px;
-}
-
-div#middle_box .sectiontableentry1 {
-	background-color : #3E5867;
-	padding: 2px;
-}
-
-div#middle_box .sectiontableentry2 {
-	background-color : #516B79;
-	padding: 2px;
-}
-
-div#right_box .sectiontableentry1 {
-	background-color : #182327;
-	padding: 2px;
-}
-
-div#right_box .sectiontableentry2 {
-	background-color : #293C43;
-	padding: 2px;
-}
-
-BODY {
-	margin: 0px 0px 0px 0px;
-	background: #f7f7f2;
-}
-
-td,tr,p,div {
-	font-family: Trebuchet MS, Verdana, Arial, Helvetica, sans-serif;
-	font-size: 11px;
-	color: #cccccc;
-}
-
-ul
-{
-	margin: 0;
-	padding: 0;
-	list-style: none;
-}
-
-li
-{
-	line-height: 15px;
-	padding-left: 15px;
-	padding-top: 0px;
-	background-image: url(../images/arrow.png) ;
-	background-repeat: no-repeat;
-	background-position: 0px 3px;
-}
-
-
-
-.button {
-	font-weight: bold;
-	border:solid 1px #9DA6B3;
-	background-color: #293B42;
-	color: #ff6600;
-	text-align: center;
-	font-size: 9px;
-	margin-top: 5px;
-}
-
-.inputbox {
-	font-weight: normal;
-	color: #cccccc;
-	background: #000000;
-	border: 1px solid #9DA6B3;
-}
-
-/* ---------------- unedited below here ----------------------*/
-
-/* Styles for dhtml tabbed-pages */
-.ontab {
-	background-color: #121A1D;
-	border-left: outset 1px #9DA6B3;
-	border-right: outset 1px #9DA6B3;
-	border-top: outset 1px #9DA6B3;
-	border-bottom: solid 0px #ffffff;
-	text-align: center;
-	cursor: pointer;
-	font-weight: normal;
-	color: #ff6600;
-}
-.offtab {
-	background-color: #25343B;
-	border-left: outset 1px #9DA6B3;
-	border-right: outset 1px #9DA6B3;
-	border-top: outset 1px #9DA6B3;
-	border-bottom: solid 1px #9DA6B3;
-	text-align: center;
-	cursor: pointer;
-	font-weight: normal;
-	color: #cccccc;
-}
-
-.tabpadding {
-}
-
-.tabheading {
-	background-color: #eeeeee;
-	text-align: left;
-}
-
-.pagetext {
-	visibility: hidden;
-	display: none;
-	position: relative;
-	top: 0;
-}
-
-h4 {
-	color: #cccccc;
-	font-size: 16px; font-weight: bold;
-}
-
-h5 {
-	color: #cccccc;
-	font-size: 14px; font-weight: bold;
-}
-
-h6 {
-	color: #dddddd;
-	font-size: 12px; font-weight: bold;
-}
-
-/* Horizontal Line */
-hr {
-	background: #999999; height:1px; border: 1px solid;
-}
-
-hr.separator {
-	background: #495C5F;
-	height: 1px;
-	width: 75px;
-	border: 0px;
-}
-
-
-/* Content - Sections & Categories */
-
-
-table.contenttoc {
-	color: #333300;
-	background-color: #e0e0e0;
-}
-
-table.contenttoc td {
-	font-size: 8pt;
-	font-weight: normal;
-	text-align:left;
-}
-
-.contentdescription {
-	color: #cccccc;
-	text-align: left;
-}
-
-/** category text format and links **/
-.category {
-	color: #ff0000;
-	font-size: 11px; font-weight: bold; text-decoration: none;
-}
-
-
-
-.poll {
-	font-size: 10px;
-	line-height: 14px
-}
-
-table.pollstableborder {
-	border: 0px;
-}
-
-.contentpane {
-	background: #121A1D;
-}
-
-.smalldark {
-	font-size: 11px;
-	color: #333333;
-	text-decoration: none;
-	font-weight: normal;
-}
-
-table.searchinto {
-	width: 100%;
-}
-
-table.searchintro td {
-	background-color: #293C43;
-	color: #ffffff;
-	font-weight: bold;
-}
-
-table
-
-table.contact {
-	background-color: #0D1315;
-}
-
-table.contact td.icons {
-	background-color: #000000;
-	font-weight: bold;
-}
-
-table.contact td.details {
-	background-color: #293C43;
-	color: #ffffff;
-	font-weight: bold;
-}
-
-.pagenav {
-	font-weight: normal;
-}
-
-.pagenavbar {
-
-}
-
-/* Content voting */
-.content_rating {
-	font-weight: normal;
-	font-size: 8pt;
-}
-
-.content_vote {
-	font-weight: normal;
-	font-size: 8pt;
-}
-
-/* Javascript Back button */
-.back_button {
-	text-align: center;
-	margin-top: 40px;
-}
-
-.readon {
-	margin-bottom: 10px;
-	
-}
-
-strong {
-	color: #ffcc00;
-}
-
-form {
-/* removes space below form elements */
-	margin: 0;
- 	padding: 0;
-}
\ No newline at end of file
Files 4.5.2.3/templates/rhuk_planetfall/images/arrow.png and 4.5.4/templates/rhuk_planetfall/images/arrow.png differ
Files 4.5.2.3/templates/rhuk_planetfall/images/back_fade.jpg and 4.5.4/templates/rhuk_planetfall/images/back_fade.jpg differ
Files 4.5.2.3/templates/rhuk_planetfall/images/bottom_bar.jpg and 4.5.4/templates/rhuk_planetfall/images/bottom_bar.jpg differ
Files 4.5.2.3/templates/rhuk_planetfall/images/indent1.png and 4.5.4/templates/rhuk_planetfall/images/indent1.png differ
Files 4.5.2.3/templates/rhuk_planetfall/images/indent2.png and 4.5.4/templates/rhuk_planetfall/images/indent2.png differ
Files 4.5.2.3/templates/rhuk_planetfall/images/indent3.png and 4.5.4/templates/rhuk_planetfall/images/indent3.png differ
Files 4.5.2.3/templates/rhuk_planetfall/images/indent4.png and 4.5.4/templates/rhuk_planetfall/images/indent4.png differ
diff -ruN 4.5.2.3/templates/rhuk_planetfall/images/index.html 4.5.4/templates/rhuk_planetfall/images/index.html
--- 4.5.2.3/templates/rhuk_planetfall/images/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_planetfall/images/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
Files 4.5.2.3/templates/rhuk_planetfall/images/mambo_header.jpg and 4.5.4/templates/rhuk_planetfall/images/mambo_header.jpg differ
Files 4.5.2.3/templates/rhuk_planetfall/images/menu1_fade.jpg and 4.5.4/templates/rhuk_planetfall/images/menu1_fade.jpg differ
Files 4.5.2.3/templates/rhuk_planetfall/images/menu2_fade.jpg and 4.5.4/templates/rhuk_planetfall/images/menu2_fade.jpg differ
Files 4.5.2.3/templates/rhuk_planetfall/images/menu_bullet.png and 4.5.4/templates/rhuk_planetfall/images/menu_bullet.png differ
Files 4.5.2.3/templates/rhuk_planetfall/images/silver_background.jpg and 4.5.4/templates/rhuk_planetfall/images/silver_background.jpg differ
Files 4.5.2.3/templates/rhuk_planetfall/images/spacer.png and 4.5.4/templates/rhuk_planetfall/images/spacer.png differ
Files 4.5.2.3/templates/rhuk_planetfall/images/title_background.png and 4.5.4/templates/rhuk_planetfall/images/title_background.png differ
Files 4.5.2.3/templates/rhuk_planetfall/images/top_bar.jpg and 4.5.4/templates/rhuk_planetfall/images/top_bar.jpg differ
diff -ruN 4.5.2.3/templates/rhuk_planetfall/index.html 4.5.4/templates/rhuk_planetfall/index.html
--- 4.5.2.3/templates/rhuk_planetfall/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_planetfall/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/templates/rhuk_planetfall/index.php 4.5.4/templates/rhuk_planetfall/index.php
--- 4.5.2.3/templates/rhuk_planetfall/index.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_planetfall/index.php	1969-12-31 18:00:00.000000000 -0600
@@ -1,155 +0,0 @@
-<?php
-defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
-// needed to seperate the ISO number from the language file constant _ISO
-$iso = explode( '=', _ISO );
-// xml prolog
-echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<?php
-if ( $my->id ) {
-	initEditor();
-}
-?>
-<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
-<?php mosShowHead(); ?>
-<link href="<?php echo $mosConfig_live_site;?>/templates/rhuk_planetfall/css/template_css.css" rel="stylesheet" type="text/css" />
-</head>
-<body class="page_bg">
-<a name="up" id="up"></a>
-<?php
-@$collspan_offset = ( mosCountModules( 'right' ) + mosCountModules( 'user2' ) and !$_REQUEST['task'] == 'edit' ) ? 2 : 1;
-?>
-<div align="center" >
-	<table width="798" border="0" cellpadding="0" cellspacing="0" class="big_frame">
-	<tr>
-		<td colspan="<?php echo $collspan_offset + 1; ?>">
-		<img src="<?php echo $mosConfig_live_site; ?>/templates/rhuk_planetfall/images/top_bar.jpg" width="798" height="9" alt=""/>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="<?php echo $collspan_offset; ?>" class="header">
-		<img src="<?php echo $mosConfig_live_site; ?>/templates/rhuk_planetfall/images/spacer.png" width="646" height="9" alt=""/>
-		<br />
-		</td>
-		<td class="top_right_box" style="width: 151px; padding-left: 5px;" valign="top">
-			<table cellpadding="0" cellspacing="1" border="0" width="120" class="contentpaneopen">
-			<tr>
-				<td class="contentheading" width="145">
-				Search
-				</td>
-			</tr>
-			<tr>
-				<td>
-				<form action='index.php' method='post'>
-				<div class="searchblock" id="searchblock">
-				Enter Keywords:
-				<input size="15" class="inputbox" type="text" name="searchword" style="width:128px;" value="search..."  onblur="if(this.value=='') this.value='search...';" onfocus="if(this.value=='search...') this.value='';" />
-				<input type="hidden" name="option" value="search" />
-					<div align="left">
-					<input type="submit" value="GO" class="button" style="width:35px;" />
-					</div>
-				</div>
-				</form>
-				</td>
-			</tr>
-			</table>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="<?php echo $collspan_offset+1; ?>" class="silver_box" style="height:26px;">
-		<div id="silver_toolbar">
-			<div id="silver_date">
-			<?php echo mosCurrentDate(); ?>
-			</div>
-			<div id="silver_menu">
-			<?php mosLoadModules ( 'user3' ); ?>
-			</div>
-			<div style="clear: both;"></div>
-		</div>
-		</td>
-	</tr>
-	<tr>
-		<td valign="top" class="content_box">
-			<table border="0" cellpadding="0" cellspacing="0" width="100%">
-			<tr valign="top">
-				<td>
-				<!-- main content area -->
-				<div class="contentblock" id="contentblock" style="width:<?php echo 635 - ( 151 * ( $collspan_offset-1 ) )   ?>">
-					<?php mosPathWay(); ?>
-					<br />
-					<?php
-					if ( mosCountModules( 'top' ) ) {
-						mosLoadModules ( 'top' );
-					}
-					mosMainBody();
-					?>
-					<br />
-				</div>
-				<?php
-				if ( mosCountModules( 'bottom' ) ) { ?>
-					<div class="footerblock" id="footerblock">
-					<?php mosLoadModules ( 'bottom' ); ?>
-					<br />
-					</div>
-					<?php
-				}
-				?>
-				</td>
-			</tr>
-			</table>
-		</td>
-		<?php
-		if ( ( mosCountModules( 'right' ) + mosCountModules( 'user2' ) ) and @!$_REQUEST['task'] == 'edit' ) {
-			?>
-			<td valign="top" class="middle_box" width="151" style="width:151px">
-			<div id="middle_box">
-				<?php
-				if ( mosCountModules( 'right' ) ) {
-					?>
-					<div class="rightblock" id="rightblock" style="width:145px">
-					<?php mosLoadModules ( 'right' ); ?>
-					</div>
-					<?php
-				}
-				if ( mosCountModules( 'user2' ) ) {
-					?>
-					<div class="user2block" id="user2block" style="width:143px">
-					<?php mosLoadModules ( 'user2' ); ?>
-					</div>
-					<?php
-				} ?>
-			</div>
-			</td>
-			<?php
-		}
-		?>
-		<td valign="top" class="right_box" width="151" style="width: 151px">
-		<div id="right_box">
-			<!-- far right menu -->
-			<div class="leftblock" id="leftblock" style="width:143px">
-			<?php mosLoadModules ( 'left' ); ?>
-			</div>
-			<div class="user1block" id="user1block" style="width:143px">
-			<?php
-			if ( mosCountModules( "user1" ) ) {
-				mosLoadModules ( 'user1' );
-			}
-			?>
-			</div>
-		</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="<?php echo $collspan_offset+1; ?>">
-		<img src="<?php echo $mosConfig_live_site; ?>/templates/rhuk_planetfall/images/top_bar.jpg" width="798" height="9" alt="" />
-		</td>
-	</tr>
-	</table>
-	<?php include_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/footer.php' ); ?>
-</div>
-<?php mosLoadModules( 'debug', -1 );?>
-</body>
-</html>
diff -ruN 4.5.2.3/templates/rhuk_planetfall/templateDetails.xml 4.5.4/templates/rhuk_planetfall/templateDetails.xml
--- 4.5.2.3/templates/rhuk_planetfall/templateDetails.xml	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_planetfall/templateDetails.xml	1969-12-31 18:00:00.000000000 -0600
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<mosinstall type="template" version="4.5.1">
-	<name>rhuk_planetfall</name>
-	<creationDate>07/27/04</creationDate>
-	<author>rhuk</author>
-	<copyright>GNU/GPL</copyright>
-	<authorEmail>rhuk@rhuk.net</authorEmail>
-	<authorUrl>http://www.mambodev.com</authorUrl>
-	<version>1.0</version>
-	<description>Planetfall is a simple but stylish dark template.  The clean design of this template makes it very lightweight and fast.  As the default images and content that is loaded with Mambo is really focused on lighter backgrounds, it will take a tiny bit more customization of your content to make the template look it's best. </description>
-	<files>
-		<filename>index.php</filename>
-		<filename>template_thumbnail.png</filename>
-	</files>
-	<images>
-		<filename>images/arrow.png</filename>
-		<filename>images/back_fade.jpg</filename>
-		<filename>images/bottom_bar.jpg</filename>
-		<filename>images/indent1.png</filename>
-		<filename>images/indent2.png</filename>
-		<filename>images/indent3.png</filename>
-		<filename>images/indent4.png</filename>
-		<filename>images/mambo_header.jpg</filename>
-		<filename>images/menu1_fade.jpg</filename>
-		<filename>images/menu2_fade.jpg</filename>
-		<filename>images/menu_bullet.png</filename>
-		<filename>images/silver_background.jpg</filename>
-		<filename>images/spacer.png</filename>
-		<filename>images/title_background.png</filename>
-		<filename>images/top_bar.jpg</filename>
-		</images>
-	<css>
-		<filename>css/template_css.css</filename>
-	</css>
-</mosinstall>
Files 4.5.2.3/templates/rhuk_planetfall/template_thumbnail.png and 4.5.4/templates/rhuk_planetfall/template_thumbnail.png differ
diff -ruN 4.5.2.3/templates/rhuk_solarflare_ii/css/index.html 4.5.4/templates/rhuk_solarflare_ii/css/index.html
--- 4.5.2.3/templates/rhuk_solarflare_ii/css/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_solarflare_ii/css/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/templates/rhuk_solarflare_ii/css/template_css.css 4.5.4/templates/rhuk_solarflare_ii/css/template_css.css
--- 4.5.2.3/templates/rhuk_solarflare_ii/css/template_css.css	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_solarflare_ii/css/template_css.css	1969-12-31 18:00:00.000000000 -0600
@@ -1,611 +0,0 @@
-/* CSS Document */
-
-
-.clr {
-	clear: both;
-}
-
-.outline {
-  border: 1px solid #cccccc;
-  background: #ffffff;
-	padding: 2px;
-}
-
-#pathway_outer {
-	width: 635px;
-  float: left;
-  margin-bottom: 2px;
-	margin-right: 2px;
-}
-
-#pathway_inner {
-  float: none !important;
-  float: left;
-	border: 1px solid #cccccc;
-	height: 21px;
-}
-
-#pathway_text {
-  overflow: hidden;
-	float: left;
-	display: block;
-	padding-top: 4px;
-	height: 18px;
-	padding-left: 5px;
-}
-
-a.pathway {
-}
-
-#buttons {
-	float: right;
-	margin: 0px;
-	padding: 0px;
-	width: 50%;
-}
-
-
-ul#mainlevel-nav
-{
-	list-style: none;
-	padding: 0;
-	margin: 0;
-	font-size: 0.8em;
-}
-
-ul#mainlevel-nav li
-{
-	display: block;
-	background-image: none;
-	padding-left: 0px;
-	padding-right: 0px;
-	float: right;
-	margin: 0;
-	width: auto !important;
-  width: 15%;
-	font-size: 11px;
-	line-height: 21px;
-	white-space: nowrap;
-	border-left: 1px solid #cccccc;
-}
-
-ul#mainlevel-nav li a
-{
-	width: 100%;
-	display: block;
-	padding-left: 15px;
-	padding-right: 15px;
-	text-decoration: none;
-	color: #333333;
-	background: transparent;
-}
-
-#buttons>ul#mainlevel-nav li a { width: auto; }
-
-	ul#mainlevel-nav li a:hover
-{
-	color: #ffcc00;
-	background: #D84203;
-}
-
-
-#search_outer {
-	float: left;
-	width: 165px;
-}
-
-#search_inner {
-  border: 1px solid #cccccc;
-	padding: 0px;
-  height: 21px !important;
-  height: 23px;
-  overflow: hidden;
-}
-
-#search_inner form {
-  padding: 0;
-  margin: 0;
-}
-
-#search_inner .inputbox {
-	border: 0px;
-	padding: 3px 3px 3px 5px;
-	font-family: arial, helvetica, sans-serif;
-	font-size: 11px;
-	color: #ff6600;
-}
-
-#header_outer {
-	text-align: left;
-	border: 0px;
-	margin: 0px;
-}
-
-#header {
-	float: left;
-	padding: 0px;
-	margin-right: 2px;
-	width: 635px;
-	height: 150px;
-	background: url(../images/header_short.jpg) no-repeat;
-}
-
-#top_outer{
-	float: left;
-	width: 165px;
-}
-
-#top_inner {
-  border: 1px solid #cccccc;
-	padding: 2px;
-  height: 144px !important;
-  height: 150px;
-  overflow: hidden;
-  float: none !important;
-  float: left;
-}
-
-#left_outer {
-  float: left;
-	margin-top: 2px;
-	width: 165px;
-}
-
-#left_inner {
-  border: 1px solid #cccccc;
-	padding: 2px;
-  float: none !important;
-  float: left;
-}
-
-#content_outer {
-	padding: 0px;
-	margin-top: 0px;
-	margin-left: 2px;
-	/** border: 1px solid #cccccc; **/
-	float: left;
-	width: 635px;
-}
-
-#content_inner{
-  float: none !important;
-  float: left;
-  padding: 0;
-  padding-top: 2px;
-  margin: 0;
-}
-
-table.content_table {
-  width: 100%;
-	padding: 0px;
-	margin: 0px;
-}
-
-table.content_table td {
-	padding: 0px;
-	margin: 0px;
-}
-
-
-#banner_inner {
-	float: left;
-	padding: 0px;
-	height: 70px;
-}
-
-#poweredby_inner {
-	float: right;
-	padding: 0px;
-	margin-left: 0px;
-	height: 70px;
-}
-
-#right_outer {
-	margin-left: 2px;
-	width: 165px;
-}
-
-#right_inner {
-  float: none !important;
-  float: left;
-  border: 1px solid #cccccc;
-  padding: 2px;
-}
-
-
-.user1_inner {
-	border: 1px solid #cccccc;
-  float: none !important;
-  float: left;
-	margin: 0px;
-	padding: 2px;
-}
-
-.user2_inner {
-	border: 1px solid #cccccc;
-  float: none !important;
-  float: left;
-	margin: 0px;
-	padding: 2px;
-}
-
-table td.body_outer {
-	padding: 2px;
-	border: 1px solid #cccccc;
-}
-
-
-
-#active_menu {
-	color:#FFCC00;
-	font-weight: bold;
-}
-
-a#active_menu:hover {
-	color: #E15704;
-}
-
-.maintitle {
-	color: #ffffff;
-	font-size: 40px;
-	padding-left: 15px;
-	padding-top: 20px;
-}
-
-.error {
-  font-style: italic;
-  text-transform: uppercase;
-  padding: 5px;
-  color: #cccccc;
-  font-size: 14px;
-  font-weight: bold;
-}
-
-/** old stuff **/
-
-.back_button {
-	float: left;
-  text-align: center;
-  font-size: 11px;
-  font-weight: bold;
-  border: 3px double #cccccc;
-  width: auto;
-  background: url(../images/button_bg.png) repeat-x;
-  padding: 0px 10px;
-  line-height: 20px;
-  margin: 1px;
-}
-
-.pagenav {
-  text-align: center;
-  font-size: 11px;
-  font-weight: bold;
-  border: 3px double #cccccc;
-  width: auto;
-  background: url(../images/button_bg.png) repeat-x;
-  padding: 0px 10px;
-  line-height: 20px;
-  margin: 1px;
-}
-
-.pagenavbar {
-	margin-right: 10px;
-	float: right;
-}
-
-#footer {
-	text-align: center;
-	padding: 3px;
-}
-
-ul
-{
-margin: 0;
-padding: 0;
-list-style: none;
-}
-
-li
-{
-line-height: 15px;
-padding-left: 15px;
-padding-top: 0px;
-background-image: url(../images/arrow.png) ;
-background-repeat: no-repeat;
-background-position: 0px 3px;
-}
-
-
-td {
-	text-align: left;
-	font-size: 11px;
-}
-
-
-
-body {
-	margin: 15px;
-	height: 100%;
-	padding: 0px;
-	font-family: Arial, Helvetica, Sans Serif;
-	font-size: 11px;
-	color: #333333;
-	background: #ffffff;
-}
-
-/* mambo core stuff */
-a:link, a:visited {
-	color: #ff6600; text-decoration: none;
-	font-weight: bold;
-}
-
-a:hover {
-	color: #C43C03;	text-decoration: none;
-	font-weight: bold;
-}
-
-table.contentpaneopen {
-  width: 100%;
-	padding: 0px;
-	border-collapse: collapse;
-	border-spacing: 0px;
-	margin: 0px;
-}
-
-table.contentpaneopen td {
-   padding-right: 5px;
-}
-
-table.contentpaneopen td.componentheading {
-	padding-left: 4px;
-}
-
-
-
-table.contentpane {
-  width: 100%;
-	padding: 0px;
-	border-collapse: collapse;
-	border-spacing: 0px;
-	margin: 0px;
-}
-
-table.contentpane td {
-	margin: 0px;
-	padding: 0px;
-}
-
-table.contentpane td.componentheading {
-	padding-left: 4px;
-}
-
-.button {
-  color: #ff6600;
-  font-family: Arial, Hevlvetica, sans-serif;
-  text-align: center;
-  font-size: 11px;
-  font-weight: bold;
-  border: 3px double #cccccc;
-  width: auto;
-  background: url(../images/button_bg.png) repeat-x;
-  padding: 0px 5px;
-  line-height: 18px !important;
-  line-height: 16px;
-  height: 26px !important;
-  height: 24px;
-  margin: 1px;
-}
-
-.inputbox {
-	padding: 2px;
-	border:solid 1px #cccccc;
-	background-color: #ffffff;
-}
-
-.componentheading {
-	background: url(../images/subhead_bg.png) repeat-x;
-	color: #666666;
-	text-align: left;
-	padding-top: 4px;
-	padding-left: 4px;
-	height: 21px;
-	font-weight: bold;
-	font-size: 10px;
-	text-transform: uppercase;
-
-}
-
-.contentcolumn {
-	padding-right: 5px;
-}
-
-.contentheading {
-	height: 30px;
-	background: url(../images/contenthead.png) top left repeat-x;
-	color: #666666;
-	text-indent: 15px;
-	font-weight: bold;
-	font-size: 11px;
-	white-space: nowrap;
-}
-
-
-
-.contentpagetitle {
-	font-size: 13px;
-	font-weight: bold;
-	color: #cccccc;
-	text-align:left;
-}
-
-table.searchinto {
-	width: 100%;
-}
-
-table.searchintro td {
-	font-weight: bold;
-}
-
-table.moduletable {
-	width: 100%;
-	margin-bottom: 5px;
-	padding: 0px;
-	border-spacing: 0px;
-	border-collapse: collapse;
-}
-
-table.moduletable th {
-	background: url(../images/subhead_bg.png) repeat-x;
-	color: #666666;
-	text-align: left;
-	padding-top: 4px;
-	padding-left: 4px;
-	height: 21px;
-	font-weight: bold;
-	font-size: 10px;
-	text-transform: uppercase;
-}
-
-table.moduletable td {
-	font-size: 11px;
-	padding: 0px;
-	margin: 0px;
-	font-weight: normal;
-}
-
-table.pollstableborder td {
-  padding: 2px;
-}
-
-.sectiontableheader {
-  font-weight: bold;
-  background: #f0f0f0;
-  padding: 4px;
-}
-
-.sectiontablefooter {
-
-}
-
-.sectiontableentry1 {
-	background-color : #ffffff;
-}
-
-.sectiontableentry2 {
-	background-color : #f9f9f9;
-}
-
-.small {
-	color: #999999;
-	font-size: 11px;
-	font-weight: bold;
-}
-
-.createdate {
-	height: 15px;
-	padding-bottom: 10px;
-	color: #999999;
-	font-size: 11px;
-	font-weight: bold;
-}
-
-.modifydate {
-	height: 15px;
-	padding-top: 10px;
-	color: #999999;
-	font-size: 11px;
-	font-weight: bold;
-}
-
-table.contenttoc {
-  border: 1px solid #cccccc;
-  padding: 2px;
-  margin-left: 2px;
-  margin-bottom: 2px;
-}
-
-table.contenttoc td {
-  padding: 2px;
-}
-
-table.contenttoc th {
-  background: url(../images/subhead_bg.png) repeat-x;
-  color: #666666;
-	text-align: left;
-	padding-top: 2px;
-	padding-left: 4px;
-	height: 21px;
-	font-weight: bold;
-	font-size: 10px;
-	text-transform: uppercase;
-}
-
-a.mainlevel:link, a.mainlevel:visited {
-	display: block;
-	background: url(../images/menu_bg.png) no-repeat;
-	vertical-align: middle;
-	font-size: 11px;
-	font-weight: bold;
-	color: #ffffff;
-	text-align: left;
-	padding-top: 5px;
-	padding-left: 18px;
-	height: 20px !important;
-	height: 25px;
-	width: 100%;
-	text-decoration: none;
-}
-
-a.mainlevel:hover {
-	background-position: 0px -25px;
-	text-decoration: none;
-	color: #333333;
-}
-
-a.sublevel:link, a.sublevel:visited {
-	padding-left: 1px;
-	vertical-align: middle;
-	font-size: 11px;
-	font-weight: bold;
-	color: #ff6600;
-	text-align: left;
-}
-
-a.sublevel:hover {
-	color: #C43C03;
-	text-decoration: none;
-}
-.highlight {
-	background-color: Yellow;
-	color: Blue;
-	padding: 0;
-}
-.code {
-	background-color: #ddd;
-	border: 1px solid #bbb;
-}
-
-form {
-/* removes space below form elements */
-	margin: 0;
- 	padding: 0;
-}
-
-div.mosimage {
-  border: 1px solid #ccc;
-}
-
-.mosimage {
-  border: 1px solid #cccccc;
-  margin: 5px
-}
-
-.mosimage_caption {
-  margin-top: 2px;
-  background: #efefef;
-  padding: 1px 2px;
-  color: #666;
-  text-transform: normal;
-  font-size: 10px;
-  border-top: 1px solid #cccccc;
-}
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/advertisement.png and 4.5.4/templates/rhuk_solarflare_ii/images/advertisement.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/arrow.png and 4.5.4/templates/rhuk_solarflare_ii/images/arrow.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/button_bg.png and 4.5.4/templates/rhuk_solarflare_ii/images/button_bg.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/contenthead.png and 4.5.4/templates/rhuk_solarflare_ii/images/contenthead.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/header_short.jpg and 4.5.4/templates/rhuk_solarflare_ii/images/header_short.jpg differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/indent1.png and 4.5.4/templates/rhuk_solarflare_ii/images/indent1.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/indent2.png and 4.5.4/templates/rhuk_solarflare_ii/images/indent2.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/indent3.png and 4.5.4/templates/rhuk_solarflare_ii/images/indent3.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/indent4.png and 4.5.4/templates/rhuk_solarflare_ii/images/indent4.png differ
diff -ruN 4.5.2.3/templates/rhuk_solarflare_ii/images/index.html 4.5.4/templates/rhuk_solarflare_ii/images/index.html
--- 4.5.2.3/templates/rhuk_solarflare_ii/images/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_solarflare_ii/images/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/menu_bg.png and 4.5.4/templates/rhuk_solarflare_ii/images/menu_bg.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/powered_by.png and 4.5.4/templates/rhuk_solarflare_ii/images/powered_by.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/rating_star_blank.png and 4.5.4/templates/rhuk_solarflare_ii/images/rating_star_blank.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/rating_star.png and 4.5.4/templates/rhuk_solarflare_ii/images/rating_star.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/spacer.png and 4.5.4/templates/rhuk_solarflare_ii/images/spacer.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/subhead_bg.png and 4.5.4/templates/rhuk_solarflare_ii/images/subhead_bg.png differ
Files 4.5.2.3/templates/rhuk_solarflare_ii/images/title_back.png and 4.5.4/templates/rhuk_solarflare_ii/images/title_back.png differ
diff -ruN 4.5.2.3/templates/rhuk_solarflare_ii/index.html 4.5.4/templates/rhuk_solarflare_ii/index.html
--- 4.5.2.3/templates/rhuk_solarflare_ii/index.html	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_solarflare_ii/index.html	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-<html><body bgcolor="#FFFFFF"></body></html>
\ No newline at end of file
diff -ruN 4.5.2.3/templates/rhuk_solarflare_ii/index.php 4.5.4/templates/rhuk_solarflare_ii/index.php
--- 4.5.2.3/templates/rhuk_solarflare_ii/index.php	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_solarflare_ii/index.php	1969-12-31 18:00:00.000000000 -0600
@@ -1,190 +0,0 @@
-<?php
-defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
-// needed to seperate the ISO number from the language file constant _ISO
-$iso = explode( '=', _ISO );
-// xml prolog
-echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<?php mosShowHead(); ?>
-<?php
-if ( $my->id ) {
-	initEditor();
-}
-$collspan_offset = ( mosCountModules( 'right' ) + mosCountModules( 'user2' ) ) ? 2 : 1;
-//script to determine which div setup for layout to use based on module configuration
-$user1 = 0;
-$user2 = 0;
-$colspan = 0;
-$right = 0;
-// banner combos
-
-//user1 combos
-if ( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 2) {
-	$user1 = 2;
-	$user2 = 2;
-	$colspan = 3;
-} elseif ( mosCountModules( 'user1' ) == 1 ) {
-	$user1 = 1;
-	$colspan = 1;
-} elseif ( mosCountModules( 'user2' ) == 1 ) {
-	$user2 = 1;
-	$colspan = 1;
-}
-
-//right based combos
-if ( mosCountModules( 'right' ) and ( empty( $_REQUEST['task'] ) || $_REQUEST['task'] != 'edit' ) ) {
-	$right = 1;
-} 
-?>
-<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
-<link href="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/css/template_css.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-
-<div align="center">
-	<table border="0" cellpadding="0" cellspacing="0" width="808">
-		<tr>
-			<td class="outline">
-		  		<div id="pathway_outer">
-		  		  <div id="pathway_inner">
-		    			<div id="pathway_text">
-		    			<?php mosPathWay(); ?>
-		    			</div>
-		    			<div id="buttons">
-		    			<?php mosLoadModules ( 'user3', -1); ?>
-		    			</div>
-		    		</div>
-		  		</div>
-		  		<div id="search_outer">
-		  		  <div id="search_inner">
-		  		  <?php mosLoadModules ( 'user4', -1 ); ?>
-		  		  </div>
-		  		</div>
-		  		<div class="clr"></div>
-		  		<div id="header_outer">
-		  			<div id="header">
-		  			&nbsp;
-		  			</div>
-		  			<div id="top_outer">
-					    <div id="top_inner">
-		    			<?php
-		      			if ( mosCountModules( 'top' ) ) {
-		      				mosLoadModules ( 'top' );
-		      			} else {
-		      				?>
-		      				<span class="error">Top Module Empty</span>
-		      				<?php
-		      			}
-		      			?>
-					     </div>
-		    	  </div>
-		  		</div>
-		  		<div id="left_outer">
-		  			<div id="left_inner">
-		  			<?php mosLoadModules ( 'left' ); ?>
-		  			</div>
-		  		</div>
-		  		<div id="content_outer">
-		   			<div id="content_inner">
-		   			<?php
-		  			if ( mosCountModules ('banner') ) {
-		  				?>
-		  				<table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
-			   			<tr>
-								<td>
-									<div id="banner_inner">
-									<img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/advertisement.png" alt="advertisement.png, 0 kB" title="advertisement" border="0" height="8" width="468"/><br />
-			  					<?php mosLoadModules( 'banner', -1 ); ?><br />
-									</div>
-									<div id="poweredby_inner">
-										<img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/powered_by.png" alt="powered_by.png, 1 kB" title="powered_by" border="0" height="68" width="165"/><br />	
-									</div>
-								</td>
-							</tr>
-							</table>
-							<?php
-		  			}
-		  			?>
-		  			<table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
-						<tr valign="top">
-							<td width="99%">
-								<table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
-								
-								<?php 
-								if ($colspan > 0) {
-								?>
-									<tr valign="top">
-										<?php
-				  					if ( $user1 > 0 ) {
-				  						?>
-				  						<td width="50%">
-				  							<div class="user1_inner">
-				  							<?php mosLoadModules ( 'user1' ); ?>
-				  							</div>
-				  						</td>
-				  						<?php
-				  					}	
-				  					if ( $colspan == 3) {
-										 ?>
-											<td width="2">
-												<img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/spacer.png" alt="" title="spacer" border="0" height="10" width="2"/>	
-											</td>
-										<?php
-										}
-				  					if ( $user2 > 0 ) {
-				  						?>
-				  						<td width="50%">
-				  							<div class="user2_inner">
-				  							<?php mosLoadModules ( 'user2' ); ?>
-				  							</div>
-				  						</td>
-				  						<?php
-				  					}	
-										?>
-									</tr>
-									<tr>
-										<td colspan="<?php echo $colspan; ?>">
-											<img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/spacer.png" alt="" title="spacer" border="0" height="2" width="100"/><br />	
-										</td>
-									</tr>
-									<?php
-									}
-								?>
-								<tr>
-									<td colspan="<?php echo $colspan; ?>" class="body_outer">
-				  					 <?php mosMainBody(); ?>
-									</td>
-								</tr>
-								</table>
-							
-							
-							</td>
-							<?php
-							if ( $right > 0 ) {
-		  				?>
-		  				<td>
-			  				<div id="right_outer">
-			  					<div id="right_inner">
-			  					<?php mosLoadModules ( 'right' ); ?>
-			  					</div>
-			  				</div>
-		  				</td>
-		  				<?php
-		  			}
-		  			?>
-										
-						</tr>
-						</table>
-		  		</div>
-		  	</div>
-		  </td>
-	  </tr>
-  </table>
-</div>
-<?php include_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/footer.php' ); ?>
-<?php mosLoadModules( 'debug', -1 );?>
-</body>
-</html>
diff -ruN 4.5.2.3/templates/rhuk_solarflare_ii/templateDetails.xml 4.5.4/templates/rhuk_solarflare_ii/templateDetails.xml
--- 4.5.2.3/templates/rhuk_solarflare_ii/templateDetails.xml	2006-08-01 01:34:25.000000000 -0500
+++ 4.5.4/templates/rhuk_solarflare_ii/templateDetails.xml	1969-12-31 18:00:00.000000000 -0600
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<mosinstall type="template" version="4.5.2">
-	<name>rhuk_solarflare_ii</name>
-	<creationDate>11/02/04</creationDate>
-	<author>rhuk</author>
-	<copyright>GNU/GPL</copyright>
-	<authorEmail>rhuk@rhuk.net</authorEmail>
-	<authorUrl>http://www.mambodev.com</authorUrl>
-	<version>2.01</version>
-	<description>SolarFlare II is a simple and stylish template.  The clean design of this template makes it very lightweight and fast.  This is a significatn upgrade for the original SolarFlare template in that is has a completely revised layout that uses an alternate box model hack that makes it easier to modify.  Also a table has been introduced in the main content area that better constricts layout causing less problems with 'problematic' components. New headers and menu elements give this template a 'fresher' look.</description>
-	<files>
-		<filename>index.php</filename>
-		<filename>template_thumbnail.png</filename>
-	</files>
-	<images>
-		<filename>images/advertisement.png</filename>
-		<filename>images/arrow.png</filename>
-		<filename>images/button_bg.png</filename>
-		<filename>images/contenthead.png</filename>
-		<filename>images/indent1.png</filename>
-		<filename>images/indent2.png</filename>
-		<filename>images/indent3.png</filename>
-		<filename>images/indent4.png</filename>
-		<filename>images/header_short.jpg</filename>
-		<filename>images/menu_bg.png</filename>
-		<filename>images/powered_by.png</filename>
-		<filename>images/spacer.png</filename>
-		<filename>images/subhead_bg.png</filename>
-		<filename>images/title_back.png</filename>
-		</images>
-	<css>
-		<filename>css/template_css.css</filename>
-	</css>
-</mosinstall>
Files 4.5.2.3/templates/rhuk_solarflare_ii/template_thumbnail.png and 4.5.4/templates/rhuk_solarflare_ii/template_thumbnail.png differ
diff -ruN 4.5.2.3/templates/waterandstone/css/template_css.css 4.5.4/templates/waterandstone/css/template_css.css
--- 4.5.2.3/templates/waterandstone/css/template_css.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/templates/waterandstone/css/template_css.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,868 @@
+/* ---------------------
+basic layout
+--------------------- */
+
+* {
+	font-family: Arial, Helvetica, sans-serif;
+}
+
+.waterbody {
+	background:#CCCCCC url(../images/bg_body.jpg) repeat-x left top;
+	margin:0;
+	color:#333333;
+}
+
+div,
+td,
+p {
+	font-size:12px;
+	line-height:18px;
+	color:#333333;
+}
+
+a,
+a:link,
+a:active,
+a:visited {
+	text-decoration:underline;
+	color:#000000;
+}
+
+a:hover {
+	text-decoration:underline;
+	color:#3973AC;
+}
+
+ul {
+	margin: 5px;
+	padding: 5px;
+	list-style: none;
+	list-style-type: square;
+}
+
+li {
+	line-height: 18px;
+	padding-left: 5px;
+	padding-top: 0px;
+	list-style-position: inside;
+}
+
+/** clear the banner to make it sit in the bottom **/
+.clear {
+	clear:both;
+}
+
+/* ---------------------
+template layout
+--------------------- */
+
+/** wrapper to make the page center **/
+#container {
+	width:900px;
+	margin: 55px auto;
+	padding:0;
+	text-align: left;
+}
+
+/**
+hold background, it should be float:left
+that's way we can not put it in #container
+**/
+#containerbg {
+	position:relative;
+	width: 900px;
+	background:transparent url(../images/bg_inside.jpg) repeat-y left top;
+	float:left;
+	top:0;
+	left:0;
+}
+
+#outerleft {
+	position:relative;
+	float:left;
+	clear:left;
+	width:730px;
+	
+}
+
+#outerright {
+	position:relative;
+	width:170px;
+	float:right;
+	clear:right;
+}
+
+#logo {
+	position:relative;
+	width:100%;
+	height:74px;
+	float:left;
+	background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top;
+}
+
+/** div container for top menu. position:top **/
+#topmenu {
+	position:relative;
+	float:left;
+	clear:left;
+	background-color:#000000;
+	width: 100%;
+}
+
+/** div container for image header **/
+#imgheader {
+	position:relative;
+	float:left;
+	clear:left;
+	width:100%;
+	height:99px;
+	background-color: #000000;
+}
+
+#container_inner {
+	position:relative;
+	float:left;
+	clear:left;
+	width:730px;
+}
+
+/** div container for left column **/
+#leftcol {
+	position:relative;
+	float:left;
+	clear:left;
+	width:172px;
+	background:transparent url(../images/bg_leftcol.jpg) repeat-y left top;
+}
+
+#leftcolmenu {
+	position:relative;
+	background:transparent url(../images/bg_leftcol.jpg) repeat-y left top;
+	overflow:auto;
+}
+
+
+/** div wrapper for user2 & user3 **/
+#content_top_wrapper {
+	position:relative;
+	float:right;
+	clear:right;
+	width:542px;
+	display:inline;
+	margin: 4px 8px 0 0;
+}
+
+/** div container for position:user2 **/
+#content_top1 {
+	position:relative;
+	float:left;
+	clear:left;
+	width:269px;
+}
+
+/** div container for position:user3 **/
+#content_top2 {
+	position:relative;
+	float:right;
+	clear:right;
+	width:269px;
+}
+
+/** div container for mainbody **/
+#content_main {
+	position:relative;
+	float:left;
+	width:520px;
+	margin:15px 0 20px 20px;
+	background-color:#FFFFFF;
+}
+
+/** div container for right column **/
+#rightcol_top,
+#rightcol {
+	float:left;
+	clear:left;
+	width:168px;
+	margin:0 0 0 1px;
+	display:inline;
+	overflow:auto;
+}
+
+/** div container for right column position:header **/
+#rightcol_top {
+	height:70px;
+	min-height:70px;
+	background:transparent url(../images/bg_topright.jpg) no-repeat center top;
+}
+
+/** div container for banner position:banner **/
+#banner {
+	position:relative;
+	clear:left;
+	float:left;
+	width:515px;
+	height:65px;
+	min-height:65px;
+	color:#FFFFFF;
+	font-size:10px;
+	padding: 20px 0 0 215px;
+}
+
+#blackline {
+	position:relative;
+	clear:left;
+	float:left;
+	width:730px;;
+	height:10px;
+	min-height:10px;
+	background-color: #000000;
+	color:#FFFFFF;
+	font-size:10px;
+}
+
+/** copyright **/
+
+#copyright {
+	position:relative;
+	width:900px;
+	display:block;
+	clear:both;
+	float:left;
+}
+
+#copyright div {
+	color:#666666;
+	font-size:10px;
+	font-weight:bold;
+	display:block!important;
+	width:900px;
+	float:left;
+	clear:left;
+	margin:-10px 0 0 0;
+	text-align:left;
+}
+
+
+
+/* ---------------------
+mambo content layout
+--------------------- */
+
+/** pathway block **/
+span.pathway {
+	display:block;
+	text-align:left;
+	color:#000000;
+	font-size:10px;
+	font-weight:bold;
+	border-bottom-width: 1px;
+	border-bottom-style: solid;
+	border-bottom-color: #E5E5E5;
+	height:20px;
+	margin-bottom:10px;
+}
+
+/** content title **/
+.componentheading {
+	font-family:Georgia, "Times New Roman", Times, serif;
+	color:#000000;
+	font-size: 20px;
+	line-height:25px;
+	padding: 5px 0 5px 0;
+	display:block;
+}
+
+.contentheading,
+.contentpagetitle,
+a.contentpagetitle:link,
+a.contentpagetitle:active,
+a.contentpagetitle:visited {
+	font-family: Arial, Helvetica, sans-serif;
+	font-size:16px;
+	color:#3973AC;
+	font-weight: bold;
+	padding-top: 25px;
+	background-color:inherit;
+	display:block;
+}
+
+.contentpaneopen {
+	width:100%;
+}
+
+
+/** pdf, printer version, and email to friend button **/
+.buttonheading {
+	width: 16px!important;
+	text-align:right;
+}
+
+.sectiontableheader {
+	font-weight: bold;
+}
+
+.category, .categorytitle {
+	font-weight: bold;
+	color:#3973AC;
+	background-color:inherit;
+}
+
+.sectiontableentry1 {
+	background-color: #EFEFEF;
+	padding: 2px;
+	color:#333333;
+}
+
+.sectiontableentry2 {
+	background-color: #FFFFFF;
+	padding: 2px;
+	color:#333333;
+}
+
+/** blog Styles **/
+.blogsection {
+	color:#3973AC;
+	background-color:inherit;
+}
+
+.blog_more {
+	font-weight: bold;
+	line-height: 25px;
+	padding-top: 20px;
+	color: #3973AC;
+	border-bottom: 1px solid #E5E5E5;
+	background-color:inherit;
+}
+
+/** small text in content **/
+.small {
+	color:#999999;
+	font-size:10px;
+	font-weight: bold;
+	background-color:inherit;
+}
+
+/** date info in content **/
+#content_main .createdate {
+	color:#4A87C4;
+	font-size:10px;
+	padding: 0 0 15px 0;
+	line-height:8px;
+	background-color:inherit;
+}
+
+#content_main .modifydate {
+	color:#999999;
+	font-size:10px;
+	padding: 0;
+	background-color:inherit;
+}
+
+/** toc page navigation  **/
+.pagenav_prev,
+.pagenav_next {
+	font-size:11px;
+}
+
+
+/** content item navigation  **/
+.pagenavbar  {
+	display:block;
+	width:100%;
+	background-color:inherit;
+	height:20px;
+	line-height:25px;
+	text-align:right;
+	letter-spacing:2px;
+	color:#999999!important;
+	clear:both;
+	font-size: 11px!important;
+	margin-top: 10px;
+	background-image: url(../images/bg_pagenav.jpg);
+	background-repeat: repeat-x;
+	background-position: center bottom;	
+}
+
+.pagenav {
+	height:20px;
+	line-height:25px;
+	text-align:right;
+	letter-spacing:2px;
+	color:#999999;
+	clear:both;
+	font-size: 11px;
+	margin-left: 0;
+	margin-right: 0;
+	background-color:inherit;
+}
+
+.back_button {
+	display:block;
+	text-align:left;
+	font-weight:bold;
+	font-size:12px;
+	width:100%;
+	margin-bottom:10px;
+	letter-spacing:2px;
+}
+
+/** highlight word search result **/
+.highlight {
+	font-weight:bold;
+	background-color: #FFFF00;
+	padding: 2px 0 2px 0;
+	
+}
+
+/** table of content layout **/
+table.contenttoc {
+	border:1px solid #000000;
+	padding:1px;
+	width:130px;
+	margin: 0 0 10px 10px;
+}
+
+/** table of content header **/
+.contenttoc th {
+	color:#FFFFFF;
+	background-color:#666666;
+	font-size:11px;
+	display:block;
+	width:124px;
+}
+
+/** unordered list for latest news module **/
+ul.latestnews li,ul.mostread li {
+	line-height: 18px;
+	font-size:11px;
+	font-weight:bold;
+	list-style-type: none;
+	list-style-position: outside;
+}
+
+
+/** fix opera table width for content list in table category**/
+table.contentpane td.contentdescription {
+	width:100%!important;
+}
+
+
+/* ---------------------
+Links
+--------------------- */
+
+/** any left column link **/
+#leftcol a:link,
+#leftcol a:active,
+#leftcol a:visited {
+	color:#FFFFFF;
+}
+
+a.pagenav:link ,
+a.pagenav_next:link,
+a.pagenav_pre:link,
+div.back_button a,
+div.back_button a:link,
+a.latestnews:link,
+a.latestnews:active,
+a.latestnews:visited,
+a.mostread:link,
+a.mostread:active,
+a.mostread:visited {
+	text-decoration:none;
+}
+
+/*** read more link ***/
+.readon,
+a.readon:link,
+a.readon:active,
+a.readon:visited {
+	color:#666666;
+	font-weight:bold;
+	text-align:left;
+	margin-top:10px;
+	letter-spacing: 2px;
+	font-size:10px;
+	text-decoration:none;
+}
+
+/*** blog links ***/
+a.blogsection:link,
+a.blogsection:active,
+a.blogsection:visited {
+	color:#3973AC;
+	text-decoration:none;
+}
+
+/** generic menu item link **/
+a.mainlevel:link,
+a.mainlevel:active,
+a.mainlevel:visited,
+a.sublevel:link,
+a.sublevel:active,
+a.sublevel:visited {
+	color:#FFFFFF;
+	text-decoration:none;
+	font-size:11px;
+	line-height: 28px;
+}
+
+/** generic menu item link on mouseover **/
+a.mainlevel:hover,
+#leftcol a.mainlevel:hover {
+	background-color:#484848;
+	color:#FFFFFF!important;
+	text-decoration:none!important;
+}
+
+/** specific top right column menu item link **/
+a.mainlevel-right:link,
+a.mainlevel-right:active,
+a.mainlevel-right:visited,
+a.sublevel-right:link,
+a.sublevel-right:active,
+a.sublevel-right:visited {
+	color:#000000;
+	text-decoration:none;
+	font-size:11px;
+}
+
+/** specific top right column menu item link on mouseover **/
+a.mainlevel-right:hover {
+	background-color:#CCCCCC;
+	text-decoration:none;
+}
+
+
+/** pathway link item **/
+a.pathway:link,
+a.pathway:link,
+a.pathway:active,
+a.pathway:visited {
+	color:#999999;
+	text-decoration:none;
+}
+
+/** table of content list **/
+a.toclink:link,
+a.toclink:active,
+a.toclink:visited {
+	color:#3973AC;
+	font-size:11px;
+	padding:2px 10px 2px 10px;
+	display:block;
+	text-decoration:none;
+}
+
+.pagenavbar a:link,
+.pagenavbar a:active,
+.pagenavbar a:visited  {
+	letter-spacing:2px;
+	color:#000000;
+	font-size: 11px;
+	text-decoration: none;
+}
+
+.pagenavbar a:hover {
+	color:#3973AC;
+}
+
+/** latestnews and popular **/
+.latestnews,
+.mostread {
+	color:#000000;
+}
+
+a.latestnews:link,
+.mostread a:link,
+.latestnews a:active,
+.mostread a:active,
+.latestnews a:hover,
+.mostread a:hover,
+.latestnews a:visited,
+.mostread a:visited {
+	color:#000000;
+	text-decoration:underline;
+}
+
+/** underline on hover **/
+a.toclink:hover,
+a.latestnews:hover,
+a.mostread:hover,
+a.pathway:hover,
+a.sublevel:hover,
+a.sublevel-right:hover,
+a.blogsection:hover,
+a.readon:hover,
+a.pagenav:hover ,
+a.pagenav_next:hover,
+a.pagenav_pre:hover,
+a.latestnews:hover {
+	text-decoration:underline;
+	color:#3973AC;
+	background-color:inherit;
+}
+
+#leftcol a:hover {
+	color: #93B7DB;
+	text-decoration:underline;
+}
+
+
+/* ---------------------
+mambo module layout
+--------------------- */
+
+/** general module table **/
+table.moduletable,
+#leftcol table,
+#rightcol table {
+	width:100%;
+	float:left;
+	clear:left;
+}
+
+/** general module table **/
+#rightcol table,
+#leftcol table td {
+	font-size:11px !important;
+	color:#CCCCCC;
+}
+
+#rightcol table,
+#rightcol table td {
+	font-size:11px !important;
+	color:#030303;
+}
+
+/** general module title **/
+table.moduletable th,
+table.moduletable-bgimg th,
+table.moduletable-right th {
+	border: 1px solid #000000;	
+	color:#FFFFFF;
+	font-family: Georgia, "Times New Roman", Times, serif;
+	font-size:15px;
+	line-height:20px;
+	background-color:#484848;
+	height:25px;
+	text-align:left;
+	padding-left:15px;
+	font-weight:normal;
+}
+
+/** specific module td table for content top 1 and 2. 
+position:user2 an user3 **/
+#content_top1 table.moduletable td,
+#content_top2 table.moduletable td {
+	background:transparent url(../images/bg_module_contenttop.jpg) no-repeat center bottom;
+	height:100px;
+	min-height:100px;
+	vertical-align:top;
+}
+
+/** right column module td **/
+#rightcol table.moduletable td   {
+	padding:5px;
+}
+
+/** generic menu item **/
+.mainlevel  {
+	display:block;
+	height:25px;
+	line-height:25px;
+	padding-left:15px;
+	background:transparent url(../images/bg_mainlevel.gif) repeat-x center top;
+	font-weight:bold;
+	text-decoration:none;
+}
+
+/** specific left column form **/
+#leftcol form {
+	margin-left:15px;
+}
+
+/** specific left column form **/
+#leftcol .button {
+	font-size:11px;
+	color:#FFFFFF;
+	background-color:#585858;
+	border-right: 1px solid #333333;
+	border-bottom: 1px solid #333333;
+	border-left: 1px solid #888888;
+	border-top: 1px solid #888888;
+	width:140px;
+}
+
+
+/** specific left column form **/
+#leftcol .inputbox {
+	font-size:11px;
+	font-weight: bold;
+}
+
+/** module styles in #leftcol **/
+#leftcol table.moduletable td {
+	color:#DADADA;
+	font-size:11px;
+}
+
+/** search div in top right column. position:user4 **/
+div.search {
+	margin-left:10px;
+}
+
+/** search field in search div **/
+.search .inputbox {
+	width:130px;
+	border: 1px solid #000000;
+}
+
+/* ---------------------
+mambo form layout
+--------------------- */
+
+/** left column input form **/
+#leftcol .inputbox {
+	font-size:11px;
+	/*border: 1px solid #000000;*/
+	margin-bottom:2px;
+}
+
+/** input button html tag **/
+.button,
+#rightcol .button {
+	font-size:11px;
+	text-transform:uppercase;
+	color:#666666;
+	font-weight:bold;
+	background-color:#CCCCCC;
+	border-top: 1px solid #FFFFFF;
+	border-right: 1px solid #999999;
+	border-bottom: 1px solid #999999;
+	border-left: 1px solid #FFFFFF;
+}
+
+#rightcol .button {
+	background-color:#E5E5E5;
+}
+
+.search  {
+	margin-top:30px;
+}
+
+
+
+/* 
+mambo top menu layout
+you need to add menu class suffix: -nav
+*/
+
+/** unordered list top menu **/
+ul#mainlevel-nav
+{
+	list-style: none;
+	padding: 0;
+	margin: 0;
+	font-size: 0.8em;
+}
+
+/** unordered list item for top menu **/
+ul#mainlevel-nav li
+{
+	display: block;
+	padding-left: 0px;
+	padding-right: 0px;
+	float: left;
+	margin: 0;
+	width: auto !important;
+	font-size: 11px;
+	line-height: 23px;
+	white-space: nowrap;
+}
+
+/** unordered list item link for top menu **/
+ul#mainlevel-nav li a
+{
+	display: block;
+	padding-left: 15px;
+	padding-right: 15px;
+	text-decoration: none;
+	color: #FFFFFF;
+	font-weight:bold;
+}
+
+/** unordered list item link for top menu for firefox only **/
+#topmenu>ul#mainlevel-nav li a {
+	width: auto;
+}
+
+/** unordered list item for top menu for firefox only **/
+ul#mainlevel-nav li a:hover {
+	background: #535353;
+	text-decoration:none;
+}
+
+
+ /*
+specific right column menu item. position:right
+you need to add menu class suffix: right
+ */
+.mainlevel-right {
+	display:block;
+	height:25px;
+	line-height:25px;
+	padding-left:15px;
+	background:#EEF0F0 url(../images/bg_mainlevel_right.gif) repeat-x center top;
+	font-weight:bold;
+}
+
+/** 
+moduletable specific with background image
+you need to add modules class suffix: -bgimg
+ **/
+table.moduletable-bgimg {
+	background:transparent url(../images/bg_module.jpg) no-repeat center bottom;
+	float:left;
+	clear:left;
+	width:100%;
+}
+
+table.moduletable-bgimg td {
+	padding: 5px ;
+	font-size:11px;
+}
+
+table.moduletable-bgimg td td {
+	padding: 0!important;
+}
+
+/** for polls **/
+.poll {
+	font-size:11px;
+	line-height: 16px;
+}
+
+table.pollstableborder .sectiontableentry2 {
+	background-color:transparent; 
+	text-align:left; 
+}
+table.pollstableborder .sectiontableentry1 {
+	background-color:#F5F5F5; 
+	text-align:left;
+}
+
+.moduletable_bgimg table.pollstableborder td.sectiontableentry2,
+.moduletable_bgimg table.pollstableborder td.sectiontableentry1 {
+	background-color:transparent!important; 
+	text-align:left!important; 
+}
+
+
+#bottompadding	{
+	position:relative;
+	width:900px;
+	display:block;
+	height:0px;
+	margin-top:-100px;
+}
\ No newline at end of file
Files 4.5.2.3/templates/waterandstone/images/bg_body.jpg and 4.5.4/templates/waterandstone/images/bg_body.jpg differ
Files 4.5.2.3/templates/waterandstone/images/bg_header.jpg and 4.5.4/templates/waterandstone/images/bg_header.jpg differ
Files 4.5.2.3/templates/waterandstone/images/bg_inside.jpg and 4.5.4/templates/waterandstone/images/bg_inside.jpg differ
Files 4.5.2.3/templates/waterandstone/images/bg_leftcol.jpg and 4.5.4/templates/waterandstone/images/bg_leftcol.jpg differ
Files 4.5.2.3/templates/waterandstone/images/bg_mainlevel.gif and 4.5.4/templates/waterandstone/images/bg_mainlevel.gif differ
Files 4.5.2.3/templates/waterandstone/images/bg_mainlevel_right.gif and 4.5.4/templates/waterandstone/images/bg_mainlevel_right.gif differ
Files 4.5.2.3/templates/waterandstone/images/bg_module_contenttop.jpg and 4.5.4/templates/waterandstone/images/bg_module_contenttop.jpg differ
Files 4.5.2.3/templates/waterandstone/images/bg_module.jpg and 4.5.4/templates/waterandstone/images/bg_module.jpg differ
Files 4.5.2.3/templates/waterandstone/images/bg_pagenav.jpg and 4.5.4/templates/waterandstone/images/bg_pagenav.jpg differ
Files 4.5.2.3/templates/waterandstone/images/bg_spacer.gif and 4.5.4/templates/waterandstone/images/bg_spacer.gif differ
Files 4.5.2.3/templates/waterandstone/images/bg_topright.jpg and 4.5.4/templates/waterandstone/images/bg_topright.jpg differ
Files 4.5.2.3/templates/waterandstone/images/img_header.jpg and 4.5.4/templates/waterandstone/images/img_header.jpg differ
Files 4.5.2.3/templates/waterandstone/images/indent1.png and 4.5.4/templates/waterandstone/images/indent1.png differ
Files 4.5.2.3/templates/waterandstone/images/indent2.png and 4.5.4/templates/waterandstone/images/indent2.png differ
Files 4.5.2.3/templates/waterandstone/images/indent3.png and 4.5.4/templates/waterandstone/images/indent3.png differ
Files 4.5.2.3/templates/waterandstone/images/indent4.png and 4.5.4/templates/waterandstone/images/indent4.png differ
Files 4.5.2.3/templates/waterandstone/images/indent5.png and 4.5.4/templates/waterandstone/images/indent5.png differ
Files 4.5.2.3/templates/waterandstone/images/indent6.png and 4.5.4/templates/waterandstone/images/indent6.png differ
Files 4.5.2.3/templates/waterandstone/images/logo.gif and 4.5.4/templates/waterandstone/images/logo.gif differ
diff -ruN 4.5.2.3/templates/waterandstone/index.php 4.5.4/templates/waterandstone/index.php
--- 4.5.2.3/templates/waterandstone/index.php	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/templates/waterandstone/index.php	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,129 @@
+<?php
+defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
+// needed to seperate the ISO number from the language file constant _ISO
+$iso = explode( '=', _ISO );
+// xml prolog
+echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<?php mosShowHead(); ?>
+<?php
+if ( $my->id ) {
+	initEditor();
+}
+?>
+<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
+<link href="<?php echo $mosConfig_live_site;?>/templates/waterandstone/css/template_css.css" rel="stylesheet" type="text/css"/>
+</head>
+<body class="waterbody">
+
+<div align="center">
+<div id="container">
+	<div id="containerbg">
+		<div id="outerleft">
+			<!-- start logo -->
+			<div id="logo">
+			  <a href="index.php"><img src="<?php echo $mosConfig_live_site; ?>/templates/waterandstone/images/logo.gif" alt="logo image" border="0" align="top" /></a>
+			</div>
+			<!-- end logo -->
+			<!-- start top menu -->
+			<div id="topmenu">
+			<?php mosLoadModules('top',-1); ?>
+			</div>
+			<!-- end top menu.  -->
+			<!-- start image header -->
+			<div id="imgheader">
+			<img src="<?php echo $mosConfig_live_site; ?>/templates/waterandstone/images/img_header.jpg" alt="header image" />
+			</div>
+			<!-- end image header -->
+			<div id="container_inner">
+				<!-- start left column. -->
+				<div id="leftcol">
+				<?php mosLoadModules('left'); ?>
+				</div>
+				<div id="leftcolmenu">
+				<?php mosLoadModules('user1'); ?>
+				</div>
+				<!-- end left column. -->
+				<!-- start content top wrapper -->
+				<?php
+				if (mosCountModules('user2') >= 1 OR mosCountModules('user3') >= 1 ) {
+				?>
+				<div id="content_top_wrapper">
+					<!-- start content top 1.  -->
+					<div id="content_top1">
+					<?php mosLoadModules('user2'); ?>
+					</div>
+					<!-- end content top 1 -->
+					<!-- start content top 2.  -->
+					<div id="content_top2">
+					<?php mosLoadModules('user3'); ?>
+					</div>
+					<!-- end content top 2 -->
+				</div>
+				<?php
+				}
+				?>
+				<!-- end content top wrapper -->
+				<!-- start main body -->
+				<div id="content_main">
+					<?php mosPathWay(); ?>
+					<table width="519" border="0" cellspacing="0" cellpadding="0">
+					  <tr>
+						<td>
+						<?php mosMainBody(); ?>
+						</td>
+					  </tr>
+					</table>
+				</div>
+				<!-- end main body -->
+			</div>
+		</div>
+		<div id="outerright">
+			<!-- start right top header.  -->
+			<div id="rightcol_top">
+			<?php mosLoadModules('header'); ?>
+			</div>
+			<!-- end right top header.-->
+			<!-- start right column. -->
+			<div id="rightcol">
+			<?php mosLoadModules('newsflash'); ?>
+			<?php mosLoadModules('right'); ?>
+			<?php mosLoadModules('user4'); ?>
+			</div>
+			<!-- end right column. -->
+		</div>
+		
+		<div class="clear">
+		</div>
+		<?php
+		if (mosCountModules('banner') >= 1) {
+		?>
+			<!-- start banner.  -->
+			<div id="banner">
+			<?php mosLoadModules('banner'); ?>
+			</div>
+			<!-- end banner. -->
+		<?php
+		}
+		?>
+		
+		<div id="blackline">
+		</div>
+		<div class="clear">
+		</div>
+		<div id="bottompadding"></div>
+	</div>
+	<!-- copyright notice -->
+	<div id="copyright">
+	<?php include_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/footer.php' ); ?>
+	</div>
+
+</div>
+</div>
+
+<?php mosLoadModules('debug', -1);?>
+</body>
+</html>
diff -ruN 4.5.2.3/templates/waterandstone/templateDetails.xml 4.5.4/templates/waterandstone/templateDetails.xml
--- 4.5.2.3/templates/waterandstone/templateDetails.xml	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/templates/waterandstone/templateDetails.xml	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<mosinstall type="template" version="4.5.3">
+	<name>waterandstone</name>
+	<creationDate>26/11/05</creationDate>
+	<author>waterandstone</author>
+	<copyright>GNU/GPL</copyright>
+	<authorEmail>info@waterandstone.com</authorEmail>
+	<authorUrl>http://www.waterandstone.com</authorUrl>
+	<version>1.1</version>
+	<description>The Water and Stone Grey Template optimized for 1024px width resolution for use with any type of website with easy customization</description>
+	<files>
+		<filename>index.php</filename>
+		<filename>template_thumbnail.png</filename>
+	</files>
+	<images>
+		<filename>images/bg_body.jpg</filename>
+		<filename>images/bg_header.jpg</filename>
+		<filename>images/bg_inside.jpg</filename>
+		<filename>images/bg_leftcol.jpg</filename>
+		<filename>images/bg_mainlevel.gif</filename>
+		<filename>images/bg_mainlevel_right.gif</filename>
+		<filename>images/bg_module.jpg</filename>
+		<filename>images/bg_module_contenttop.jpg</filename>
+		<filename>images/bg_pagenav.jpg</filename>
+		<filename>images/bg_spacer.gif</filename>
+		<filename>images/bg_topright.jpg</filename>
+		<filename>images/img_header.jpg</filename>
+		<filename>images/indent1.png</filename>
+		<filename>images/indent2.png</filename>
+		<filename>images/indent3.png</filename>
+		<filename>images/indent4.png</filename>
+		<filename>images/indent5.png</filename>
+		<filename>images/indent6.png</filename>
+		<filename>images/logo.gif</filename>
+		</images>
+	<css>
+		<filename>css/template_css.css</filename>
+	</css>
+</mosinstall>
Files 4.5.2.3/templates/waterandstone/template_thumbnail.png and 4.5.4/templates/waterandstone/template_thumbnail.png differ
diff -ruN 4.5.2.3/templates/waterandstone800/css/template_css.css 4.5.4/templates/waterandstone800/css/template_css.css
--- 4.5.2.3/templates/waterandstone800/css/template_css.css	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/templates/waterandstone800/css/template_css.css	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,943 @@
+/* ---------------------
+basic layout
+--------------------- */
+
+* {
+	font-family: Arial, Helvetica, sans-serif;
+}
+
+.waterbody {
+	background:#CCCCCC url(../images/bg_body.jpg) repeat-x left top;
+	margin:0;
+	color:#333333;
+}
+
+div,
+td,
+p {
+	font-size:12px;
+	line-height:18px;
+	color:#333333;
+}
+
+a,
+a:link,
+a:active,
+a:visited {
+	text-decoration:underline;
+	color:#000000;
+}
+
+a:hover {
+	text-decoration:underline;
+}
+
+ul {
+	margin: 5px;
+	padding: 5px;
+	list-style: none;
+	list-style-type: square;
+}
+
+li {
+	line-height: 18px;
+	padding-left: 5px;
+	padding-top: 0px;
+	list-style-position: inside;
+}
+
+/** To center the objects **/
+.center {
+	text-align:center!important;
+}
+
+/** clear the banner to make it sit in the bottom **/
+.clear {
+	clear:both;
+}
+
+/* ---------------------
+template layout
+--------------------- */
+
+/** wrapper to make the page center **/
+#container {
+	width:760px;
+	margin: 55px auto;
+	padding:0;
+	text-align: left;
+}
+
+/**
+hold background, it should be float:left
+that's way we can not put it in #container
+**/
+#containerbg {
+	width: 760px;
+	background:transparent url(../images/bg_inside.jpg) repeat-y left top;
+	float:left;
+}
+
+#outerleft {
+	position:relative;
+	float:left;
+	clear:left;
+	width:590px;
+	
+}
+
+#outerright {
+	position:relative;
+	width:170px;
+	float:right;
+	clear:right;
+}
+
+#logo {
+	position:relative;
+	width:100%;
+	height:74px;
+	float:left;
+	background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top;
+}
+
+/** div container for top menu. position:top **/
+#topmenu {
+	position:relative;
+	float:left;
+	clear:left;
+	background-color:#000000;
+	width: 100%;
+}
+
+/** div container for image header **/
+#imgheader {
+	position:relative;
+	float:left;
+	clear:left;
+	width:100%;
+	height:99px;
+	background-color: #000000;
+}
+
+#container_inner {
+	position:relative;
+	float:left;
+	clear:left;
+	width:590px;
+}
+
+/** div container for left column **/
+#leftcol {
+	position:relative;
+	float:left;
+	clear:left;
+	width:170px;
+	background:transparent url(../images/bg_leftcol.jpg) repeat-y left top;
+}
+
+#leftcolmenu {
+	position:relative;
+	background:transparent url(../images/bg_leftcol.jpg) repeat-y left top;
+	overflow:auto;
+}
+
+
+/** div wrapper for user2 & user3 **/
+#content_top_wrapper {
+	position:relative;
+	float:right;
+	clear:right;
+	width:405px;
+	display:inline;
+	margin: 4px 6px 0 0;
+}
+
+/** div container for position:user2 **/
+#content_top1 {
+	position:relative;
+	float:left;
+	clear:left;
+	width:200px;
+}
+
+/** div container for position:user3 **/
+#content_top2 {
+	position:relative;
+	float:right;
+	clear:right;
+	width:200px;
+}
+
+/** div container for mainbody **/
+#content_main {
+	position:relative;
+	float:left;
+	width:400px;
+	margin:10px 0 20px 10px;
+	background-color:#FFFFFF;
+	overflow:auto;
+	word-wrap:break-word;
+}
+
+/** div container for right column **/
+#rightcol_top,
+#rightcol {
+	float:left;
+	clear:left;
+	width:168px;
+	margin:0 0 0 1px;
+	display:inline;
+	overflow:auto;
+}
+
+/** div container for right column position:header **/
+#rightcol_top {
+	height:70px;
+	min-height:70px;
+	background:transparent url(../images/bg_topright.jpg) no-repeat center top;
+}
+
+/** div container for banner position:banner **/
+#banner {
+	position:relative;
+	clear:left;
+	float:left;
+	width:590px;
+	height:65px;
+	min-height:65px;
+	color:#FFFFFF;
+	font-size:9px;
+	background-color: #333333;
+	display:block;
+	text-align:center!important;
+	vertical-align:middle;
+	padding:5px 0 0 0;
+	margin-top:20px;
+}
+
+#blackline {
+	position:relative;
+	clear:left;
+	float:left;
+	width:590px;
+	height:10px;
+	min-height:10px;
+	background-color: #000000;
+	color:#FFFFFF;
+	font-size:10px;
+	margin-top:20px;
+}
+
+
+/** copyright **/
+#copyright {
+	position:relative;
+	width:760px;
+	display:block;
+	clear:both;
+	float:left;
+}
+
+#copyright div {
+	color:#666666;
+	font-size:10px;
+	font-weight:bold;
+	display:block!important;
+	width:760px;
+	float:left;
+	clear:left;
+	margin:-5px 0 0 0;
+	text-align:left;
+}
+
+
+/* ---------------------
+mambo content layout
+--------------------- */
+
+/** pathway block **/
+span.pathway {
+	display:block;
+	text-align:left;
+	color:#000000;
+	font-size:10px;
+	font-weight:bold;
+	border-bottom-width: 1px;
+	border-bottom-style: solid;
+	border-bottom-color: #E5E5E5;
+	height:20px;
+	margin-bottom:10px;
+}
+
+/** content title **/
+.componentheading {
+	font-family:Georgia, "Times New Roman", Times, serif;
+	color:#000000;
+	font-size: 20px;
+	line-height:25px;
+	padding: 5px 0 5px 0;
+	display:block;
+}
+
+.contentheading,
+.contentpagetitle,
+a.contentpagetitle:link,
+a.contentpagetitle:active,
+a.contentpagetitle:visited {
+	font-family: Arial, Helvetica, sans-serif;
+	font-size:16px;
+	color:#3973AC;
+	font-weight: bold;
+	padding-top: 25px;
+	background-color:inherit;
+	display:block;
+}
+
+.contentpaneopen {
+	width:100%;
+}
+
+
+.buttonheading {
+	width: 16px!important;
+	text-align:right;
+}
+
+
+td.sectiontableheader {
+	font-weight: bold;
+}
+
+.category, .categorytitle {
+	font-weight: bold;
+	color:#3973AC;
+	background-color:inherit;
+}
+
+.sectiontableentry1 {
+	background-color: #EFEFEF;
+	padding: 2px;
+	color:#333333;
+	
+}
+
+.sectiontableentry2 {
+	background-color: #FFFFFF;
+	padding: 2px;
+	color:#333333;
+}
+
+tr.sectiontableentry1 td,
+tr.sectiontableentry2 td {
+	word-wrap:break-word;
+}
+
+/** blog Styles **/
+.blogsection {
+	color:#3973AC;
+	background-color:inherit;
+}
+
+.blog_more {
+	font-weight: bold;
+	line-height: 25px;
+	padding-top: 20px;
+	color: #3973AC;
+	border-bottom: 1px solid #E5E5E5;
+	background-color:inherit;
+}
+
+/** small text in content **/
+.small {
+	color:#999999;
+	font-size:10px;
+	font-weight: bold;
+	background-color:inherit;
+}
+
+/** date info in content **/
+#content_main .createdate {
+	color:#4A87C4;
+	font-size:10px;
+	padding: 0 0 15px 0;
+	line-height:8px;
+	background-color:inherit;
+}
+
+#content_main .modifydate {
+	color:#999999;
+	font-size:10px;
+	padding: 0;
+	background-color:inherit;
+}
+
+
+
+/** toc page navigation  **/
+.pagenav_prev,
+.pagenav_next {
+	font-size:11px;
+}
+
+
+/** content item navigation  **/
+.pagenavbar  {
+	display:block;
+	width:100%;
+	background-color:inherit;
+	height:20px;
+	line-height:25px;
+	text-align:right;
+	letter-spacing:2px;
+	color:#999999!important;
+	clear:both;
+	font-size: 11px!important;
+	margin-top: 10px;
+	background-image: url(../images/bg_pagenav.jpg);
+	background-repeat: repeat-x;
+	background-position: center bottom;	
+}
+
+.pagenav {
+	height:20px;
+	line-height:25px;
+	text-align:right;
+	letter-spacing:2px;
+	color:#999999;
+	clear:both;
+	font-size: 11px;
+	margin-left: 0;
+	margin-right: 0;
+	background-color:inherit;
+	
+}
+
+.back_button {
+	display:block;
+	text-align:left;
+	font-weight:bold;
+	font-size:12px;
+	width:100%;
+	margin-bottom:10px;
+	letter-spacing:2px;
+}
+
+/** highlight word search result **/
+.highlight {
+	font-weight:bold;
+	background-color: #FFFF00;
+	padding: 2px 0 2px 0;
+	
+}
+
+/** table of content layout **/
+table.contenttoc {
+	border:1px solid #000000;
+	padding:1px;
+	display:block;
+	width:130px;
+	margin: 0 0 10px 10px;
+}
+
+/** table of content header **/
+.contenttoc th {
+	color:#FFFFFF;
+	background-color:#666666;
+	font-size:11px;
+	display:block;
+	width:124px;
+}
+
+/** unordered list for latest news module **/
+ul.latestnews li,ul.mostread li {
+    line-height: 18px;
+	font-size:11px;
+	font-weight:bold;
+	list-style-type: none;
+	list-style-position: outside;
+}
+
+
+/** fix opera table width for content list in table category**/
+table.contentpane td.contentdescription {
+	width:100%!important;
+}
+
+
+/* ---------------------
+Links
+--------------------- */
+
+/** any left column link **/
+#leftcol a:link,
+#leftcol a:active,
+#leftcol a:visited,
+#leftcolmenu a:link,
+#leftcolmenu a:active,
+#leftcolmenu a:visited
+ {
+	color:#FFFFFF;
+}
+
+a.pagenav:link ,
+a.pagenav_next:link,
+a.pagenav_pre:link,
+div.back_button a,
+div.back_button a:link,
+a.latestnews:link,
+a.latestnews:active,
+a.latestnews:visited,
+a.mostread:link,
+a.mostread:active,
+a.mostread:visited {
+	text-decoration:none;
+}
+
+/*** read more link ***/
+.readon,
+a.readon:link,
+a.readon:active,
+a.readon:visited {
+	color:#666666;
+	font-weight:bold;
+	text-align:left;
+	margin-top:10px;
+	letter-spacing: 2px;
+	font-size:10px;
+	text-decoration:none;
+}
+
+/*** blog links ***/
+a.blogsection:link,
+a.blogsection:active,
+a.blogsection:visited {
+	color:#3973AC;
+	text-decoration:none;
+}
+
+/** generic menu item link **/
+a.mainlevel:link,
+a.mainlevel:active,
+a.mainlevel:visited,
+a.sublevel:link,
+a.sublevel:active,
+a.sublevel:visited {
+	color:#FFFFFF;
+	text-decoration:none;
+	font-size:11px;
+	line-height: 27px;
+}
+
+/** generic menu item link on mouseover **/
+a.mainlevel:hover,
+#leftcol a.mainlevel:hover,
+#leftcolmenu a.mainlevel:hover {
+	background-color:#484848;
+	color:#FFFFFF!important;
+	text-decoration:none!important;
+}
+
+/** specific top right column menu item link **/
+a.mainlevel-right:link,
+a.mainlevel-right:active,
+a.mainlevel-right:visited,
+a.sublevel-right:link,
+a.sublevel-right:active,
+a.sublevel-right:visited {
+	color:#000000;
+	text-decoration:none;
+	font-size:11px;
+}
+
+/** specific top right column menu item link on mouseover **/
+a.mainlevel-right:hover {
+	background-color:#CCCCCC;
+	text-decoration:none;
+}
+
+
+/** pathway link item **/
+a.pathway:link,
+a.pathway:link,
+a.pathway:active,
+a.pathway:visited {
+	color:#999999;
+	text-decoration:none;
+}
+
+/** table of content list **/
+a.toclink:link,
+a.toclink:active,
+a.toclink:visited {
+	color:#3973AC;
+	font-size:11px;
+	padding:2px 10px 2px 10px;
+	display:block;
+	text-decoration:none;
+}
+
+.pagenavbar a:link,
+.pagenavbar a:active,
+.pagenavbar a:visited  {
+	letter-spacing:2px;
+	color:#000000;
+	font-size: 11px;
+	text-decoration: none;
+	
+	
+}
+
+.pagenavbar a:hover {
+	color:#3973AC;
+}
+
+/** latestnews and popular **/
+.latestnews,
+.mostread {
+	color:#000000;
+}
+
+a.latestnews:link,
+.mostread a:link,
+.latestnews a:active,
+.mostread a:active,
+.latestnews a:hover,
+.mostread a:hover,
+.latestnews a:visited,
+.mostread a:visited {
+	color:#000000;
+	text-decoration:underline;
+}
+
+/** underline on hover **/
+a.toclink:hover,
+a.latestnews:hover,
+a.mostread:hover,
+a.pathway:hover,
+a.sublevel:hover,
+a.sublevel-right:hover,
+a.blogsection:hover,
+a.readon:hover,
+a.pagenav:hover ,
+a.pagenav_next:hover,
+a.pagenav_pre:hover,
+a.latestnews:hover {
+	text-decoration:underline;
+	color:#3973AC;
+	background-color:inherit;
+}
+
+#leftcolmenu a:hover,
+#leftcol a:hover {
+	color: #93B7DB;
+	text-decoration:underline;
+}
+
+
+/* ---------------------
+mambo module layout
+--------------------- */
+
+/** general module table **/
+table.moduletable,
+#leftcol table,
+#rightcol table {
+	width:100%;
+	float:left;
+	clear:left;
+}
+
+/** general module table **/
+#rightcol table,
+#leftcol table td {
+	font-size:11px !important;
+	color:#CCCCCC;
+}
+
+#rightcol table,
+#rightcol table td {
+	font-size:11px !important;
+	color:#030303;
+}
+
+/** general module title **/
+table.moduletable th,
+table.moduletable-bgimg th,
+table.moduletable-right th {
+	border: 1px solid #000000;	
+	color:#FFFFFF;
+	font-family: Georgia, "Times New Roman", Times, serif;
+	font-size:15px;
+	line-height:20px;
+	background-color:#484848;
+	height:25px;
+	text-align:left;
+	padding-left:15px;
+	font-weight:normal;
+}
+
+/** specific module td table for content top 1 and 2. 
+position:user2 an user3 **/
+#content_top1 table.moduletable td,
+#content_top2 table.moduletable td {
+	background:transparent url(../images/bg_module_contenttop.jpg) no-repeat center bottom;
+	height:100px;
+	min-height:100px;
+	vertical-align:top;
+}
+
+/** right column module td **/
+#rightcol table.moduletable td   {
+	padding:5px;
+}
+
+/** generic menu item **/
+.mainlevel  {
+	display:block;
+	height:25px;
+	line-height:25px;
+	padding-left:15px;
+	background:transparent url(../images/bg_mainlevel.gif) repeat-x center top;
+	font-weight:bold;
+	text-decoration:none;
+}
+
+/** specific left column form **/
+#leftcol form {
+	margin-left:15px;
+}
+
+/** specific left column form **/
+#leftcol .button {
+	font-size:11px;
+	color:#FFFFFF;
+	background-color:#585858;
+	border-right: 1px solid #333333;
+	border-bottom: 1px solid #333333;
+	border-left: 1px solid #888888;
+	border-top: 1px solid #888888;
+	width:140px;
+}
+
+
+/** specific left column form **/
+#leftcol .inputbox {
+	font-size:11px;
+	font-weight: bold;
+}
+
+/** module styles in #leftcol **/
+#leftcol table.moduletable td {
+	color:#DADADA;
+	font-size:11px;
+}
+
+/** search div in top right column. position:user4 **/
+div.search {
+	margin-left:10px;
+}
+
+/** search field in search div **/
+.search .inputbox {
+	width:130px;
+	border: 1px solid #000000;
+}
+
+/* ---------------------
+mambo form layout
+--------------------- */
+
+/** left column input form **/
+#leftcol .inputbox {
+	font-size:11px;
+	/*border: 1px solid #000000;*/
+	margin-bottom:2px;
+}
+
+
+
+/** input button html tag **/
+.button,
+#rightcol .button {
+	font-size:11px;
+	text-transform:uppercase;
+	color:#666666;
+	font-weight:bold;
+	background-color:#CCCCCC;
+	border-top: 1px solid #FFFFFF;
+	border-right: 1px solid #999999;
+	border-bottom: 1px solid #999999;
+	border-left: 1px solid #FFFFFF;
+}
+
+#rightcol .button {
+	background-color:#E5E5E5;
+}
+
+.search  {
+	margin-top:30px;
+}
+
+
+
+/* 
+mambo top menu layout
+you need to add menu class suffix: -nav
+*/
+
+/** unordered list top menu **/
+ul#mainlevel-nav
+{
+	list-style: none;
+	padding: 0;
+	margin: 0;
+	font-size: 0.8em;
+}
+
+/** unordered list item for top menu **/
+ul#mainlevel-nav li
+{
+	display: block;
+	padding-left: 0px;
+	padding-right: 0px;
+	float: left;
+	margin: 0;
+	width: auto !important;
+	font-size: 11px;
+	line-height: 23px;
+	white-space: nowrap;
+}
+
+/** unordered list item link for top menu **/
+ul#mainlevel-nav li a
+{
+	display: block;
+	padding-left: 15px;
+	padding-right: 15px;
+	text-decoration: none;
+	color: #FFFFFF;
+	font-weight:bold;
+}
+
+/** unordered list item link for top menu for firefox only **/
+#topmenu>ul#mainlevel-nav li a {
+	width: auto;
+}
+
+/** unordered list item for top menu for firefox only **/
+ul#mainlevel-nav li a:hover {
+	background: #535353;
+	text-decoration:none;
+}
+
+
+ /*
+specific right column menu item. position:right
+you need to add menu class suffix: right
+ */
+.mainlevel-right {
+	display:block;
+	height:25px;
+	line-height:25px;
+	padding-left:15px;
+	background:#EEF0F0 url(../images/bg_mainlevel_right.gif) repeat-x center top;
+	font-weight:bold;
+}
+
+/** 
+moduletable specific with background image
+you need to add modules class suffix: -bgimg
+ **/
+table.moduletable-bgimg {
+	background:transparent url(../images/bg_module.jpg) no-repeat center bottom;
+	float:left;
+	clear:left;
+	width:100%;
+}
+
+table.moduletable-bgimg td {
+	padding: 5px ;
+	font-size:11px;
+}
+
+table.moduletable-bgimg td td {
+	padding: 0!important;
+}
+
+/** for polls **/
+.poll {
+	font-size:11px;
+	line-height: 16px;
+}
+
+table.pollstableborder .sectiontableentry2 {
+	background-color:transparent; 
+	text-align:left; 
+}
+table.pollstableborder .sectiontableentry1 {
+	background-color:#F5F5F5; 
+	text-align:left;
+}
+
+.moduletable_bgimg table.pollstableborder td.sectiontableentry2,
+.moduletable_bgimg table.pollstableborder td.sectiontableentry1 {
+	background-color:transparent!important; 
+	text-align:left!important; 
+}
+
+/** hack to make any div or table inside content will not stretcg outside area*/
+table.contentpane  table table input.inputbox {
+	max-width:80px;
+	width:80px;
+}
+
+table.contentpane {
+	width:390px!important;
+}
+
+.contentpaneopen {
+	width:100%!important;
+}
+
+.contentpaneopen tr.sectiontableentry2 td,
+.contentpaneopen tr.sectiontableentry1 td{
+	display:block;
+	width:390px!important;
+}
+
+#con_global div, #con_global table,
+#hp_view_standard_photo_con1 div div,
+#hp_view_agen_con {
+	width:390px!important;
+	text-align:left;
+}
+
+#hp_view_standard_photo_con1 div div,
+#hp_view_standard_photo_con2,
+#hp_view_standard_photo_con3,
+#hp_view_agen_con {
+	width:390px!important;
+	text-align:left;
+}
+
+table.contentpane  table  {
+	width:390px!important;
+	text-align:left;
+}
+
+table.contentpane  td.contentheading  {
+	width:200px!important;
+}
+
+table.contentpane  td.buttonheading  {
+	width:150px!important;
+}
+
+#bottompadding	{
+	position:relative;
+	width:760px;
+	display:block;
+	height:20px;
+	margin-top:-100px;
+}
\ No newline at end of file
Files 4.5.2.3/templates/waterandstone800/images/bg_body.jpg and 4.5.4/templates/waterandstone800/images/bg_body.jpg differ
Files 4.5.2.3/templates/waterandstone800/images/bg_header.jpg and 4.5.4/templates/waterandstone800/images/bg_header.jpg differ
Files 4.5.2.3/templates/waterandstone800/images/bg_inside.jpg and 4.5.4/templates/waterandstone800/images/bg_inside.jpg differ
Files 4.5.2.3/templates/waterandstone800/images/bg_leftcol.jpg and 4.5.4/templates/waterandstone800/images/bg_leftcol.jpg differ
Files 4.5.2.3/templates/waterandstone800/images/bg_mainlevel.gif and 4.5.4/templates/waterandstone800/images/bg_mainlevel.gif differ
Files 4.5.2.3/templates/waterandstone800/images/bg_mainlevel_right.gif and 4.5.4/templates/waterandstone800/images/bg_mainlevel_right.gif differ
Files 4.5.2.3/templates/waterandstone800/images/bg_module_contenttop.jpg and 4.5.4/templates/waterandstone800/images/bg_module_contenttop.jpg differ
Files 4.5.2.3/templates/waterandstone800/images/bg_module.jpg and 4.5.4/templates/waterandstone800/images/bg_module.jpg differ
Files 4.5.2.3/templates/waterandstone800/images/bg_pagenav.jpg and 4.5.4/templates/waterandstone800/images/bg_pagenav.jpg differ
Files 4.5.2.3/templates/waterandstone800/images/bg_spacer.gif and 4.5.4/templates/waterandstone800/images/bg_spacer.gif differ
Files 4.5.2.3/templates/waterandstone800/images/bg_topright.jpg and 4.5.4/templates/waterandstone800/images/bg_topright.jpg differ
Files 4.5.2.3/templates/waterandstone800/images/img_header.jpg and 4.5.4/templates/waterandstone800/images/img_header.jpg differ
Files 4.5.2.3/templates/waterandstone800/images/indent1.png and 4.5.4/templates/waterandstone800/images/indent1.png differ
Files 4.5.2.3/templates/waterandstone800/images/indent2.png and 4.5.4/templates/waterandstone800/images/indent2.png differ
Files 4.5.2.3/templates/waterandstone800/images/indent3.png and 4.5.4/templates/waterandstone800/images/indent3.png differ
Files 4.5.2.3/templates/waterandstone800/images/indent4.png and 4.5.4/templates/waterandstone800/images/indent4.png differ
Files 4.5.2.3/templates/waterandstone800/images/indent5.png and 4.5.4/templates/waterandstone800/images/indent5.png differ
Files 4.5.2.3/templates/waterandstone800/images/indent6.png and 4.5.4/templates/waterandstone800/images/indent6.png differ
Files 4.5.2.3/templates/waterandstone800/images/logo.gif and 4.5.4/templates/waterandstone800/images/logo.gif differ
diff -ruN 4.5.2.3/templates/waterandstone800/index.php 4.5.4/templates/waterandstone800/index.php
--- 4.5.2.3/templates/waterandstone800/index.php	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/templates/waterandstone800/index.php	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,132 @@
+<?php
+defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
+// needed to seperate the ISO number from the language file constant _ISO
+$iso = explode( '=', _ISO );
+// xml prolog
+echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<?php mosShowHead(); ?>
+<?php
+if ( $my->id ) {
+	initEditor();
+}
+?>
+<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
+<link href="<?php echo $mosConfig_live_site;?>/templates/waterandstone800/css/template_css.css" rel="stylesheet" type="text/css"/>
+</head>
+<body class="waterbody">
+
+<div align="center">
+<div id="container">
+	<div id="containerbg">
+		<div id="outerleft">
+			<!-- start logo -->
+			<div id="logo">
+			  <a href="index.php"><img src="<?php echo $mosConfig_live_site; ?>/templates/waterandstone800/images/logo.gif" alt="logo image" border="0" align="top" /></a>
+			</div>
+			<!-- end logo -->
+			<!-- start top menu. position:top -->
+			<div id="topmenu">
+			<?php mosLoadModules('top',-1); ?>
+			</div>
+			<!-- end top menu. position:top -->
+			<!-- start image header -->
+			<div id="imgheader">
+			<img src="<?php echo $mosConfig_live_site; ?>/templates/waterandstone800/images/img_header.jpg" alt="header image" />
+			</div>
+			<!-- end image header -->
+			<div id="container_inner">
+				<!-- start left column.position:left,user1 -->
+				<div id="leftcol">
+				<?php mosLoadModules('left'); ?>
+				</div>
+				<div id="leftcolmenu">
+				<?php mosLoadModules('user1'); ?>
+				</div>
+				<!-- end left column.position:left -->
+				<!-- start content top wrapper -->
+				<?php
+				if (mosCountModules('user2') >= 1 OR mosCountModules('user3') >= 1 ) {
+				?>
+				<div id="content_top_wrapper">
+					<!-- start content top 1. position:user2 -->
+					<div id="content_top1">
+					<?php mosLoadModules('user2'); ?>
+					</div>
+					<!-- end content top 1 -->
+					<!-- start content top 2. position:user3 -->
+					<div id="content_top2">
+					<?php mosLoadModules('user3'); ?>
+					</div>
+					<!-- end content top 2 -->
+				</div>
+				<?php
+				}
+				?>
+				<!-- end content top wrapper -->
+				<!-- start main body -->
+				<div id="content_main">
+				<?php mosPathWay(); ?>
+				<table width="395" border="0" cellspacing="0" cellpadding="0">
+				  <tr>
+					<td>
+					<?php mosMainBody(); ?>
+					</td>
+				  </tr>
+				</table>
+				</div>
+				<!-- end main body -->
+			</div>
+		</div>
+		<div id="outerright">
+			<!-- start right top header. position:header -->
+			<div id="rightcol_top">
+			<?php mosLoadModules('header'); ?>
+			</div>
+			<!-- end right top header.-->
+			<!-- start right column. position:newsflash,right,user4 -->
+			<div id="rightcol">
+			<?php mosLoadModules('newsflash'); ?>
+			<?php mosLoadModules('right'); ?>
+			<?php mosLoadModules('user4'); ?>
+			</div>
+			<!-- end right column. -->
+		</div>
+		<!-- start banner. position:banner -->
+		<div class="clear">
+		</div>
+		<?php
+		if (mosCountModules('banner') >= 1) {
+		?>
+		<div id="banner">
+			<div align="left">
+			<?php mosLoadModules('banner'); ?>
+			</div>
+		</div>
+		<?php
+		} else {
+		?>
+		<div id="blackline">
+		</div>
+		<?php
+		}
+		?>
+		<!-- end banner. -->
+		<div class="clear">
+		</div>
+		<div id="bottompadding">
+		</div>
+	</div>
+	<!-- copyright notice -->
+	<div id="copyright">
+	<?php include_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/footer.php' ); ?>
+	</div>
+
+</div>
+</div>
+<?php mosLoadModules('debug', -1);?>
+</body>
+</html>
diff -ruN 4.5.2.3/templates/waterandstone800/templateDetails.xml 4.5.4/templates/waterandstone800/templateDetails.xml
--- 4.5.2.3/templates/waterandstone800/templateDetails.xml	1969-12-31 18:00:00.000000000 -0600
+++ 4.5.4/templates/waterandstone800/templateDetails.xml	2006-08-01 01:34:25.000000000 -0500
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<mosinstall type="template" version="4.5.3">
+	<name>waterandstone800</name>
+	<creationDate>26/11/05</creationDate>
+	<author>waterandstone</author>
+	<copyright>GNU/GPL</copyright>
+	<authorEmail>nalisa@waterandstone.com</authorEmail>
+	<authorUrl>http://www.waterandstone.com</authorUrl>
+	<version>1.1</version>
+	<description>The Water and Stone Grey Template optimized for 800px width resolution for use with any type of website with easy customization</description>
+	<files>
+		<filename>index.php</filename>
+		<filename>template_thumbnail.png</filename>
+	</files>
+	<images>
+		<filename>images/bg_body.jpg</filename>
+		<filename>images/bg_header.jpg</filename>
+		<filename>images/bg_inside.jpg</filename>
+		<filename>images/bg_leftcol.jpg</filename>
+		<filename>images/bg_mainlevel.gif</filename>
+		<filename>images/bg_mainlevel_right.gif</filename>
+		<filename>images/bg_module.jpg</filename>
+		<filename>images/bg_module_contenttop.jpg</filename>
+		<filename>images/bg_pagenav.jpg</filename>
+		<filename>images/bg_spacer.gif</filename>
+		<filename>images/bg_topright.jpg</filename>
+		<filename>images/img_header.jpg</filename>
+		<filename>images/indent1.png</filename>
+		<filename>images/indent2.png</filename>
+		<filename>images/indent3.png</filename>
+		<filename>images/indent4.png</filename>
+		<filename>images/indent5.png</filename>
+		<filename>images/indent6.png</filename>
+		<filename>images/logo.gif</filename>
+		</images>
+	<css>
+		<filename>css/template_css.css</filename>
+	</css>
+</mosinstall>
Files 4.5.2.3/templates/waterandstone800/template_thumbnail.png and 4.5.4/templates/waterandstone800/template_thumbnail.png differ
