Index: /CKEditor/branches/features/contenteditable/_source/plugins/clipboard/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/clipboard/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/clipboard/plugin.js	(revision 5609)
@@ -1,3 +1,3 @@
-﻿/*
+/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -387,12 +387,13 @@
 					}
 
-					editor.contextMenu.addListener( function()
+					editor.contextMenu.addListener( function( element, selection )
 						{
+							var readOnly = selection.getCommonAncestor().isReadOnly();
 							return {
-								cut : stateFromNamedCommand( 'Cut' ),
+								cut : !readOnly && stateFromNamedCommand( 'Cut' ),
 
 								// Browser bug: 'Cut' has the correct states for both Copy and Cut.
 								copy : stateFromNamedCommand( 'Cut' ),
-								paste : CKEDITOR.env.webkit ? CKEDITOR.TRISTATE_OFF : stateFromNamedCommand( 'Paste' )
+								paste : !readOnly && ( CKEDITOR.env.webkit ? CKEDITOR.TRISTATE_OFF : stateFromNamedCommand( 'Paste' ) )
 							};
 						});
Index: /CKEditor/branches/features/contenteditable/_source/plugins/div/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/div/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/div/plugin.js	(revision 5609)
@@ -96,5 +96,5 @@
 					editor.contextMenu.addListener( function( element, selection )
 						{
-							if ( !element )
+							if ( !element || element.isReadOnly())
 								return null;
 
Index: /CKEditor/branches/features/contenteditable/_source/plugins/flash/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/flash/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/flash/plugin.js	(revision 5609)
@@ -91,5 +91,6 @@
 				editor.contextMenu.addListener( function( element, selection )
 					{
-						if ( element && element.is( 'img' ) && element.getAttribute( '_cke_real_element_type' ) == 'flash' )
+						if ( element && element.is( 'img' ) && !element.isReadOnly()
+								&& element.getAttribute( '_cke_real_element_type' ) == 'flash' )
 							return { flash : CKEDITOR.TRISTATE_OFF };
 					});
Index: /CKEditor/branches/features/contenteditable/_source/plugins/forms/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/forms/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/forms/plugin.js	(revision 5609)
@@ -1,3 +1,3 @@
-﻿/*
+/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -132,5 +132,5 @@
 			editor.contextMenu.addListener( function( element )
 				{
-					if ( element && element.hasAscendant( 'form', true ) )
+					if ( element && element.hasAscendant( 'form', true ) && !element.isReadOnly() )
 						return { form : CKEDITOR.TRISTATE_OFF };
 				});
@@ -138,5 +138,5 @@
 			editor.contextMenu.addListener( function( element )
 				{
-					if ( element )
+					if ( element && !element.isReadOnly() )
 					{
 						var name = element.getName();
Index: /CKEditor/branches/features/contenteditable/_source/plugins/image/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/image/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/image/plugin.js	(revision 5609)
@@ -54,5 +54,5 @@
 			editor.contextMenu.addListener( function( element, selection )
 				{
-					if ( !element || !element.is( 'img' ) || element.getAttribute( '_cke_realelement' ) )
+					if ( !element || !element.is( 'img' ) || element.getAttribute( '_cke_realelement' ) || element.isReadOnly() )
 						return null;
 
Index: /CKEditor/branches/features/contenteditable/_source/plugins/link/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/link/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/link/plugin.js	(revision 5609)
@@ -111,5 +111,5 @@
 			editor.contextMenu.addListener( function( element, selection )
 				{
-					if ( !element )
+					if ( !element || element.isReadOnly() )
 						return null;
 
Index: /CKEditor/branches/features/contenteditable/_source/plugins/liststyle/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/liststyle/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/liststyle/plugin.js	(revision 5609)
@@ -43,5 +43,5 @@
 				editor.contextMenu.addListener( function( element, selection )
 					{
-						if ( !element )
+						if ( !element || element.isReadOnly() )
 							return null;
 
Index: /CKEditor/branches/features/contenteditable/_source/plugins/scayt/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/scayt/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/scayt/plugin.js	(revision 5609)
@@ -627,7 +627,8 @@
 			if ( editor.contextMenu && editor.addMenuItems )
 			{
-				editor.contextMenu.addListener( function(  )
-					{
-						if ( !plugin.isScaytEnabled( editor ) )
+				editor.contextMenu.addListener( function( element, selection )
+					{
+						if ( !plugin.isScaytEnabled( editor )
+								|| selection.getCommonAncestor().isReadOnly() )
 							return null;
 
Index: /CKEditor/branches/features/contenteditable/_source/plugins/table/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/table/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/table/plugin.js	(revision 5609)
@@ -1,3 +1,3 @@
-﻿/*
+/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -59,5 +59,5 @@
 			editor.contextMenu.addListener( function( element, selection )
 				{
-					if ( !element )
+					if ( !element || element.isReadOnly())
 						return null;
 
Index: /CKEditor/branches/features/contenteditable/_source/plugins/tabletools/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/tabletools/plugin.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/tabletools/plugin.js	(revision 5609)
@@ -1089,5 +1089,5 @@
 				editor.contextMenu.addListener( function( element, selection )
 					{
-						if ( !element )
+						if ( !element || element.isReadOnly() )
 							return null;
 
Index: /CKEditor/branches/features/contenteditable/config.js
===================================================================
--- /CKEditor/branches/features/contenteditable/config.js	(revision 5608)
+++ /CKEditor/branches/features/contenteditable/config.js	(revision 5609)
@@ -9,3 +9,10 @@
 	// config.language = 'fr';
 	// config.uiColor = '#AADC6E';
+	config.scayt_autoStartup = false;
+//	config.emailProtection = 'mt(NAME,DOMAIN,SUBJECT,BODY)';
+//	config.toolbar = [ ['Templates','-','Styles','Format','Font','FontSize'] ];
+//	config.enterMode = 1;
+//	config.shiftEnterMode = 1;
+//	config.forceEnterMode = true;
+//	config.resize_dir = 'horizontal';
 };
