Index: typo3/sysext/rtehtmlarea/ext_localconf.php
===================================================================
--- typo3/sysext/rtehtmlarea/ext_localconf.php	(révision 4248)
+++ typo3/sysext/rtehtmlarea/ext_localconf.php	(copie de travail)
@@ -60,16 +60,12 @@
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['DefaultInline'] = array();
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['DefaultInline']['objectReference'] = 'EXT:'.$_EXTKEY.'/extensions/DefaultInline/class.tx_rtehtmlarea_defaultinline.php:&tx_rtehtmlarea_defaultinline';
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['DefaultInline']['addIconsToSkin'] = 1;
-$TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['InlineCSS'] = array();
-$TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['InlineCSS']['objectReference'] = 'EXT:'.$_EXTKEY.'/extensions/InlineCSS/class.tx_rtehtmlarea_inlinecss.php:&tx_rtehtmlarea_inlinecss';
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['BlockElements'] = array();
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['BlockElements']['objectReference'] = 'EXT:'.$_EXTKEY.'/extensions/BlockElements/class.tx_rtehtmlarea_blockelements.php:&tx_rtehtmlarea_blockelements';
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['BlockElements']['addIconsToSkin'] = 0;
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['DefinitionList'] = array();
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['DefinitionList']['objectReference'] = 'EXT:'.$_EXTKEY.'/extensions/DefinitionList/class.tx_rtehtmlarea_definitionlist.php:&tx_rtehtmlarea_definitionlist';
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['DefinitionList']['addIconsToSkin'] = 0;
-$TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['DynamicCSS'] = array();
-$TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['DynamicCSS']['objectReference'] = 'EXT:'.$_EXTKEY.'/extensions/DynamicCSS/class.tx_rtehtmlarea_dynamiccss.php:&tx_rtehtmlarea_dynamiccss';
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['BlockStyle'] = array();
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['BlockStyle']['objectReference'] = 'EXT:'.$_EXTKEY.'/extensions/BlockStyle/class.tx_rtehtmlarea_blockstyle.php:&tx_rtehtmlarea_blockstyle';
 $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['plugins']['CharacterMap'] = array();
Index: typo3/sysext/rtehtmlarea/extensions/DynamicCSS/class.tx_rtehtmlarea_dynamiccss.php
===================================================================
--- typo3/sysext/rtehtmlarea/extensions/DynamicCSS/class.tx_rtehtmlarea_dynamiccss.php	(révision 4248)
+++ typo3/sysext/rtehtmlarea/extensions/DynamicCSS/class.tx_rtehtmlarea_dynamiccss.php	(copie de travail)
@@ -1,61 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2007 Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
-*  All rights reserved
-*
-*  This script is part of the Typo3 project. The Typo3 project 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.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script 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.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/**
- * DynamicCSS extension for htmlArea RTE
- *
- * @author Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
- *
- * TYPO3 SVN ID: $Id$
- *
- */
-
-require_once(t3lib_extMgm::extPath('rtehtmlarea').'class.tx_rtehtmlareaapi.php');
-
-class tx_rtehtmlarea_dynamiccss extends tx_rtehtmlareaapi {
-
-	protected $extensionKey = 'rtehtmlarea';		// The key of the extension that is extending htmlArea RTE
-	protected $pluginName = 'DynamicCSS';			// The name of the plugin registered by the extension
-	protected $relativePathToLocallangFile = 'extensions/DynamicCSS/locallang.xml';	// Path to this main locallang file of the extension relative to the extension dir.
-	protected $relativePathToSkin = '';			// Path to the skin (css) file relative to the extension dir.
-	protected $htmlAreaRTE;					// Reference to the invoking object
-	protected $thisConfig;					// Reference to RTE PageTSConfig
-	protected $toolbar;					// Reference to RTE toolbar array
-	protected $LOCAL_LANG; 					// Frontend language array
-	
-	protected $pluginButtons = 'blockstyle';		// The comma-seperated list of button names that the extension id adding to the htmlArea RTE tollbar
-	protected $pluginLabels = 'blockstylelabel';		// The comma-seperated list of label names that the extension id adding to the htmlArea RTE tollbar
-								// The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
-	protected $convertToolbarForHtmlAreaArray = array (
-		'blockstylelabel'	=> 'I[style]',
-		'blockstyle'		=> 'DynamicCSS-class',
-		);
-	protected $requiresClassesConfiguration = true;		// True if the extension requires the PageTSConfig Classes configuration
-
-} // end of class
-
-if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/rtehtmlarea/extensions/DynamicCSS/class.tx_rtehtmlarea_dynamiccss.php']) {
-	include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/rtehtmlarea/extensions/DynamicCSS/class.tx_rtehtmlarea_dynamiccss.php']);
-}
-
-?>
\ No newline at end of file
Index: typo3/sysext/rtehtmlarea/extensions/DynamicCSS/locallang.xml
===================================================================
--- typo3/sysext/rtehtmlarea/extensions/DynamicCSS/locallang.xml	(révision 4248)
+++ typo3/sysext/rtehtmlarea/extensions/DynamicCSS/locallang.xml	(copie de travail)
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<!-- TYPO3 SVN ID: $Id$ -->
-<T3locallang>
-	<meta type="array">
-		<description>Labels for the DynamicCSS extension of htmlArea RTE</description>
-		<type>module</type>
-	</meta>
-	<data type="array">
-		<languageKey index="default" type="array">
-		</languageKey>
-	</data>
-	<orig_hash type="array">
-		<languageKey index="default" type="array">
-		</languageKey>
-	</orig_hash>
-	<orig_text type="array">
-		<languageKey index="default" type="array">
-		</languageKey>
-	</orig_text>
-</T3locallang>
\ No newline at end of file
Index: typo3/sysext/rtehtmlarea/extensions/InlineCSS/class.tx_rtehtmlarea_inlinecss.php
===================================================================
--- typo3/sysext/rtehtmlarea/extensions/InlineCSS/class.tx_rtehtmlarea_inlinecss.php	(révision 4248)
+++ typo3/sysext/rtehtmlarea/extensions/InlineCSS/class.tx_rtehtmlarea_inlinecss.php	(copie de travail)
@@ -1,61 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2007 Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
-*  All rights reserved
-*
-*  This script is part of the Typo3 project. The Typo3 project 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.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script 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.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/**
- * InlineCSS extension of htmlArea RTE
- *
- * @author Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
- *
- * TYPO3 SVN ID: $Id$
- *
- */
-
-require_once(t3lib_extMgm::extPath('rtehtmlarea').'class.tx_rtehtmlareaapi.php');
-
-class tx_rtehtmlarea_inlinecss extends tx_rtehtmlareaapi {
-
-	protected $extensionKey = 'rtehtmlarea';		// The key of the extension that is extending htmlArea RTE
-	protected $pluginName = 'InlineCSS';			// The name of the plugin registered by the extension
-	protected $relativePathToLocallangFile = 'extensions/InlineCSS/locallang.xml';	// Path to this main locallang file of the extension relative to the extension dir.
-	protected $relativePathToSkin = '';			// Path to the skin (css) file relative to the extension dir.
-	protected $htmlAreaRTE;					// Reference to the invoking object
-	protected $thisConfig;					// Reference to RTE PageTSConfig
-	protected $toolbar;					// Reference to RTE toolbar array
-	protected $LOCAL_LANG; 					// Frontend language array
-	
-	protected $pluginButtons = 'textstyle';			// The comma-seperated list of button names that the extension id adding to the htmlArea RTE tollbar
-	protected $pluginLabels = 'textstylelabel';		// The comma-seperated list of label names that the extension id adding to the htmlArea RTE tollbar
-								// The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
-	protected $convertToolbarForHtmlAreaArray = array (
-		'textstylelabel'	=> 'I[text_style]',
-		'textstyle'		=> 'InlineCSS-class',
-		);
-	protected $requiresClassesConfiguration = true;		// True if the extension requires the PageTSConfig Classes configuration
-
-} // end of class
-
-if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/rtehtmlarea/extensions/InlineCSS/class.tx_rtehtmlarea_inlinecss.php']) {
-	include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/rtehtmlarea/extensions/InlineCSS/class.tx_rtehtmlarea_inlinecss.php']);
-}
-
-?>
\ No newline at end of file
Index: typo3/sysext/rtehtmlarea/extensions/InlineCSS/locallang.xml
===================================================================
--- typo3/sysext/rtehtmlarea/extensions/InlineCSS/locallang.xml	(révision 4248)
+++ typo3/sysext/rtehtmlarea/extensions/InlineCSS/locallang.xml	(copie de travail)
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<!-- TYPO3 SVN ID: $Id$ -->
-<T3locallang>
-	<meta type="array">
-		<description>Labels for the Inline CSS plugin of htmlArea RTE</description>
-		<type>module</type>
-	</meta>
-	<data type="array">
-		<languageKey index="default" type="array">
-		</languageKey>
-	</data>
-	<orig_hash type="array">
-		<languageKey index="default" type="array">
-		</languageKey>
-	</orig_hash>
-	<orig_text type="array">
-		<languageKey index="default" type="array">
-		</languageKey>
-	</orig_text>
-</T3locallang>
\ No newline at end of file
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/DynamicCSS/dynamiccss.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/DynamicCSS/dynamiccss.js	(révision 4248)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/DynamicCSS/dynamiccss.js	(copie de travail)
@@ -1,366 +0,0 @@
-/***************************************************************
-*  Copyright notice
-*
-* (c) 2004 systemconcept.de. Authored by Holger Hees, sponsored by http://www.systemconcept.de.
-* (c) 2004-2008 Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project 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.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script 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.
-*
-*  This script is a modified version of a script published under the htmlArea License.
-*  A copy of the htmlArea License may be found in the textfile HTMLAREA_LICENSE.txt.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/*
- * Dynamic CSS Plugin for TYPO3 htmlArea RTE
- *
- * TYPO3 SVN ID: $Id$
- */
-DynamicCSS = HTMLArea.Plugin.extend({
-
-	constructor : function(editor, pluginName) {
-		this.base(editor, pluginName);
-	},
-
-		/*
-	 * This function gets called by the class constructor
-	 */
-	configurePlugin : function(editor) {
-		var editorNumber = editor._editorNumber;
-
-			/* Registering plugin "About" information */
-		var pluginInformation = {
-			version		: "1.9",
-			developer	: "Holger Hees & Stanislas Rolland",
-			developerUrl	: "http://www.fructifor.ca/",
-			copyrightOwner	: "Holger Hees & Stanislas Rolland",
-			sponsor		: "Fructifor Inc.",
-			sponsorUrl	: "System Concept GmbH & Fructifor Inc.",
-			license		: "GPL"
-		};
-		this.registerPluginInformation(pluginInformation);
-
-			/* Registering the dropdown list */
-		var buttonId = "DynamicCSS-class";
-		var dropDownConfiguration = {
-			id			: buttonId,
-			tooltip			: this.localize("DynamicCSSStyleTooltip"),
-			options			: {"":""},
-			action			: "onSelect",
-			refresh			: "generate",
-			context			: "*",
-			cssArray		: new Object(),
-			parseCount		: 1,
-			loaded			: false,
-			timeout			: null,
-			lastTag			: "",
-			lastClass		: "",
-			showTagFreeClasses	: RTEarea[editorNumber]["showTagFreeClasses"],
-			classesUrl		: RTEarea[editorNumber]["classesUrl"],
-			classesTag		: RTEarea[editorNumber]["classesTag"]
-		};
-		this.registerDropDown(dropDownConfiguration);
-
-		return true;
-	},
-
-	onSelect : function(editor, buttonId) {
-		var obj = this.editorConfiguration.customSelects[buttonId];
-		var tbobj = editor._toolbarObjects[buttonId];
-		var index = document.getElementById(tbobj.elementId).selectedIndex;
-		var className = document.getElementById(tbobj.elementId).value;
-
-		editor.focusEditor();
-		var blocks = this.getSelectedBlocks(editor);
-		for (var k = 0; k < blocks.length; ++k) {
-			var parent = blocks[k];
-			while (typeof(parent) != "undefined" && !HTMLArea.isBlockElement(parent) && parent.nodeName.toLowerCase() != "img") parent = parent.parentNode;
-			if (!k) var tagName = parent.tagName.toLowerCase();
-			if (parent.tagName.toLowerCase() == tagName) {
-				var cls = parent.className.trim().split(" ");
-				for (var i = cls.length; i > 0;) if(!HTMLArea.reservedClassNames.test(cls[--i])) HTMLArea._removeClass(parent,cls[i]);
-				if(className != 'none'){
-					HTMLArea._addClass(parent,className);
-					obj.lastClass = className;
-				}
-			}
-		}
-	},
-
-	getSelectedBlocks : function(editor) {
-		var block, range, i = 0, blocks = [];
-		if (HTMLArea.is_gecko && !HTMLArea.is_safari && !HTMLArea.is_opera) {
-			var sel = editor._getSelection();
-			try {
-				while (range = sel.getRangeAt(i++)) {
-					block = editor.getParentElement(sel, range);
-					blocks.push(block);
-				}
-			} catch(e) {
-				/* finished walking through selection */
-			}
-		} else {
-			blocks.push(editor.getParentElement());
-		}
-		return blocks;
-	},
-
-	onGenerate : function() {
-		var editor = this.editor;
-		var obj = editor.config.customSelects["DynamicCSS-class"];
-		if(HTMLArea.is_gecko) this.generate(editor);
-	},
-
-	onUpdateToolbar : function() {
-		var editor = this.editor;
-		var obj = editor.config.customSelects["DynamicCSS-class"];
-		if (HTMLArea.is_gecko && editor.getMode() === "wysiwyg" && editor.isEditable()) {
-			if(obj.loaded) {
-				this.updateValue(editor,obj);
-			} else {
-				if(obj.timeout) {
-					if(editor._iframe.contentWindow) { editor._iframe.contentWindow.clearTimeout(obj.timeout); } else { window.clearTimeout(obj.timeout); }
-					obj.timeout = null;
-				}
-				this.generate(editor);
-			}
-		} else if (editor.getMode() === "textmode") {
-			var select = document.getElementById(editor._toolbarObjects[obj.id].elementId);
-			select.disabled = true;
-			select.className = "buttonDisabled";
-		}
-	},
-
-	generate : function(editor) {
-		var obj = editor.config.customSelects["DynamicCSS-class"];
-		var classesUrl = obj["classesUrl"];
-		if (classesUrl && typeof(HTMLArea.classesLabels) == "undefined") {
-			var classesData = HTMLArea._getScript(0, false, classesUrl);
-			if (classesData) eval(classesData);
-		}
-			// Let us load the style sheets
-		if(obj.loaded) this.updateValue(editor,obj);
-			else this.getCSSArray(editor);
-	},
-
-	getCSSArray : function(editor) {
-		var obj = editor.config.customSelects["DynamicCSS-class"];
-		obj.cssArray = this.parseStyleSheet(editor);
-		if( !obj.loaded && obj.parseCount<17 ) {
-			var getCSSArrayLaterFunctRef = DynamicCSS.getCSSArrayLater(editor, this);
-			obj.timeout = editor._iframe.contentWindow ? editor._iframe.contentWindow.setTimeout(getCSSArrayLaterFunctRef, 200) : window.setTimeout(getCSSArrayLaterFunctRef, 200);
-			obj.parseCount++ ;
-		} else {
-			obj.timeout = null;
-			obj.loaded = true;
-			this.updateValue(editor,obj);
-		}
-	},
-
-	onMode : function(mode) {
-		var editor = this.editor;
-		if (mode == 'wysiwyg' && editor.isEditable()) {
-			var obj = editor.config.customSelects["DynamicCSS-class"];
-			if (obj.loaded) {
-				this.updateValue(editor,obj);
-			} else {
-				if(obj.timeout) {
-					if (editor._iframe.contentWindow) editor._iframe.contentWindow.clearTimeout(obj.timeout);
-						else window.clearTimeout(obj.timeout);
-					obj.timeout = null;
-				}
-			this.generate(editor);
-			}
-		}
-	},
-
-	updateValue : function(editor,obj) {
-		var cssClass, i;
-		if(!obj.loaded) {
-			if(obj.timeout) {
-				if(editor._iframe.contentWindow) editor._iframe.contentWindow.clearTimeout(obj.timeout);
-					else window.clearTimeout(obj.timeout);
-				obj.timeout = null;
-			}
-			this.generate(editor);
-		}
-		var cssArray = obj.cssArray;
-		var tagName = "body";
-		var className = "";
-		var parent = editor.getParentElement();
-		while(parent && typeof(parent) != "undefined" && !HTMLArea.isBlockElement(parent) && parent.nodeName.toLowerCase() != "img") parent = parent.parentNode;
-		if(parent) {
-			tagName = parent.nodeName.toLowerCase();
-			className = parent.className;
-			if(HTMLArea.reservedClassNames.test(className)) {
-				var cls = className.split(" ");
-				for (var i = cls.length; i > 0;) if(!HTMLArea.reservedClassNames.test(cls[--i])) className = cls[i];
-			}
-		}
-		if(obj.lastTag != tagName || obj.lastClass != className){
-			obj.lastTag = tagName;
-			obj.lastClass = className;
-			var select = document.getElementById(editor._toolbarObjects[obj.id].elementId);
-			while(select.options.length>0) select.options[select.length-1] = null;
-			select.options[0]=new Option(this.localize("Default"),'none');
-			if(cssArray){
-					// style class only allowed if parent tag is not body or editor is in fullpage mode
-				if(tagName != 'body' || editor.config.fullPage){
-					if(cssArray[tagName]){
-						for (cssClass in cssArray[tagName]){
-							if (cssArray[tagName].hasOwnProperty(cssClass)) {
-								if (cssClass == 'none') {
-									select.options[0] = new Option(cssArray[tagName][cssClass],cssClass);
-								} else {
-									select.options[select.options.length] = new Option(cssArray[tagName][cssClass],cssClass);
-									if (!editor.config.disablePCexamples && HTMLArea.classesValues && HTMLArea.classesValues[cssClass] && !HTMLArea.classesNoShow[cssClass]) select.options[select.options.length-1].setAttribute("style", HTMLArea.classesValues[cssClass]);
-								}
-							}
-						}
-					}
-					if (cssArray['all']){
-						for (cssClass in cssArray['all']){
-							if (cssArray['all'].hasOwnProperty(cssClass)) {
-								select.options[select.options.length] = new Option(cssArray['all'][cssClass],cssClass);
-								if (!editor.config.disablePCexamples && HTMLArea.classesValues && HTMLArea.classesValues[cssClass] && !HTMLArea.classesNoShow[cssClass]) select.options[select.options.length-1].setAttribute("style", HTMLArea.classesValues[cssClass]);
-							}
-						}
-					}
-				} else {
-					if(cssArray[tagName] && cssArray[tagName]['none']) select.options[0] = new Option(cssArray[tagName]['none'],'none');
-				}
-			}
-			select.selectedIndex = 0;
-			if (typeof(className) != "undefined" && /\S/.test(className) && !HTMLArea.reservedClassNames.test(className) ) {
-				for (i = select.options.length; --i >= 0;) {
-					var option = select.options[i];
-					if (className == option.value) {
-						select.selectedIndex = i;
-						break;
-					}
-				}
-				if (select.selectedIndex == 0) {
-					select.options[select.options.length] = new Option(this.localize("Undefined"),className);
-					select.selectedIndex = select.options.length-1;
-				}
-			}
-			if (select.options.length > 1) {
-				select.disabled = false;
-			} else select.disabled = true;
-			if(HTMLArea.is_gecko) select.removeAttribute('class');
-				else select.removeAttribute('className');
-			if (select.disabled) HTMLArea._addClass(select, "buttonDisabled");
-		}
-	},
-
-	parseStyleSheet : function(editor) {
-		var obj = editor.config.customSelects["DynamicCSS-class"];
-		var iframe = editor._iframe.contentWindow ? editor._iframe.contentWindow.document : editor._iframe.contentDocument;
-		var newCssArray = new Object();
-		obj.loaded = true;
-		for (var i = 0; i < iframe.styleSheets.length; i++) {
-				// Mozilla
-			if(HTMLArea.is_gecko){
-				try { newCssArray = this.applyCSSRule(editor,iframe.styleSheets[i].cssRules,newCssArray); }
-				catch (e) { obj.loaded = false; }
-			} else {
-				try{
-						// @import StyleSheets (IE)
-					if (iframe.styleSheets[i].imports) newCssArray = this.applyCSSIEImport(editor,iframe.styleSheets[i].imports,newCssArray);
-					if (iframe.styleSheets[i].rules) newCssArray = this.applyCSSRule(editor,iframe.styleSheets[i].rules,newCssArray);
-				} catch (e) { obj.loaded = false; }
-			}
-		}
-		return newCssArray;
-	},
-
-	applyCSSRule : function(editor, cssRules, cssArray){
-		var cssElements = new Array(),
-			cssElement = new Array(),
-			newCssArray = new Object(),
-			classParts = new Array(),
-			tagName, className, rule, k,
-			obj = editor.config.customSelects["DynamicCSS-class"];
-		newCssArray = cssArray;
-
-		for (rule = 0; rule < cssRules.length; rule++) {
-				// StyleRule
-			if (cssRules[rule].selectorText) {
-				if (cssRules[rule].selectorText.search(/:+/) == -1) {
-						// split equal Styles e.g. head, body {border:0px}
-					cssElements = cssRules[rule].selectorText.split(",");
-					for (k = 0; k < cssElements.length; k++) {
-						cssElement = cssElements[k].split(".");
-						tagName = cssElement[0].toLowerCase().trim();
-						if (!tagName) tagName = "all";
-						className = cssElement[1];
-						if (className) {
-							classParts = className.trim().split(" ");
-							className = classParts[0];
-						}
-						if (!HTMLArea.reservedClassNames.test(className) && ((tagName == "all" && obj["showTagFreeClasses"] == true) || (tagName != "all" && (!obj["classesTag"] || !obj["classesTag"][tagName])) || (tagName != "all" && obj["classesTag"][tagName].indexOf(className) != -1)) ) {
-							if (!newCssArray[tagName]) newCssArray[tagName] = new Object();
-							if (className) {
-								cssName = className;
-								if (HTMLArea.classesLabels) cssName = HTMLArea.classesLabels[className] ? HTMLArea.classesLabels[className] : cssName ;
-								if (tagName != 'all') cssName = '<'+cssName+'>';
-							} else {
-								className='none';
-								if (tagName=='all') cssName=this.localize("Default");
-									else cssName='<'+this.localize("Default")+'>';
-							}
-							newCssArray[tagName][className]=cssName;
-						}
-					}
-				}
-			} else {
-					// ImportRule (Mozilla)
-				if (cssRules[rule].styleSheet) {
-					newCssArray = this.applyCSSRule(editor, cssRules[rule].styleSheet.cssRules, newCssArray);
-				}
-					// MediaRule (Mozilla)
-				if (cssRules[rule].cssRules) {
-					newCssArray = this.applyCSSRule(editor, cssRules[rule].cssRules, newCssArray);
-				}
-			}
-		}
-		return newCssArray;
-	},
-
-	applyCSSIEImport : function(editor,cssIEImport,cssArray){
-		var newCssArray = new Object();
-		newCssArray = cssArray;
-		for (var i=0;i<cssIEImport.length;i++){
-			if(cssIEImport[i].imports){
-				newCssArray = this.applyCSSIEImport(editor,cssIEImport[i].imports,newCssArray);
-			}
-			if(cssIEImport[i].rules){
-				newCssArray = this.applyCSSRule(editor,cssIEImport[i].rules,newCssArray);
-			}
-		}
-		return newCssArray;
-	}
-});
-
-DynamicCSS.getCSSArrayLater = function(editor,instance) {
-	return (function() {
-		instance.getCSSArray(editor);
-	});
-};
-
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/InlineCSS/inlinecss.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/InlineCSS/inlinecss.js	(révision 4248)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/InlineCSS/inlinecss.js	(copie de travail)
@@ -1,438 +0,0 @@
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2004-2008 Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project 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.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script 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.
-*
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/*
- * Inline CSS Plugin for TYPO3 htmlArea RTE
- *
- * TYPO3 SVN ID: $Id$
- */
-InlineCSS = HTMLArea.Plugin.extend({
-
-	constructor : function(editor, pluginName) {
-		this.base(editor, pluginName);
-	},
-
-	/*
-	 * This function gets called by the class constructor
-	 */
-	configurePlugin : function (editor) {
-		var editorNumber = editor._editorNumber;
-
-			/* Registering plugin "About" information */
-		var pluginInformation = {
-			version		: "1.5",
-			developer	: "Stanislas Rolland",
-			developerUrl	: "http://www.fructifor.ca/",
-			copyrightOwner	: "Stanislas Rolland",
-			sponsor		: "Fructifor Inc.",
-			sponsorUrl	: "http://www.fructifor.ca/",
-			license		: "GPL"
-		};
-		this.registerPluginInformation(pluginInformation);
-
-			/* Registering the dropdown list */
-		var buttonId = "InlineCSS-class";
-		var dropDownConfiguration = {
-			id			: buttonId,
-			tooltip			: this.localize(buttonId + "-Tooltip"),
-			options			: {"":""},
-			action			: "onSelect",
-			refresh			: "generate",
-			context			: "*",
-			cssArray		: new Object(),
-			parseCount		: 1,
-			loaded			: false,
-			timeout			: null,
-			lastTag			: "",
-			lastClass		: "",
-			showTagFreeClasses	: RTEarea[editorNumber]["showTagFreeClasses"],
-			classesUrl		: RTEarea[editorNumber]["classesUrl"],
-			classesCharacter	: RTEarea[editorNumber]["classesTag"]["span"]
-		};
-		this.registerDropDown(dropDownConfiguration);
-
-		return true;
-	},
-
-	onSelect : function(editor, buttonId) {
-		var obj = this.editorConfiguration.customSelects[buttonId];
-		var tbobj = editor._toolbarObjects[buttonId];
-		var index = document.getElementById(tbobj.elementId).selectedIndex;
-		var className = document.getElementById(tbobj.elementId).value;
-		var selTrimmed;
-
-		editor.focusEditor();
-		var selectedHTML = editor.getSelectedHTMLContents();
-		if (selectedHTML) {
-			selTrimmed = selectedHTML.replace(/(<[^>]*>|&nbsp;|\n|\r)/g,"");
-		}
-		var parent = editor.getParentElement();
-		if( (HTMLArea.is_gecko && /\w/.test(selTrimmed) == true) || (HTMLArea.is_ie && /\S/.test(selTrimmed) == true) ) {
-			var sel = editor._getSelection();
-			var range = editor._createRange(sel);
-			if( className != 'none' ) {
-				obj.lastClass = className;
-				if(parent && !HTMLArea.isBlockElement(parent) && selectedHTML.replace(/^\s*|\s*$/g,"") == parent.innerHTML.replace(/^\s*|\s*$/g,"") ) {
-					parent.className = className;
-				} else {
-					if(HTMLArea.is_gecko) {
-						var rangeClone = range.cloneRange();
-						var span = editor._doc.createElement("span");
-						span.className = className;
-						span.appendChild(range.extractContents());
-						range.insertNode(span);
-						if(HTMLArea.is_safari) {
-							sel.empty();
-							sel.setBaseAndExtent(rangeClone.startContainer,rangeClone.startOffset,rangeClone.endContainer,rangeClone.endOffset);
-						} else {
-							sel.removeRange(range);
-							sel.addRange(rangeClone);
-						}
-						range.detach();
-					} else {
-						var tagopen = '<span class="' + className + '">';
-						var tagclose = "</span>";
-						editor.surroundHTML(tagopen,tagclose);
-					}
-				}
-			} else {
-				if (parent && !HTMLArea.isBlockElement(parent)) {
-					if (HTMLArea.is_gecko) {
-						parent.removeAttribute('class');
-					} else {
-						parent.removeAttribute('className');
-					}
-					if (parent.tagName.toLowerCase() == "span") {
-						p = parent.parentNode;
-						while (parent.firstChild) {
-							p.insertBefore(parent.firstChild, parent);
-						}
-						p.removeChild(parent);
-					}
-				}
-			}
-		} else {
-			alert(HTMLArea.I18N.InlineCSS['You have to select some text']);
-		}
-	},
-
-	onGenerate : function() {
-		var editor = this.editor;
-		var obj = editor.config.customSelects["InlineCSS-class"];
-		if (HTMLArea.is_gecko) {
-			this.generate(editor);
-		}
-	},
-
-	onUpdateToolbar : function() {
-		var editor = this.editor;
-		var obj = editor.config.customSelects["InlineCSS-class"];
-		if (HTMLArea.is_gecko && editor.getMode() === "wysiwyg" && editor.isEditable()) {
-			if (obj.loaded) {
-				this.updateValue(editor,obj);
-			} else {
-				if (obj.timeout) {
-					if (editor._iframe.contentWindow) {
-						editor._iframe.contentWindow.clearTimeout(obj.timeout);
-					} else {
-						window.clearTimeout(obj.timeout);
-					}
-					obj.timeout = null;
-				}
-				this.generate(editor);
-			}
-		}
-	},
-
-	generate : function(editor) {
-		var obj = editor.config.customSelects["InlineCSS-class"];
-		var classesUrl = obj["classesUrl"];
-		if (classesUrl && typeof(HTMLArea.classesLabels) === "undefined") {
-			this.getJavascriptFile(classesUrl);
-		}
-			// Let us load the style sheets
-		if (obj.loaded) {
-			this.updateValue(editor,obj);
-		} else {
-			this.getCSSArray(editor);
-		}
-	},
-
-	getCSSArray : function(editor) {
-		var obj = editor.config.customSelects["InlineCSS-class"];
-		obj.cssArray = InlineCSS.parseStyleSheet(editor);
-		if ( !obj.loaded && obj.parseCount<17 ) {
-			var getCSSArrayLaterFunctRef = InlineCSS.getCSSArrayLater(editor, this);
-			obj.timeout = editor._iframe.contentWindow ? editor._iframe.contentWindow.setTimeout(getCSSArrayLaterFunctRef, 200) : window.setTimeout(getCSSArrayLaterFunctRef, 200);
-			obj.parseCount++ ;
-		} else {
-			obj.timeout = null;
-			obj.loaded = true;
-			this.updateValue(editor, obj);
-		}
-	},
-
-	onMode : function(mode) {
-		var editor = this.editor;
-		if (mode === "wysiwyg" && editor.isEditable()) {
-			var obj = editor.config.customSelects["InlineCSS-class"];
-			if (obj.loaded) {
-				this.updateValue(editor,obj);
-			} else {
-				if (obj.timeout) {
-					if (editor._iframe.contentWindow) {
-						editor._iframe.contentWindow.clearTimeout(obj.timeout);
-					} else {
-						window.clearTimeout(obj.timeout);
-					}
-					obj.timeout = null;
-				}
-				this.generate(editor);
-			}
-		}
-	},
-
-	updateValue : function(editor,obj) {
-		var cssClass, i;
-
-		if (!obj.loaded) {
-			if (obj.timeout) {
-				if (editor._iframe.contentWindow) {
-					editor._iframe.contentWindow.clearTimeout(obj.timeout);
-				} else {
-					window.clearTimeout(obj.timeout);
-				}
-				obj.timeout = null;
-			}
-			this.generate(editor);
-		}
-
-		var cssArray = obj.cssArray;
-		var tagName = "body";
-		var className = "";
-		var parent = editor.getParentElement();
-		if (parent) {
-			tagName = parent.nodeName.toLowerCase();
-			className = parent.className;
-		}
-
-		var selTrimmed = editor.getSelectedHTMLContents();
-		if(selTrimmed) {
-			selTrimmed = selTrimmed.replace(/(<[^>]*>|&nbsp;|\n|\r)/g,"");
-		}
-
-		var endPointsInSameBlock = false;
-		if ( (HTMLArea.is_gecko && /\w/.test(selTrimmed) == true) || (HTMLArea.is_ie && /\S/.test(selTrimmed) == true) ) {
-			var sel = editor._getSelection();
-			var range = editor._createRange(sel);
-			if (HTMLArea.is_gecko) {
-				if (sel.rangeCount == 1 || HTMLArea.is_safari) {
-					var parentStart = range.startContainer;
-					var parentEnd = range.endContainer;
-					if ( !(parentStart.nodeType == 1 && parentStart.tagName.toLowerCase() == "tr") ) {
-						while (parentStart && !HTMLArea.isBlockElement(parentStart)) {
-							parentStart = parentStart.parentNode;
-						}
-						while (parentEnd && !HTMLArea.isBlockElement(parentEnd)) {
-							parentEnd = parentEnd.parentNode;
-						}
-						endPointsInSameBlock = (parentStart == parentEnd) && (parent.tagName.toLowerCase() != "body") && (parent.tagName.toLowerCase() != "table") && (parent.tagName.toLowerCase() != "tbody") && (parent.tagName.toLowerCase() != "tr");
-					}
-				}
-			} else {
-				if (sel.type != "Control" ) {
-					var rangeStart = range.duplicate();
-					rangeStart.collapse(true);
-					var rangeEnd = range.duplicate();
-					rangeEnd.collapse(false);
-					var parentStart = rangeStart.parentElement();
-					var parentEnd = rangeEnd.parentElement();
-					while (parentStart && !HTMLArea.isBlockElement(parentStart)) {
-						parentStart = parentStart.parentNode;
-					}
-					while (parentEnd && !HTMLArea.isBlockElement(parentEnd)) {
-						parentEnd = parentEnd.parentNode;
-					}
-					endPointsInSameBlock = (parentStart == parentEnd) && (parent.tagName.toLowerCase() != "body")  ;
-				}
-			}
-		}
-
-		var select = document.getElementById(editor._toolbarObjects[obj.id].elementId);
-		select.disabled = !(/\w/.test(selTrimmed)) || !(endPointsInSameBlock);
-
-		obj.lastTag = tagName;
-		obj.lastClass = className;
-		while(select.options.length>0) {
-			select.options[select.length-1] = null;
-		}
-		select.options[0]=new Option(HTMLArea.I18N.InlineCSS["Default"],'none');
-		if (cssArray){
-				// we are in span and 'all' tags only
-			if (cssArray['span']) {
-				for (cssClass in cssArray['span']) {
-					if (cssClass == 'none') {
-						select.options[0] = new Option(cssArray['span'][cssClass],cssClass);
-					} else {
-						select.options[select.options.length] = new Option(cssArray['span'][cssClass],cssClass);
-						if (!editor.config.disablePCexamples && HTMLArea.classesValues && HTMLArea.classesValues[cssClass] && !HTMLArea.classesNoShow[cssClass]) {
-							select.options[select.options.length-1].setAttribute("style", HTMLArea.classesValues[cssClass]);
-						}
-					}
-				}
-			}
-			if (cssArray['all']){
-				for (cssClass in cssArray['all']) {
-					select.options[select.options.length] = new Option(cssArray['all'][cssClass],cssClass);
-					if (!editor.config.disablePCexamples && HTMLArea.classesValues && HTMLArea.classesValues[cssClass] && !HTMLArea.classesNoShow[cssClass]) {
-						select.options[select.options.length-1].setAttribute("style", HTMLArea.classesValues[cssClass]);
-					}
-				}
-			}
-		}
-		select.selectedIndex = 0;
-		//var selected = false;
-		//select.multiple = true;
-		//select.size = 2;
-		if (typeof className != "undefined" && /\S/.test(className) && !HTMLArea.reservedClassNames.test(className)) {
-			for (i = select.options.length; --i >= 0;) {
-				var option = select.options[i];
-				if (className == option.value) {
-					option.selected = true;
-					//selected = true;
-					select.selectedIndex = i;
-					break;
-				}
-			}
-			if (select.selectedIndex == 0) {
-				//if(!selected){
-				select.options[select.options.length] = new Option(HTMLArea.I18N.InlineCSS["Undefined"],className);
-				select.selectedIndex = select.options.length-1;
-				//select.options[select.options.length-1].selected = true;
-			}
-		}
-		select.disabled = !(select.options.length>1) || !endPointsInSameBlock || !((HTMLArea.is_gecko && /\w/.test(selTrimmed) == true) || (HTMLArea.is_ie && /\S/.test(selTrimmed) == true)) ;
-		select.className = "";
-		if (select.disabled) {
-			select.className = "buttonDisabled";
-		}
-	}
-});
-
-InlineCSS.parseStyleSheet = function(editor) {
-	var obj = editor.config.customSelects["InlineCSS-class"];
-	var iframe = editor._iframe.contentWindow ? editor._iframe.contentWindow.document : editor._iframe.contentDocument;
-	var newCssArray = new Object();
-	obj.loaded = true;
-	for(var i=0;i<iframe.styleSheets.length;i++){
-			// Mozilla
-            if(HTMLArea.is_gecko){
-			try{ newCssArray = InlineCSS.applyCSSRule(editor,HTMLArea.I18N.InlineCSS,iframe.styleSheets[i].cssRules,newCssArray); }
-			catch(e){ obj.loaded = false; }
-		} else {
-			try{
-					// @import StyleSheets (IE)
-				if(iframe.styleSheets[i].imports){
-					newCssArray = InlineCSS.applyCSSIEImport(editor,HTMLArea.I18N.InlineCSS,iframe.styleSheets[i].imports,newCssArray);
-				}
-				if(iframe.styleSheets[i].rules){
-					newCssArray = InlineCSS.applyCSSRule(editor,HTMLArea.I18N.InlineCSS,iframe.styleSheets[i].rules,newCssArray);
-				}
-			} catch(e) { obj.loaded = false; }
-		}
-	}
-	return newCssArray;
-};
-
-InlineCSS.applyCSSRule = function(editor,i18n,cssRules,cssArray){
-	var cssElements = new Array();
-	var cssElement = new Array();
-	var newCssArray = new Object();
-	var tagName, className, rule, k;
-	var obj = editor.config.customSelects["InlineCSS-class"];
-	newCssArray = cssArray;
-	for(rule=0;rule<cssRules.length;rule++){
-			// StyleRule
-		if(cssRules[rule].selectorText){
-			if(cssRules[rule].selectorText.search(/:+/)==-1){
-					// split equal Styles (Mozilla-specific) e.q. head, body {border:0px}
-					// for ie not relevant. returns allways one element
-				cssElements = cssRules[rule].selectorText.split(",");
-				for(k=0;k<cssElements.length;k++){
-					cssElement = cssElements[k].split(".");
-					tagName = cssElement[0].toLowerCase().trim();
-					if(!tagName) tagName = 'all';
-					className = cssElement[1];
-					if( (!obj["classesCharacter"] && (tagName == 'span')) || ((tagName != "all" || obj["showTagFreeClasses"] == true) && obj["classesCharacter"] && obj["classesCharacter"].indexOf(className) != -1)) {
-						if(!newCssArray[tagName]) newCssArray[tagName] = new Object();
-						if(className){
-							cssName = className;
-							if (HTMLArea.classesLabels) cssName = HTMLArea.classesLabels[className] ? HTMLArea.classesLabels[className] : cssName ;
-							if (tagName != 'all') cssName = '<'+cssName+'>';
-						} else {
-							className = 'none';
-							if(tagName == 'all') cssName = i18n["Default"];
-								else cssName = '<'+i18n["Default"]+'>';
-						}
-						newCssArray[tagName][className] = cssName;
-					}
-				}
-			}
-		} else {
-				// ImportRule (Mozilla)
-			if (cssRules[rule].styleSheet) {
-				newCssArray = InlineCSS.applyCSSRule(editor, i18n, cssRules[rule].styleSheet.cssRules, newCssArray);
-			}
-				// MediaRule (Mozilla)
-			if (cssRules[rule].cssRules) {
-				newCssArray = InlineCSS.applyCSSRule(editor, i18n, cssRules[rule].cssRules, newCssArray);
-			}
-		}
-	}
-	return newCssArray;
-};
-
-InlineCSS.applyCSSIEImport=function(editor,i18n,cssIEImport,cssArray){
-	var newCssArray = new Object();
-	newCssArray = cssArray;
-
-	for(var i=0;i<cssIEImport.length;i++){
-		if(cssIEImport[i].imports){
-			newCssArray = InlineCSS.applyCSSIEImport(editor,i18n,cssIEImport[i].imports,newCssArray);
-		}
-		if(cssIEImport[i].rules){
-			newCssArray = InlineCSS.applyCSSRule(editor,i18n,cssIEImport[i].rules,newCssArray);
-		}
-	}
-	return newCssArray;
-};
-
-InlineCSS.getCSSArrayLater = function(editor,instance) {
-	return (function() {
-		instance.getCSSArray(editor);
-	});
-};
-
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/SelectColor/select-color.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/SelectColor/select-color.js	(révision 4248)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/SelectColor/select-color.js	(copie de travail)
@@ -1,351 +0,0 @@
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2004, 2005, 2006 Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project 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.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script 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.
-*
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/*
- * Color Select Plugin for TYPO3 htmlArea RTE
- *
- * TYPO3 SVN ID: $Id$
- */
-
-SelectColor = function(editor) {
-	this.editor = editor;
-	var cfg = editor.config;
-	var bl = SelectColor.btnList;
-
-		// register the toolbar buttons provided by this plugin
-	for (var i = 0; i < bl.length; ++i) {
-		var btn = bl[i];
-		var id = "CO-" + btn[0];
-		this.editor.eventHandlers[id] = SelectColor.actionHandler(this);
-		cfg.registerButton(
-			id,
-			SelectColor_langArray[id],
-			editor.imgURL(id + ".gif", "SelectColor"),
-			false,
-			this.editor.eventHandlers[id],
-		 	btn[1]
-		);
-	}
-};
-
-SelectColor.I18N = SelectColor_langArray;
-
-SelectColor._pluginInfo = {
-	name          : "SelectColor",
-	version       : "1.6",
-	developer     : "Stanislas Rolland",
-	developer_url : "http://www.fructifor.ca/",
-	c_owner       : "Stanislas Rolland",
-	sponsor       : "Fructifor Inc.",
-	sponsor_url   : "http://www.fructifor.ca/",
-	license       : "GPL"
-};
-
-SelectColor.actionHandler = function(instance) {
-	return (function(editor,id) {
-		instance.buttonPress(editor, id);
-	});
-};
-
-// the list of buttons added by this plugin
-SelectColor.btnList = [
-	["forecolor", null],
-	["hilitecolor", null]
-];
-
-// This function gets called when some button from the SelectColor was pressed
-SelectColor.prototype.buttonPress = function(editor,button_id) {
-	this.editor = editor;
-	switch (button_id) {
-		case "CO-forecolor":
-			this.dialogSelectColor(button_id,"","");
-			break;
-		case "CO-hilitecolor":
-			this.dialogSelectColor(button_id,"","");
-			break;
-		default:
-			alert("Button [" + button_id + "] not yet implemented");
-	}
-};
-
-// this function requires the file PopupWin
-SelectColor.prototype.dialogSelectColor = function(button_id,element,field,opener) {
-	var editor = this.editor;
-	var windowWidth = 470;
-	var windowHeight = 245;
-
-		// button_id's  "color" and "tag" are not registered but used to interface with the Table Operations and QuickTag plugins
-	switch (button_id) {
-	   case "CO-forecolor":
-	   case "CO-hilitecolor":
-		var selectColorInitFunctRef = SelectColor.selectColorCOInit(this, button_id);
-		var setColorFunctRef = SelectColor.setColorCO(this);
-		var dialog = new PopupWin(this.editor, SelectColor.I18N[button_id + "_title"], setColorFunctRef, selectColorInitFunctRef, windowWidth, windowHeight, editor._iframe.contentWindow);
-		break;
-	   case "color":
-		var selectColorInitFunctRef = SelectColor.selectColorColorInit(this, button_id, field);
-		var setColorFunctRef = SelectColor.setColorColor(this, element, field);
-		var dialog = new PopupWin(this.editor, SelectColor.I18N[button_id + "_title"], setColorFunctRef, selectColorInitFunctRef, windowWidth, windowHeight, opener);
-		break;
-	   case "tag":
-		var selectColorInitFunctRef = SelectColor.selectColorTagInit(this, button_id);
-		var setColorFunctRef = SelectColor.setColorTag(this, field);
-		var dialog = new PopupWin(this.editor, SelectColor.I18N["color_title"], setColorFunctRef, selectColorInitFunctRef, windowWidth, windowHeight, opener);
-	}
-};
-
-/*
- * Initialize the CO-forecolor and the CO-hilitecolor select color dialogs
- */
-SelectColor.selectColorCOInit = function(instance,button_id) {
-	return (function(dialog) {
-		var editor = dialog.editor;
-		var doc = editor._doc;
-		dialog.content.innerHTML = instance.renderPopupSelectColor(button_id, dialog, SelectColor.I18N[button_id + "_title"]);
-		var colorTable = dialog.doc.getElementById("colorTable");
-		colorTable.onclick = function(e) {
-			if(!e) var e = dialog.dialogWindow.event;
-			var targ = e.target ? e.target : e.srcElement;
-			if (targ.nodeType == 3) targ = targ.parentNode;
-			dialog.doc.getElementById(button_id).value = targ.bgColor ? targ.bgColor : "";
-			dialog.callHandler();
-			return false;
-		};
-		var colorUnset = dialog.doc.getElementById("colorUnset");
-		colorUnset.onclick = function(e) {
-			dialog.doc.getElementById(button_id).value="";
-			dialog.callHandler();
-			return false;
-		};
-		try {
-			with (dialog.doc.getElementById(button_id+"Current").style) {
-				switch (button_id) {
-					case "CO-forecolor":
-						backgroundColor = HTMLArea._makeColor(doc.queryCommandValue("ForeColor"));
-						break;
-					case "CO-hilitecolor":
-						backgroundColor = HTMLArea._makeColor(doc.queryCommandValue(((HTMLArea.is_ie || HTMLArea.is_safari) ? "BackColor" : "HiliteColor")));
-						if (/transparent/i.test(backgroundColor)) {
-								// Mozilla
-							backgroundColor = HTMLArea._makeColor(doc.queryCommandValue("BackColor"));
-						}
-						break;
-				}
-			}
-		} catch (e) { }
-		dialog.showAtElement();
-	});
-};
-
-/*
- * Set the color and close the CO-forecolor and the CO-hilitecolor select color dialogs
- */
-SelectColor.setColorCO = function(instance) {
-	return (function(dialog,params) {
-		var editor = dialog.editor;
-		instance.processStyle(dialog, params, "", "");
-		dialog.releaseEvents();
-		editor.focusEditor();
-		editor.updateToolbar();
-		dialog.close();
-	});
-};
-
-/*
- * Initialize the case=color select color dialog
- * This case is used by the Table Operations plugin
- */
-SelectColor.selectColorColorInit = function(instance,button_id,field) {
-	return (function(dialog) {
-		dialog.content.innerHTML = instance.renderPopupSelectColor(button_id, dialog, SelectColor.I18N[button_id + "_title"]);
-		var colorTable = dialog.doc.getElementById("colorTable");
-		colorTable.onclick = function(e) {
-			if(!e) var e = dialog.dialogWindow.event;
-			var targ = e.target ? e.target : e.srcElement;
-			if (targ.nodeType == 3) targ = targ.parentNode;
-			dialog.doc.getElementById(button_id).value = targ.bgColor;
-			dialog.callHandler();
-			return false;
-		};
-		var colorUnset = dialog.doc.getElementById("colorUnset");
-		colorUnset.onclick = function(e) {
-			dialog.doc.getElementById(button_id).value = "";
-			dialog.callHandler();
-			return false;
-		};
-		dialog.doc.getElementById(button_id+"Current").style.backgroundColor = field.value;
-		dialog.showAtElement();
-
-	});
-};
-
-/*
- * Set the color and close the case=color select color dialog
- */
-SelectColor.setColorColor = function(instance,element,field) {
-	return (function(dialog,params) {
-		instance.processStyle(dialog, params, element, field);
-		dialog.releaseEvents();
-		dialog.close();
-	});
-};
-
-/*
- * Initialize the case=tag select color dialog
- * This is used by the QuickTag plugin
- */
-SelectColor.selectColorTagInit = function(instance, button_id) {
-	return (function(dialog) {
-		instance.dialog = dialog;
-		dialog.content.innerHTML = instance.renderPopupSelectColor(button_id, dialog, SelectColor.I18N["color_title"]);
-		var colorTable = dialog.doc.getElementById("colorTable");
-		colorTable.onclick = function(e) {
-			if(!e) var e = dialog.dialogWindow.event;
-			var targ = e.target ? e.target : e.srcElement;
-			if (targ.nodeType == 3) targ = targ.parentNode;
-			dialog.doc.getElementById(button_id).value = targ.bgColor;
-			dialog.callHandler();
-			return false;
-		};
-		var colorUnset = dialog.doc.getElementById("colorUnset");
-		colorUnset.onclick = function(e) {
-			dialog.doc.getElementById(button_id).value = "";
-			dialog.callHandler();
-			return false;
-		};
-		dialog.doc.getElementById(button_id+"Current").style.backgroundColor = "";
-		dialog.showAtElement();
-	});
-};
-
-/*
- * Set the color and close the case=color select color dialog
- */
-SelectColor.setColorTag = function(instance,field) {
-	return (function(dialog,params) {
-		dialog.releaseEvents();
-		field._return(params["tag"]);
-		dialog.close();
-		field.dialog = null;
-	});
-};
-
-// Applies the style found in "params" to the given element.
-SelectColor.prototype.processStyle = function(dialog, params, element, field) {
-	var editor = this.editor;
-	for (var i in params) {
-		var val = params[i];
-		switch (i) {
-		    	case "CO-forecolor":
-				if(val) {
-					editor._doc.execCommand("ForeColor", false, val);
-				} else {
-					var parentElement = editor.getParentElement();
-					parentElement.style.color = "";
-				}
-				break;
-			case "CO-hilitecolor":
-				if(val) {
-					if(HTMLArea.is_ie || HTMLArea.is_safari) editor._doc.execCommand("BackColor", false, val);
-						else editor._doc.execCommand("HiliteColor", false, val);
-				} else {
-					var parentElement = editor.getParentElement();
-					parentElement.style.backgroundColor = "";
-				}
-				break;
-			case "color":
-				element.style.backgroundColor = val;
-				field.value = val;
-				break;
-		}
-	}
-};
-
-/**
- * Making color selector table
- */
-SelectColor.prototype.renderPopupSelectColor = function(sID,dialog,title) {
-	var editor = this.editor;
-	var cfg = editor.config;
-	var cfgColors = cfg.colors;
-	var colorDef;
-	var szID = sID + "Current";
-	var sz;
-	var cPick = new Array("00","33","66","99","CC","FF");
-	var iColors = cPick.length;
-	var szColor = "";
-	var szColorId = "";
-
-	sz = '<div class="title">' + title + '</div>';
-	sz += '<table style="width:100%"><tr><td id="HA-layout"><fieldset>';
-	sz += '<input type="hidden" name="' + sID + '" id="' + sID + '" value="" />';
-	sz += '<table style="width:100%;"><tr><td style="vertical-align: middle;"><span style="margin-left: 5px; height: 1em;" class="dialog buttonColor" ';
-	sz += '		onMouseover="className += \' buttonColor-hilite\';" ';
-	sz += '		onMouseout="className = \'buttonColor\';"> ';
-	sz += '	<span id="' + szID + '" class="chooser"></span> ';
-	sz += '	<span id="colorUnset" class="nocolor" title="' + SelectColor.I18N["no_color"] + '" ';
-	sz += '		onMouseover="className += \' nocolor-hilite\';" ';
-	sz += '		onMouseout="className = \'nocolor\';"';
-	sz += '	>&#x00d7;</span></span></td><td>';
-	sz += '<table ';
-	sz += '	onMouseout="document.getElementById(\'' + szID + '\').style.backgroundColor=\'\';" ';
-	sz += '	onMouseover="if(' + HTMLArea.is_ie + '){ if(event.srcElement.bgColor) document.getElementById(\'' + szID + '\').style.backgroundColor=event.srcElement.bgColor; } else { if (event.target.bgColor) document.getElementById(\'' + szID + '\').style.backgroundColor=event.target.bgColor; }" ';
-	sz += '	class="colorTable" cellspacing="0" cellpadding="0" id="colorTable">';
-		// Making colorPicker
-	if (!cfg.disableColorPicker) {
-		for ( var r = 0; r < iColors; r++) {
-			sz+='<tr>';
-			for (var g = iColors-1; g >= 0; g--) {
-				for (var b=iColors-1;b>=0;b--) {
-					szColor = cPick[r]+cPick[g]+cPick[b];
-					sz+='<td bgcolor="#'+szColor+'" title="#'+szColor+'">&nbsp;</td>';
-				}
-			}
-			sz+='</tr>';
-		}
-	}
-
-		// Making specific color selector:
-	if (cfgColors) {
-		var iCfgColors = cfgColors.length;
-		if (iCfgColors && !cfg.disableColorPicker) {
-			sz += '<tr><td colspan="36"></td></tr>';
-		}
-		for ( var theColor = 0; theColor < iCfgColors; theColor++) {
-			colorDef = cfgColors[theColor];
-			szColor = colorDef[1];
-			sz += '<tr>';
-			sz += '<td style="width:36px;" colspan="6" bgcolor="'+szColor+'" title="'+szColor+'">&nbsp;</td>';
-			sz += '<td colspan=2></td>';
-			sz += '<td colspan=28><nobr>'+colorDef[0]+'</nobr></td>';
-			sz += '</tr>';
-		}
-	}
-
-	sz += '</table></td></tr></table>';
-	sz += '</fieldset></td></tr><tr><td id="HA-style"></td></tr></table>';
-	return sz;
-};
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/TableOperations/popups/insert_table.html
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/TableOperations/popups/insert_table.html	(révision 4248)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/TableOperations/popups/insert_table.html	(copie de travail)
@@ -1,218 +0,0 @@
-<html class="popupwin">
-<!--
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2002-2004, interactivetools.com, inc.
-*  (c) 2003-2004 dynarch.com
-*  (c) 2004-2008 Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project 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.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script 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.
-*
-*  This script is a modified version of a script published under the htmlArea License.
-*  A copy of the htmlArea License may be found in the textfile HTMLAREA_LICENSE.txt.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/*
- * Insert Table window for TYPO3 htmlArea RTE
- *
- * TYPO3 SVN ID: $Id$
- */
--->
-<head>
-	<title>Insert Table</title>
-	<meta http-equiv="Content-Style-Type" content="text/css" />
-	<script type="text/javascript">
-		/*<![CDATA[*/
-		<!--
-		var dialog = window.opener.HTMLArea.Dialog.TableOperations;
-		var plugin;
-		
-		function Init() {
-			dialog.initialize("noLocalize", "noResize");
-			plugin = dialog.plugin;
-			var content = document.getElementById("content");
-			buildTitle(content, "Insert Table");
-			var form = document.createElement("form");
-			form.action = "";
-			form.method = "get";
-			buildDimensionFieldset(form);
-			if (!plugin.editorConfiguration.disableBordersFieldsetInTableOperations) buildBordersFieldset(form);
-			if (!plugin.editorConfiguration.disableSpacingFieldsetInTableOperations) buildSpacingFieldset(form);
-			addButtons(form, ["ok","cancel"], ["OK","Cancel"]);
-			content.appendChild(form);
-			dialog.localize();
-			dialog.resize();
-			document.getElementById("f_rows").focus();
-		};
-		function onOK() {
-			var required = { "f_rows": "", "f_cols": "" };
-			required["f_rows"] = plugin.localize("You must enter a number of rows");
-			required["f_cols"] =  plugin.localize("You must enter a number of columns");
-			for (var i in required) {
-				var el = document.getElementById(i);
-				if (!el.value) {
-					alert(required[i]);
-					el.focus();
-					return false;
-				}
-			}
-			var fields = ["f_rows", "f_cols", "f_width", "f_unit", "f_border", "f_spacing", "f_padding", "f_float"];
-			var param = new Object();
-			for (var i in fields) {
-				var id = fields[i];
-				var el = document.getElementById(id);
-				if(el) param[id] = el.value;
-			}
-			dialog.performAction(param);
-			dialog.close();
-			return false;
-		};
-		function onCancel() {
-			dialog.close();
-			return false;
-		};
-		function buildTitle(content,title) {
-			var div = document.createElement("div");
-			div.className = "title";
-			div.innerHTML = dialog.plugin.localize(title);
-			content.appendChild(div);
-		};
-		function buildDimensionFieldset(content) {
-			var fieldset = document.createElement("fieldset");
-			insertLegend(fieldset, "Dimension");
-			buildInput(fieldset, "f_rows", ["Rows:"], ["Number of rows"], "5", "2");
-			buildInput(fieldset, "f_cols", ["Cols:"], ["Number of columns"], "5", "4");
-			if (!plugin.editorConfiguration.disableLayoutFieldsetInTableOperations) {
-				buildInput(fieldset, "f_width", ["Width:"], ["Width of the table"], "5", "100");
-				buildUnitField(fieldset);
-			}
-			content.appendChild(fieldset);
-		};
-		function buildBordersFieldset(content) {
-			var fieldset = document.createElement("fieldset");
-			fieldset.className = "floating";
-			insertLegend(fieldset, "Border");
-			var ul = document.createElement("ul");
-			fieldset.appendChild(ul);
-			var li = document.createElement("li");
-			ul.appendChild(li);
-			buildInput(li, "f_border", ["Border thickness:"], ["Leave empty for no border"], "5", "1", "fl", "");
-			content.appendChild(fieldset);
-		};
-		function buildSpacingFieldset(content) {
-			var fieldset = document.createElement("fieldset");
-			insertLegend(fieldset, "Spacing and padding");
-			var ul = document.createElement("ul");
-			fieldset.appendChild(ul);
-			var li = document.createElement("li");
-			ul.appendChild(li);
-			buildInput(li, "f_spacing", ["Cell spacing:"], ["Space between adjacent cells"], "5", "1", "fr", "");
-			var li = document.createElement("li");
-			ul.appendChild(li);
-			buildInput(li, "f_padding", ["Cell padding:"], ["Space between content and border in cell"], "5", "1", "fr", "");
-			content.appendChild(fieldset);
-		};
-		function buildUnitField(fieldset) {
-				// Unit Select Box
-			var select = document.createElement("select");
-			select.id = "f_unit";
-			select.name =  "f_unit";
-			select.title= "Width unit";
-			buildSelect(select, ["Percent", "Pixels", "Em"], ["%", "px", "em"], new RegExp("%", "i"));
-			fieldset.appendChild(select);
-		};
-		function buildTableFloatField(fieldset) {
-				// Table Float Label
-			var label = document.createElement("label");
-			label.className = "fl";
-			label.innerHTML = "Float:";
-			label.htmlFor = "f_float";
-			fieldset.appendChild(label);
-				// Table Float Select Box
-			var select = document.createElement("select");
-			select.id = "f_float";
-			select.name =  "f_float";
-			select.title= "Where the table should float";
-			buildSelect(select, ["Not set", "Non-floating", "Left", "Right"], ["not set", "none", "left", "right"], new RegExp("not set", "i"));
-			fieldset.appendChild(select);
-		};
-		function insertLegend(fieldset,legend) {
-			var legendNode = document.createElement("legend");
-			legendNode.innerHTML = legend;
-			fieldset.appendChild(legendNode);
-		};
-		function buildInput(fieldset,fieldName,fieldLabel,fieldTitle, fieldSize, fieldValue, labelClass, inputClass) {
-				// Field label
-			var label = document.createElement("label");
-			if(labelClass) label.className = labelClass;
-			label.innerHTML = fieldLabel;
-			label.htmlFor = fieldName;
-			fieldset.appendChild(label);
-				// Input field
-			var input = document.createElement("input");
-			input.type = "text";
-			input.id = fieldName;
-			input.name =  fieldName;
-			if(inputClass) input.className = inputClass;
-			input.title = fieldTitle;
-			input.size = fieldSize;
-			input.value = fieldValue;
-			fieldset.appendChild(input);
-		};
-		function buildSelect(select,options,values,selected) {
-			var option;
-			for (var i = 0; i < options.length; ++i) {
-				option = document.createElement("option");
-				option.value = values[i];
-				option.innerHTML = options[i];
-				option.selected = selected.test(option.value);
-				select.appendChild(option);
-			}
-		};
-		function addButtons(content,buttons,labels) {
-			var space = document.createElement("div");
-			space.className = "space";
-			content.appendChild(space);
-			var div = document.createElement("div");
-			content.appendChild(div);
-			div.className = "buttons";
-			for (var i = 0; i < buttons.length; ++i) {
-				var button = document.createElement("button");
-				button.innerHTML = labels[i];
-				switch (buttons[i]) {
-					case "ok":
-						button.onclick = onOK;
-						break;
-					case "cancel":
-						button.onclick = onCancel;
-						break;
-				}
-				div.appendChild(button);
-			}
-		};
-		// -->
-		/*]]>*/
-	</script>
-</head>
-<body class="popupwin" onload="Init();">
-<div id="content"></div>
-</body>
-</html>
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/typo3browsers.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/typo3browsers.js	(révision 4248)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/typo3browsers.js	(copie de travail)
@@ -1,277 +0,0 @@
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2005, 2006 Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project 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.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script 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.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/**
- * TYPO3 Image & Link Browsers Plugin for TYPO3 htmlArea RTE
- *
- * TYPO3 SVN ID: $Id$
- */
-
-TYPO3Browsers = function(editor,args) {
-	this.editor = editor;
-	var cfg = this.editor.config;
-	cfg.btnList.CreateLink[1] = this.editor.imgURL("ed_link.gif", "TYPO3Browsers");
-};
-
-TYPO3Browsers.I18N = TYPO3Browsers_langArray;
-
-TYPO3Browsers._pluginInfo = {
-	name		: "TYPO3Browsers",
-	version		: "1.7",
-	developer	: "Stanislas Rolland",
-	developer_url 	: "http://www.fructifor.ca/",
-	c_owner		: "Stanislas Rolland",
-	sponsor		: "Fructifor Inc.",
-	sponsor_url 	: "http://www.fructifor.ca/",
-	license		: "GPL"
-};
-
-/*
- *  CreateLink: Typo3-RTE function, use this instead of the original.
- */
-HTMLArea.prototype.renderPopup_link = function() {
-	var editorNumber = this._editorNumber,
-		addUrlParams = "?" + RTEarea[editorNumber]["RTEtsConfigParams"],
-		backreturn,
-		sel = this.getParentElement();
-
-		// Download the definition of special anchor classes if not yet done
-	if(RTEarea[editorNumber]["classesAnchorUrl"] && !this.classesAnchorSetup) {
-		var classesAnchorData = HTMLArea._getScript(0, false, RTEarea[editorNumber]["classesAnchorUrl"]);
-		var editor = this;
-		if(classesAnchorData) eval(classesAnchorData);
-		editor = null;
-	}
-
-	var el = HTMLArea.getElementObject(sel,"a");
-	if (el != null && el.tagName && el.tagName.toLowerCase() == "a") sel = el;
-	if (sel != null && sel.tagName && sel.tagName.toLowerCase() == "a") {
-		addUrlParams = "?curUrl[href]=" + encodeURIComponent(sel.getAttribute("href"));
-		addUrlParams += "&curUrl[typo3ContentLanguage]=" + RTEarea[editorNumber]["typo3ContentLanguage"];
-		addUrlParams += "&curUrl[typo3ContentCharset]=" + RTEarea[editorNumber]["typo3ContentCharset"];
-		if (sel.target) addUrlParams += "&curUrl[target]=" + encodeURIComponent(sel.target);
-		if (sel.className) addUrlParams += "&curUrl[class]=" + encodeURIComponent(sel.className);
-		if (sel.title) addUrlParams += "&curUrl[title]=" + encodeURIComponent(sel.title);
-		addUrlParams += RTEarea[editorNumber]["RTEtsConfigParams"];
-	} else if (this.hasSelectedText()) {
-		var text = this.getSelectedHTML();
-		if (text && text != null) {
-			var offset = text.toLowerCase().indexOf("<a");
-			if (offset!=-1) {
-				var ATagContent = text.substring(offset+2);
-				offset = ATagContent.toUpperCase().indexOf(">");
-				ATagContent = ATagContent.substring(0,offset);
-				addUrlParams = "?curUrl[all]=" + encodeURIComponent(ATagContent);
-				addUrlParams += RTEarea[editorNumber]["RTEtsConfigParams"];
-			}
-		}
-	}
-	this._popupDialog(RTEarea[0]["pathLinkModule"] + addUrlParams + "&editorNo=" + editorNumber + "&typo3ContentLanguage=" + RTEarea[editorNumber]["typo3ContentLanguage"] + "&typo3ContentCharset=" + encodeURIComponent(RTEarea[editorNumber]["typo3ContentCharset"]), null, backreturn, 550, 350, null, "yes");
-	return false;
-};
-
-/*
- * Add a link to the selection.
- * This function is called from the TYPO3 link popup.
- */
-HTMLArea.prototype.renderPopup_addLink = function(theLink,cur_target,cur_class,cur_title) {
-	var a, sel = null, range = null, node = null, imageNode = null;
-	this.focusEditor();
-	node = this.getParentElement();
-	var el = HTMLArea.getElementObject(node,"a");
-	if (el != null && el.tagName && el.tagName.toLowerCase() == "a") node = el;
-	if (node != null && node.tagName && node.tagName.toLowerCase() == "a") this.selectNode(node);
-		// Clean images from existing anchors otherwise Mozilla may create nested anchors
-	if (this.classesAnchorSetup) {
-		sel = this._getSelection();
-		range = this._createRange(sel);
-		this.cleanAllLinks(node, range, true);
-	}
-
-	this._doc.execCommand("CreateLink", false, theLink);
-
-	sel = this._getSelection();
-	range = this._createRange(sel);
-	node = this.getParentElement();
-	var el = HTMLArea.getElementObject(node,"a");
-	if (el != null && el.tagName && el.tagName.toLowerCase() == "a") node = el;
-	if (node) {
-		if (this.classesAnchorSetup && cur_class) {
-			for (var i = this.classesAnchorSetup.length; --i >= 0;) {
-				var anchorClass = this.classesAnchorSetup[i];
-				if(anchorClass['name'] == cur_class && anchorClass["image"]) {
-					imageNode = this._doc.createElement("img");
-					imageNode.src = anchorClass["image"];
-					imageNode.alt = anchorClass["altText"];
-					break;
-				}
-			}
-		}
-			// We may have created multiple links in as many blocks
-		this.setLinkAttributes(node, range, cur_target, cur_class, cur_title, imageNode);
-	}
-
-	Dialog._modal.close();
-	this.updateToolbar();
-};
-
-/*
- * Set attributes of anchors intersecting a range in the given node
- */
-HTMLArea.prototype.setLinkAttributes = function(node,range,cur_target,cur_class,cur_title,imageNode) {
-	if (node.tagName && node.tagName.toLowerCase() == "a") {
-		var nodeInRange = false;
-		if (HTMLArea.is_gecko) {
-			nodeInRange = this.rangeIntersectsNode(range, node);
-		} else {
-			if (this._getSelection().type.toLowerCase() == "control") {
-					// we assume an image is selected
-				nodeInRange = true;
-			} else {
-				var nodeRange = this._doc.body.createTextRange();
-				nodeRange.moveToElementText(node);
-				nodeInRange = range.inRange(nodeRange) || (range.compareEndPoints("StartToStart", nodeRange) == 0) || (range.compareEndPoints("EndToEnd", nodeRange) == 0);
-			}
-		}
-		if (nodeInRange) {
-			if (imageNode != null) node.insertBefore(imageNode.cloneNode(false), node.firstChild);
-			if (cur_target.trim()) node.target = cur_target.trim();
-				else node.removeAttribute("target");
-			if (cur_class.trim()) {
-				node.className = cur_class.trim();
-			} else {
-				if (HTMLArea.is_gecko) node.removeAttribute('class');
-					else node.removeAttribute('className');
-			}
-			if (cur_title.trim()) {
-				node.title = cur_title.trim();
-			} else {
-				node.removeAttribute("title");
-				node.removeAttribute("rtekeep");
-			}
-		}
-	} else {
-		for (var i = node.firstChild;i;i = i.nextSibling) {
-			if (i.nodeType == 1 || i.nodeType == 11) this.setLinkAttributes(i, range, cur_target, cur_class, cur_title, imageNode);
-		}
-	}
-};
-
-/*
- * Clean up images in special anchor classes
- */
-HTMLArea.prototype.cleanClassesAnchorImages = function(node) {
-	var nodeArray = [], splitArray1 = [], splitArray2 = [];
-	for (var childNode = node.firstChild; childNode; childNode = childNode.nextSibling) {
-		if (childNode.tagName && childNode.tagName.toLowerCase() == "img") {
-			splitArray1 = childNode.src.split("/");
-			for (var i = this.classesAnchorSetup.length; --i >= 0;) {
-				if (this.classesAnchorSetup[i]["image"]) {
-					splitArray2 = this.classesAnchorSetup[i]["image"].split("/");
-					if (splitArray1[splitArray1.length-1] == splitArray2[splitArray2.length-1]) {
-						nodeArray.push(childNode);
-						break;
-					}
-				}
-			}
-		}
-	}
-	for (i = nodeArray.length; --i >= 0;) {
-		node.removeChild(nodeArray[i]);
-	}
-};
-
-/*
- * Clean up all anchors intesecting with the range in the given node
- */
- HTMLArea.prototype.cleanAllLinks = function(node,range,keepLinks) {
-	if (node.tagName && node.tagName.toLowerCase() == "a") {
-		var intersection = false;
-		if (HTMLArea.is_gecko) {
-			intersection = this.rangeIntersectsNode(range, node);
-		} else {
-			if (this._getSelection().type.toLowerCase() == "control") {
-					// we assume an image is selected
-				intersection = true;
-			} else {
-				var nodeRange = this._doc.body.createTextRange();
-				nodeRange.moveToElementText(node);
-				intersection = range.inRange(nodeRange) || ((range.compareEndPoints("StartToStart", nodeRange) > 0) && (range.compareEndPoints("StartToEnd", nodeRange) < 0)) || ((range.compareEndPoints("EndToStart", nodeRange) > 0) && (range.compareEndPoints("EndToEnd", nodeRange) < 0));
-			}
-		}
-		if (intersection) {
-			this.cleanClassesAnchorImages(node);
-			if (!keepLinks) {
-				while(node.firstChild) node.parentNode.insertBefore(node.firstChild, node);
-				node.parentNode.removeChild(node);
-			}
-		}
-	} else {
-		for (var i = node.firstChild;i;i = i.nextSibling) {
-			if (i.nodeType == 1 || i.nodeType == 11) this.cleanAllLinks(i, range, keepLinks);
-		}
-	}
-};
-
-/*
- * Unlink the selection.
- * This function is called from the TYPO3 link popup and from the context menu.
- */
-HTMLArea.prototype.renderPopup_unLink = function() {
-	this.focusEditor();
-	var node = this.getParentElement();
-	var el = HTMLArea.getElementObject(node,"a");
-	if (el != null && el.tagName && el.tagName.toLowerCase() == "a") node = el;
-	if (node != null && node.tagName && node.tagName.toLowerCase() == "a") this.selectNode(node);
-	if (this.classesAnchorSetup) {
-		var sel = this._getSelection();
-		var range = this._createRange(sel);
-		if (HTMLArea.is_gecko) {
-			this.cleanAllLinks(node, range, false);
-		} else {
-			this.cleanAllLinks(node, range, true);
-			this._doc.execCommand("Unlink", false, "");
-		}
-
-	} else {
-		this._doc.execCommand("Unlink", false, "");
-	}
-	if(Dialog._modal) Dialog._modal.close();
-};
-
-/*
- * IE-Browsers strip URL's to relative URL's. But for the TYPO3 backend we need absolute URL's.
- * This function overloads the normal stripBaseURL-function (which generate relative URLs).
- */
-HTMLArea.prototype.nonStripBaseURL = function(url) {
-	return url;
-};
-
-TYPO3Browsers.prototype.onGenerate = function() {
-	var editor = this.editor;
-	//editor._insertImage = editor.renderPopup_image;
-	editor._createLink = editor.renderPopup_link;
-	editor.stripBaseURL = editor.nonStripBaseURL;
-};
Index: typo3/sysext/rtehtmlarea/htmlarea/skins/default/htmlarea.css
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/skins/default/htmlarea.css	(révision 4248)
+++ typo3/sysext/rtehtmlarea/htmlarea/skins/default/htmlarea.css	(copie de travail)
@@ -98,8 +98,6 @@
 .htmlarea .toolbar .InsertUnorderedList {background-image:url("images/ed_list_bullet.gif");}
 .htmlarea .toolbar .ForeColor {background-image:url("images/ed_color_fg.gif");}
 .htmlarea .toolbar .HiliteColor {background-image:url("images/ed_color_bg.gif");}
-.htmlarea .toolbar .CO-forecolor {background-image:url("images/SelectColor/CO-forecolor.gif");}
-.htmlarea .toolbar .CO-hilitecolor {background-image:url("images/SelectColor/CO-hilitecolor.gif");}
 .htmlarea .toolbar .InsertSmiley {background-image:url("images/InsertSmiley/ed_smiley.gif");}
 .htmlarea .toolbar .InsertCharacter {background-image:url("images/CharacterMap/ed_charmap.gif");}
 .htmlarea .toolbar .InsertHorizontalRule {background-image:url("images/ed_hr.gif");}
Index: typo3/sysext/rtehtmlarea/htmlarea/skins/default/images/SelectColor/CO-forecolor.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
Index: typo3/sysext/rtehtmlarea/htmlarea/skins/default/images/SelectColor/CO-hilitecolor.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
Index: typo3/sysext/rtehtmlarea/htmlarea/skins/default/images/TYPO3Browsers/ed_image.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
Index: typo3/sysext/rtehtmlarea/htmlarea/skins/default/images/TYPO3Browsers/ed_link.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
Index: typo3/sysext/rtehtmlarea/htmlarea/skins/default/images/TYPO3Browsers/ed_unlink.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
Index: typo3/sysext/t3skin/rtehtmlarea/htmlarea.css
===================================================================
--- typo3/sysext/t3skin/rtehtmlarea/htmlarea.css	(révision 4248)
+++ typo3/sysext/t3skin/rtehtmlarea/htmlarea.css	(copie de travail)
@@ -108,8 +108,6 @@
 .htmlarea .toolbar .InsertUnorderedList {background-image:url("images/ed_list_bullet.gif");}
 .htmlarea .toolbar .ForeColor {background-image:url("images/ed_color_fg.gif");}
 .htmlarea .toolbar .HiliteColor {background-image:url("images/ed_color_bg.gif");}
-.htmlarea .toolbar .CO-forecolor {background-image:url("images/SelectColor/CO-forecolor.gif");}
-.htmlarea .toolbar .CO-hilitecolor {background-image:url("images/SelectColor/CO-hilitecolor.gif");}
 .htmlarea .toolbar .InsertSmiley {background-image:url("images/InsertSmiley/ed_smiley.gif");}
 .htmlarea .toolbar .InsertCharacter {background-image:url("images/CharacterMap/ed_charmap.gif");}
 .htmlarea .toolbar .InsertHorizontalRule {background-image:url("images/ed_hr.gif");}
Index: typo3/sysext/t3skin/rtehtmlarea/images/SelectColor/CO-forecolor.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
Index: typo3/sysext/t3skin/rtehtmlarea/images/SelectColor/CO-hilitecolor.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
Index: typo3/sysext/t3skin/rtehtmlarea/images/TYPO3Browsers/ed_image.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
Index: typo3/sysext/t3skin/rtehtmlarea/images/TYPO3Browsers/ed_link.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
Index: typo3/sysext/t3skin/rtehtmlarea/images/TYPO3Browsers/ed_unlink.gif
===================================================================
Impossible d'afficher : fichier considéré comme binaire.
svn:mime-type = application/octet-stream
