Index: /MediaWiki/trunk/FCKeditor.body.php
===================================================================
--- /MediaWiki/trunk/FCKeditor.body.php	(revision 2467)
+++ /MediaWiki/trunk/FCKeditor.body.php	(revision 2468)
@@ -284,4 +284,5 @@
 		global $wgStylePath, $wgStyleVersion, $wgDefaultSkin, $wgExtensionFunctions;
 		global $wgFCKWikiTextBeforeParse;
+		global $wgHooks;
 
 		if (!isset($this->showFCKEditor))
@@ -362,4 +363,12 @@
 			$script .= 'sEditorAreaCSS += ",'.implode(',', $userStyles).'";';
 		}
+		
+		$showRef = false;
+		if (isset ($wgHooks['ParserFirstCallInit']) && (in_array('wfCite',$wgHooks['ParserFirstCallInit']) )){
+			$showRef = true;
+		}else if (isset ($wgExtensionFunctions) && (in_array('wfCite',$wgExtensionFunctions) )){
+			$showRef = true;
+		}
+
 		$script .= '
 var showFCKEditor = '. $this->showFCKEditor .';
@@ -383,4 +392,5 @@
 oFCKeditor.ToolbarSet = "'. $wgFCKEditorToolbarSet .'" ; 
 oFCKeditor.ready = true;
+oFCKeditor.Config["showreferences"] = '.(($showRef)?'true':'false').';
 ';
 		$script .= '</script>';
Index: /MediaWiki/trunk/fckeditor_config.js
===================================================================
--- /MediaWiki/trunk/fckeditor_config.js	(revision 2467)
+++ /MediaWiki/trunk/fckeditor_config.js	(revision 2468)
@@ -13,5 +13,5 @@
 	['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
 	['SpecialChar','Table','Image','Rule'],
-	['MW_Template','MW_Special','MW_Ref','MW_Math'],
+	['MW_Template','MW_Special','MW_Ref','MW_References','MW_Math'],
 	'/',
 	['FontFormat'],
Index: /MediaWiki/trunk/plugins/mediawiki/fckplugin.js
===================================================================
--- /MediaWiki/trunk/plugins/mediawiki/fckplugin.js	(revision 2467)
+++ /MediaWiki/trunk/plugins/mediawiki/fckplugin.js	(revision 2468)
@@ -37,7 +37,41 @@
 FCKToolbarItems.RegisterItem( 'MW_Template', tbButton ) ;
 
-tbButton = new FCKToolbarButton( 'MW_Ref', 'Reference', FCKLang.wikiBtnReference || 'Insert/Edit Reference' ) ;
+//Ref button
+tbButton = new FCKToolbarButton( 'MW_Ref', 'Ref', FCKLang.wikiBtnReference || 'Insert/Edit Reference' ) ;
 tbButton.IconPath = FCKConfig.PluginsPath + 'mediawiki/images/tb_icon_ref.gif' ;
 FCKToolbarItems.RegisterItem( 'MW_Ref', tbButton ) ;
+if ( !FCKConfig.showreferences ) {		//hack to disable MW_Ref  button
+	tbButton.Create = function()		{return 0;}
+	tbButton.Disable  = function()	{return 0;}
+	tbButton.RefreshState  = function()	{return 0;} 
+}
+
+//References button
+var FCKReferences = function( )	{	} ;
+FCKReferences.prototype.GetState = function()	{ return ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED) } ;
+FCKCommands.RegisterCommand( 'MW_References', new FCKReferences() ) ;
+tbButton = new FCKToolbarButton( 'MW_References', 'References', FCKLang.wikiBtnReferences || 'Insert <references /> tag', FCK_TOOLBARITEM_ICONTEXT,true, true, 1  );
+tbButton.IconPath = FCKConfig.PluginsPath + 'mediawiki/images/tb_icon_ref.gif' ;
+if ( !FCKConfig.showreferences ) {		//hack to disable MW_References  button
+	tbButton.Create = function()		{return 0;}
+	tbButton.Disable  = function()	{return 0;} 
+	tbButton.RefreshState  = function()	{return 0;} 
+}
+
+FCKReferences.prototype.Execute = function()
+{
+	if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG ) 
+		return ;
+	
+	FCKUndo.SaveUndoStep() ;
+
+	var e = FCK.EditorDocument.createElement( 'span' ) ;
+	e.setAttribute("_fck_mw_customtag", "true");
+	e.setAttribute("_fck_mw_tagname", "references");
+	e.className = "fck_mw_references";
+	
+	oFakeImage = FCK.InsertElement( FCKDocumentProcessor_CreateFakeImage( 'FCK__MWReferences', e ) ) ;
+}
+FCKToolbarItems.RegisterItem( 'MW_References', tbButton ) ;
 
 tbButton = new FCKToolbarButton( 'MW_Math', 'Formula', FCKLang.wikiBtnFormula || 'Insert/Edit Formula' ) ;
Index: /MediaWiki/trunk/plugins/mediawiki/lang/en.js
===================================================================
--- /MediaWiki/trunk/plugins/mediawiki/lang/en.js	(revision 2467)
+++ /MediaWiki/trunk/plugins/mediawiki/lang/en.js	(revision 2468)
@@ -10,4 +10,5 @@
 FCKLang.wikiBtnTemplate				= 'Insert/Edit Template';
 FCKLang.wikiBtnReference			= 'Insert/Edit Reference';
+FCKLang.wikiBtnReference			= 'Insert <references /> tag';
 FCKLang.wikiBtnFormula				= 'Insert/Edit Formula';
 FCKLang.wikiBtnSpecial				= 'Insert/Edit Special Tag';
Index: /MediaWiki/trunk/plugins/mediawiki/lang/pl.js
===================================================================
--- /MediaWiki/trunk/plugins/mediawiki/lang/pl.js	(revision 2467)
+++ /MediaWiki/trunk/plugins/mediawiki/lang/pl.js	(revision 2468)
@@ -10,4 +10,5 @@
 FCKLang.wikiBtnTemplate				= 'Wstaw/edytuj szablon';
 FCKLang.wikiBtnReference			= 'Wstaw/edytuj przypis';
+FCKLang.wikiBtnReference			= 'Wstaw znacznik <references />';
 FCKLang.wikiBtnFormula				= 'Wstaw/edytuj formułę matematyczną';
 FCKLang.wikiBtnSpecial				= 'Wstaw/edytuj specialny znacznik';
