Index: /FCKeditor/trunk/_whatsnew.html
===================================================================
--- /FCKeditor/trunk/_whatsnew.html	(revision 1601)
+++ /FCKeditor/trunk/_whatsnew.html	(revision 1602)
@@ -139,4 +139,7 @@
 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1509">#1509</a>] InsertHtml() in IE will no
 			longer turn the preceding normal whitespace into &amp;nbsp;.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/958">#958</a>] The AddItem method now has an
+			additional fifth parameter "customData" that will be send to the Execute method of the command for that 
+			menu item, allowing a single command to be used for different menu items..</li>
 	</ul>
 	<p>
Index: /FCKeditor/trunk/editor/_source/classes/fckcontextmenu.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckcontextmenu.js	(revision 1601)
+++ /FCKeditor/trunk/editor/_source/classes/fckcontextmenu.js	(revision 1602)
@@ -58,7 +58,11 @@
 }
 
-FCKContextMenu.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled )
-{
-	var oItem = this._MenuBlock.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled) ;
+/**
+ The customData parameter is just a value that will be send to the command that is executed, 
+ so it's possible to reuse the same command for several items just by assigning different data for each one.
+*/
+FCKContextMenu.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData )
+{
+	var oItem = this._MenuBlock.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData ) ;
 	this._Redraw = true ;
 	return oItem ;
Index: /FCKeditor/trunk/editor/_source/classes/fckmenublock.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckmenublock.js	(revision 1601)
+++ /FCKeditor/trunk/editor/_source/classes/fckmenublock.js	(revision 1602)
@@ -34,7 +34,7 @@
 }
 
-FCKMenuBlock.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled )
+FCKMenuBlock.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData )
 {
-	var oItem = new FCKMenuItem( this, name, label, iconPathOrStripInfoArrayOrIndex, isDisabled ) ;
+	var oItem = new FCKMenuItem( this, name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData ) ;
 
 	oItem.OnClick		= FCKTools.CreateEventListener( FCKMenuBlock_Item_OnClick, this ) ;
Index: /FCKeditor/trunk/editor/_source/classes/fckmenuitem.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckmenuitem.js	(revision 1601)
+++ /FCKeditor/trunk/editor/_source/classes/fckmenuitem.js	(revision 1602)
@@ -22,5 +22,5 @@
  */
 
-var FCKMenuItem = function( parentMenuBlock, name, label, iconPathOrStripInfoArray, isDisabled )
+var FCKMenuItem = function( parentMenuBlock, name, label, iconPathOrStripInfoArray, isDisabled, customData )
 {
 	this.Name		= name ;
@@ -33,4 +33,5 @@
 	this.SubMenu.Parent		= parentMenuBlock ;
 	this.SubMenu.OnClick	= FCKTools.CreateEventListener( FCKMenuItem_SubMenu_OnClick, this ) ;
+	this.CustomData = customData ;
 
 	if ( FCK.IECleanup )
@@ -40,8 +41,8 @@
 FCKMenuItem.prototype.TypeName = 'FCKMenuItem' ;		// @Packager.RemoveLine
 
-FCKMenuItem.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled )
+FCKMenuItem.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData )
 {
 	this.HasSubMenu = true ;
-	return this.SubMenu.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled ) ;
+	return this.SubMenu.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData ) ;
 }
 
Index: /FCKeditor/trunk/editor/_source/internals/fck_contextmenu.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fck_contextmenu.js	(revision 1601)
+++ /FCKeditor/trunk/editor/_source/internals/fck_contextmenu.js	(revision 1602)
@@ -326,4 +326,4 @@
 {
 	FCK.Focus() ;
-	FCKCommands.GetCommand( item.Name ).Execute() ;
-}
+	FCKCommands.GetCommand( item.Name ).Execute( item.CustomData ) ;
+}
