Index: CKEditor/branches/versions/3.3.x/CHANGES.html
===================================================================
--- CKEditor/branches/versions/3.3.x/CHANGES.html	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/CHANGES.html	(revision 5388)
@@ -53,14 +53,27 @@
 		New features:</p>
 	<ul>
+		<li></li>
+	</ul>
+	<p>
+		Fixed issues:</p>
+	<ul>
+		<li><a href="http://dev.fckeditor.net/ticket/5330">#5330</a> : Corrected detection of Ctrl and Meta keys in Macs for the context menu.</li>
+	</ul>
+	<h3>
+		CKEditor 3.2.1</h3>
+	<p>
+		New features:</p>
+	<ul>
 		<li><a href="http://dev.fckeditor.net/ticket/4478">#4478</a> : Enable the SelectAll command in source mode.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5150">#5150</a> : Allow names in the CKEDITOR.config.colorButton_colors setting.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4810">#4810</a> : Adding configuration option for image dialog preview area filling text.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/536">#536</a> : Object style now could be applied on any parent element of current selection.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5290">#5290</a> : Unified stylesSet loading removing dependecies from the styles combo. 
-					Now the configuration entry is named 'config.stylesSet' instead of config.stylesCombo_stylesSet and the default location 
+		<li><a href="http://dev.fckeditor.net/ticket/5290">#5290</a> : Unified stylesSet loading removing dependencies from the styles combo.
+					Now the configuration entry is named 'config.stylesSet' instead of config.stylesCombo_stylesSet and the default location
 					is under the 'styles' plugin instead of 'stylescombo'.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5302">#5302</a> : Adding config option 'CKEDITOR.config.forceEnterMode'.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5352">#5352</a> : Allow to define the stylesSet array in the config object for the editor.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5302">#5302</a> : Adding config option "forceEnterMode".</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5216">#5216</a> : Extend CKEDITOR.appendTo to allow a data parameter for the initial value.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5352">#5352</a> : Allow to define the stylesSet array in the config object for the editor.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5024">#5024</a> : Added sample to show how to output XHTML and avoid deprecated tags.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/3893">#3893</a> : It's now possible to indent/outdent the entire list when selecting the first list item.</li>
 	</ul>
@@ -68,7 +81,7 @@
 		Fixed issues:</p>
 	<ul>
-		<li><a href="http://dev.fckeditor.net/ticket/5152">#5152</a> : Indentation using classes didn't work properly.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4682">#4682</a> : It wasn't possible to edit elements in IE that had some styles like width, height or float.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4750">#4750</a> : Corrected default order of buttons in dialogs for Mac.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5152">#5152</a> : Indentation using class attribute doesn't work properly.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4682">#4682</a> : It wasn't possible to edit block elements in IE that had styles like width, height or float.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4750">#4750</a> : Correcting default order of buttons layout in dialogs on Mac.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4932">#4932</a> : Fixed collapse button not clickable on simple toolbar.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5228">#5228</a> : Link dialog is automatically changes protocol when URLs that starts with '?'.</li>
@@ -77,53 +90,84 @@
 		<li><a href="http://dev.fckeditor.net/ticket/3599">#3599</a> : Background color style on sized text displayed as narrow band behind.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4661">#4661</a> : Translation missing in link dialog.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5240">#5240</a> : Flash alignment property is not presented visually.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5240">#5240</a> : Flash alignment property is not presented visually on fake element.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4910">#4910</a> : Pasting in IE scrolls document to the end.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5041">#5041</a> : Table summary attribute can't be removed with dialog.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5124">#5124</a> : All inline styles cannot be set separately for empty spaces.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/3570">#3570</a> : SCAYT marker should not appear in elementspath bar.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5124">#5124</a> : All inline styles cannot be applied on empty spaces.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3570">#3570</a> : SCAYT marker shouldn't appear inside elements path bar.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4553">#4553</a> : Dirty check result incorrect when editor document is empty.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4555">#4555</a> : Non-released memory when editor is created and destroyed.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4555">#4555</a> : Unreleased memory when editor is created and destroyed.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5118">#5118</a> : Arrow keys navigation in RTL languages is incorrect.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4721">#4721</a> : Remove attribute 'value' of checkbox in IE.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5278">#5278</a> : IE: Add validation to check for bad window names of popup window.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5171">#5171</a> : Dialogs contains lists don't have proper voice labels.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4791">#4791</a> : Can't place cusor inside a form that end with a checkbox/radio.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4479">#4479</a> : Style combo doesn't reflect the selection until it's first opened.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4791">#4791</a> : Can't place cursor inside a form that end with a checkbox/radio.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4479">#4479</a> : StylesCombo doesn't reflect the selection state until it's first opened.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4717">#4717</a> : 'Unlink' and 'Outdent' command buttons should be disabled on editor startup.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5119">#5119</a> : Disabled command buttons are not being properly marked when focused.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5307">#5307</a> : Hide dialog page cause problem when there's only two remains.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5119">#5119</a> : Disabled command buttons are not being properly styled when focused.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5307">#5307</a> : Hide dialog page cause problem when there's two tab pages remain.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5343">#5343</a> : Active list item ARIA role is wrongly placed.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/3599">#3599</a> : Background color style apply to text with font size been narrowly rendered.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4711">#4711</a> : Line break inside preformatted text make it unable to type text at the end of previous line.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4829">#4829</a> : [IE] Apply style from combo has wrong result on manual created selection.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3599">#3599</a> : Background color style applying to text with font size style has been narrowly rendered.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4711">#4711</a> : Line break character inside preformatted text makes it unable to type text at the end of previous line.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4829">#4829</a> : [IE] Apply style from combo has wrong result on manually created selection.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4830">#4830</a> : Retrieving selected element isn't always right, especially selecting using keyboard (SHIFT+ARROW).</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5128">#5128</a> : Element attribute inside preformatted text is incorrectly corrupted when converting to other blocks.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5190">#5190</a> : Template entry should not gain initial focus in templates list dialog.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5128">#5128</a> : Element attribute inside preformatted text is corrupted when converting to other blocks.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5190">#5190</a> : Template list entry shouldn't gain initial focus open templates list dialog opens.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5238">#5238</a> : Menu button doesn't display arrow icon in high-contrast mode.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/3576">#3576</a> : Non-attributed element of the same name with the applied style is correctly removed.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3576">#3576</a> : Non-attributed element of the same name with the applied style is incorrectly removed.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5221">#5221</a> : Insert table into empty document cause JavaScript error thrown.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5242">#5242</a> : Apply 'automatic' color option of text color incorrectly removes background-color style.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4719">#4719</a> : IE does not escape attribute values properly.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5170">#5170</a> : Firefox does not insert  text into element properly.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5170">#5170</a> : Firefox does not insert text into styled element properly.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4026">#4026</a> : Office2003 skin has no toolbar button borders in High Contrast in IE7.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4348">#4348</a> : There should have exception thrown when 'CKEDITOR_BASEPATH' could be figured out automatically.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5364">#5364</a> : Focus may not put into dialog correctly when dialog skin file is loading slow.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4016">#4016</a> : justify the layout of forms select dialog in Chrome and IE7.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5373">#5373</a> : fix pathBlockElements wrong items in elementpath.js.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4348">#4348</a> : There should have exception thrown when 'CKEDITOR_BASEPATH' couldn't be figured out automatically.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5364">#5364</a> : Focus may not be put into dialog correctly when dialog skin file is loading slow.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4016">#4016</a> : Justify the layout of forms select dialog in Chrome and IE7.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5373">#5373</a> : Variable 'pathBlockElements' defines wrong items in CKEDITOR.dom.elementPath.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5082">#5082</a> : Ctrl key should be described as Cmd key on Mac.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5182">#5182</a> : Context menu is not been announced correctly by ATs.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/4898">#4898</a> : Can't navigate outside table inside the last paragraph of document.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4898">#4898</a> : Can't navigate outside table under the last paragraph of document.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4950">#4950</a> : List commands could compromise list item attribute and styles.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5018">#5018</a> : Find result highlight remove normal font color styles unintentionally.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5376">#5376</a> : Unable to exit list from within a empty block inside list item.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5018">#5018</a> : Find result highlighting remove normal font color styles unintentionally.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5376">#5376</a> : Unable to exit list from within a empty block under list item.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5145">#5145</a> : Various SCAYT fixes.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5319">#5319</a> : Match whole word doesn't work after replacement happened.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5319">#5319</a> : Match whole word doesn't work anymore after replacement has happened.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5363">#5363</a> : 'title' attribute now presents on all editor iframes.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5374">#5374</a> : Unable to toggle inline style when selection start from the linefeed of the previous paragraph.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5374">#5374</a> : Unable to toggle inline style when the selection starts at the linefeed of the previous paragraph.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4513">#4513</a> : Selected link element is not always correctly detected when using keyboard arrows to perform such selection.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5372">#5372</a> : Newly created sub list should not inheirt nothing from the original (parent) list except list type.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5372">#5372</a> : Newly created sub list should inherit nothing from the original (parent) list, except the list type.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5274">#5274</a> : [IE6] Templates preview image is displayed in wrong size.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5292">#5292</a> : Preview in font size and family doesn't work with custom styles.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5396">#5396</a> : Selection is lost when use cell properties dialog to change cell type to header.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4082">#4082</a> : [IE+Quirks] Preview text in the image dialog is not wrapping.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4197">#4197</a> : Fixing format combo don't hide when editor blur on Safari.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5401">#5401</a> : The context menu break layout with Office2003 and V2 skin on IE quirks mode.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4825">#4825</a> : Fixing browser context menu is opened when clicking right mouse button twice.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5356">#5356</a> : The SCAYT dialog had issues with Prototype enabled pages.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5266">#5266</a> : SCAYT was disturbing the rendering of TH elements.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4688">#4688</a> : SCAYT was interfering on checkDirty.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5429">#5429</a> : High Contrast mode was being mistakenly detected when loading the editor through Dojo's xhrGet.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5221">#5221</a> : Range is mangled when making collapsed selection in an empty paragraph.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5261">#5261</a> : Config option 'scayt_autoStartup' slow down editor loading.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3846">#3846</a> : Google Chrome - No Img properties after inserting.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5465">#5465</a> : ShiftEnter=DIV doesn't respect list item when pressing enter at end of list item.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5454">#5454</a> : After replaced success, the popup window couldn't be closed and a js error occured.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4784">#4784</a> : Incorrect cursor position after delete table cells.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5149">#5149</a> : [FF] Cursor disappears after maximize when the editor has focus.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5220">#5220</a> : DTD now shows tolerance to &lt;style&gt; appear inside content.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5540">#5540</a> : Mobile browsers (iPhone, Android...) are marked as incompatible as they don't support editing features.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5504">#5504</a> : [IE6/7] 'Paste' dialog will always get opened even when user allows the clipboard access dialog when using 'Paste' button.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3601">#3601</a> : [Safari] Bad performance when drag editor chrome resizer.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4476">#4476</a> : [IE] Inaccessible empty list item contains sub list.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4881">#4881</a> : [IE] Selection range broken because of cutting a single control type element from it.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5505">#5505</a> : Image dialog throw JavaScript error when click close dialog before preview area is loading.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5144">#5144</a> : [Chrome] Paste in webkit somtimes leaves extra 'div' element.</li>
 		<li>Updated the following language files:<ul>
-			<li>Faroese;</li>
-		</ul></li>
+			<li><a href="http://dev.fckeditor.net/ticket/5326">#5326</a> : Catalan;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/5370">#5370</a> : Faroese;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/5392">#5392</a> : Finnish;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4580">#4580</a> : Hungarian;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/5301">#5301</a> : Norwegian;</li>
+		</ul></li>
+		<li><a href="http://dev.fckeditor.net/ticket/5416">#5416</a> : [IE] Delete table throws a error when  CKEDITOR.enterMode = CKEDITOR.ENTER_BR.</li>
 	</ul>
 	<h3>
Index: CKEditor/branches/versions/3.3.x/_samples/assets/output_xhtml.css
===================================================================
--- CKEditor/branches/versions/3.3.x/_samples/assets/output_xhtml.css	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_samples/assets/output_xhtml.css	(revision 5388)
@@ -1,3 +1,3 @@
-﻿/*
+/*
  * Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_samples/output_xhtml.html
===================================================================
--- CKEditor/branches/versions/3.3.x/_samples/output_xhtml.html	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_samples/output_xhtml.html	(revision 5388)
@@ -125,5 +125,5 @@
 						 * Styles combo.
 						 */
-						stylesSet : 
+						stylesSet :
 								[
 									{ name : 'Strong Emphasis', element : 'strong' },
@@ -137,5 +137,5 @@
 									{ name : 'Deleted Text', element : 'del' },
 									{ name : 'Inserted Text', element : 'ins' },
-									
+
 									{ name : 'Cited Work', element : 'cite' },
 									{ name : 'Inline Quotation', element : 'q' }
Index: CKEditor/branches/versions/3.3.x/_source/core/_bootstrap.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/_bootstrap.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/_bootstrap.js	(revision 5388)
@@ -10,4 +10,11 @@
 (function()
 {
+	// Disable HC detaction in WebKit. (#5429)
+	if ( CKEDITOR.env.webkit )
+	{
+		CKEDITOR.env.hc = false;
+		return;
+	}
+
 	// Check is High Contrast is active by creating a temporary element with a
 	// background image.
@@ -15,5 +22,4 @@
 	var useSpacer = CKEDITOR.env.ie && CKEDITOR.env.version < 7,
 		useBlank = CKEDITOR.env.ie && CKEDITOR.env.version == 7;
-
 
 	var backgroundImageUrl = useSpacer ? ( CKEDITOR.basePath + 'images/spacer.gif' ) :
@@ -37,4 +43,5 @@
 		CKEDITOR.env.hc = false;
 	}
+
 	if ( CKEDITOR.env.hc )
 		CKEDITOR.env.cssClass += ' cke_hc';
Index: CKEditor/branches/versions/3.3.x/_source/core/ckeditor_base.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/ckeditor_base.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/ckeditor_base.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -137,6 +137,6 @@
 				}
 
-				if( !path )
-						throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.'
+				if ( !path )
+						throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';
 
 				return path;
Index: CKEditor/branches/versions/3.3.x/_source/core/commanddefinition.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/commanddefinition.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/commanddefinition.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -98,5 +98,5 @@
  *     {
  *     },
- *     startDisabled : true    // Command is unavailable until selection is inside a link. 
+ *     startDisabled : true    // Command is unavailable until selection is inside a link.
  * });
  */
Index: CKEditor/branches/versions/3.3.x/_source/core/config.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/config.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/config.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/core/dom/domobject.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/dom/domobject.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/dom/domobject.js	(revision 5388)
@@ -126,5 +126,5 @@
 		{
 			var nativeListeners = this.getCustomData( '_cke_nativeListeners' );
-			for ( eventName in nativeListeners)
+			for ( var eventName in nativeListeners )
 			{
 				var listener = nativeListeners[ eventName ];
Index: CKEditor/branches/versions/3.3.x/_source/core/dom/range.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/dom/range.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/dom/range.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -1274,5 +1274,5 @@
 					}
 				}
-				
+
 				if ( endContainer && endContainer.type == CKEDITOR.NODE_TEXT )
 				{
@@ -1309,4 +1309,6 @@
 					if ( !movingOut && node.type == CKEDITOR.NODE_ELEMENT )
 						currentElement = node;
+
+					return true;
 				};
 
@@ -1833,3 +1835,2 @@
 CKEDITOR.SHRINK_ELEMENT = 1;
 CKEDITOR.SHRINK_TEXT = 2;
-
Index: CKEditor/branches/versions/3.3.x/_source/core/dtd.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/dtd.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/dtd.js	(revision 5388)
@@ -40,5 +40,5 @@
 		D = X({iframe:1},C),
 		E = {hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1},
-		F = {ins:1,del:1,script:1},
+		F = {ins:1,del:1,script:1,style:1},
 		G = X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F),
 		H = X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G),
Index: CKEditor/branches/versions/3.3.x/_source/core/editor.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/editor.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/editor.js	(revision 5388)
@@ -509,11 +509,4 @@
 				CKEDITOR.tools.removeFunction( this._.filebrowserFn );
 
-			items = editor.config.elementsPath_filters;
-			if ( items )
-			{
-				for ( index= 0 ; index < items.length ; index++ )
-					items[ index ] = null;
-			}
-
 			this.fire( 'destroy' );
 			CKEDITOR.remove( this );
Index: CKEditor/branches/versions/3.3.x/_source/core/env.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/env.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/env.js	(revision 5388)
@@ -71,4 +71,6 @@
 
 			quirks : ( document.compatMode == 'BackCompat' ),
+
+			mobile : ( agent.indexOf( 'mobile' ) > -1 ),
 
 			isCustomDomain : function()
@@ -177,4 +179,5 @@
 		 */
 		env.isCompatible =
+			!env.mobile && (
 			( env.ie && version >= 6 ) ||
 			( env.gecko && version >= 10801 ) ||
@@ -182,5 +185,5 @@
 			( env.air && version >= 1 ) ||
 			( env.webkit && version >= 522 ) ||
-			false;
+			false );
 
 		// The CSS class to be appended on the main UI containers, making it
Index: CKEditor/branches/versions/3.3.x/_source/core/htmlparser/basicwriter.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/htmlparser/basicwriter.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/htmlparser/basicwriter.js	(revision 5388)
@@ -63,5 +63,5 @@
 			// Browsers don't always escape special character in attribute values. (#4683, #4719).
 			if ( typeof attValue == 'string' )
-				attValue = CKEDITOR.tools.htmlEncodeAttr( attValue ); 
+				attValue = CKEDITOR.tools.htmlEncodeAttr( attValue );
 
 			this._.output.push( ' ', attName, '="', attValue, '"' );
Index: CKEditor/branches/versions/3.3.x/_source/core/tools.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/core/tools.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/core/tools.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -331,9 +331,9 @@
 		 * alert( CKEDITOR.tools.htmlEncodeAttr( element.getAttribute( 'title' ) );  // "&gt;a &quot; b &lt;"
 		 */
-		htmlEncodeAttr : function( text ) 
+		htmlEncodeAttr : function( text )
 		{
 			return text.replace( /"/g, '&quot;' ).replace( /</g, '&lt;' ).replace( />/, '&gt;' );
 		},
-		
+
 		/**
 		 * Replace characters can't be represented through CSS Selectors string
Index: CKEditor/branches/versions/3.3.x/_source/lang/_translationstatus.txt
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/_translationstatus.txt	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/_translationstatus.txt	(revision 5388)
@@ -7,5 +7,5 @@
 bn.js      Found: 281 Missing: 213
 bs.js      Found: 187 Missing: 307
-ca.js      Found: 404 Missing: 90
+ca.js      Found: 490 Missing: 4
 cs.js      Found: 411 Missing: 83
 cy.js      Found: 452 Missing: 42
@@ -21,5 +21,5 @@
 eu.js      Found: 403 Missing: 91
 fa.js      Found: 302 Missing: 192
-fi.js      Found: 467 Missing: 27
+fi.js      Found: 489 Missing: 5
 fo.js      Found: 420 Missing: 74
 fr-ca.js   Found: 301 Missing: 193
@@ -30,5 +30,5 @@
 hi.js      Found: 302 Missing: 192
 hr.js      Found: 404 Missing: 90
-hu.js      Found: 301 Missing: 193
+hu.js      Found: 445 Missing: 49
 is.js      Found: 307 Missing: 187
 it.js      Found: 404 Missing: 90
@@ -40,7 +40,7 @@
 mn.js      Found: 300 Missing: 194
 ms.js      Found: 265 Missing: 229
-nb.js      Found: 410 Missing: 84
+nb.js      Found: 470 Missing: 24
 nl.js      Found: 467 Missing: 27
-no.js      Found: 410 Missing: 84
+no.js      Found: 470 Missing: 24
 pl.js      Found: 411 Missing: 83
 pt-br.js   Found: 402 Missing: 92
Index: CKEditor/branches/versions/3.3.x/_source/lang/af.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/af.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/af.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/ar.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/ar.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/ar.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/bg.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/bg.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/bg.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/bn.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/bn.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/bn.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/bs.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/bs.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/bs.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/ca.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/ca.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/ca.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -32,13 +32,13 @@
 	 * of reading non-English words. So be careful while translating it.
 	 */
-	editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING
+	editorTitle : 'Editor de text enriquit, %1, prem ALT 0 per obtenir ajuda.',
 
 	// ARIA descriptions.
-	toolbar	: 'Toolbar', // MISSING
-	editor	: 'Rich Text Editor', // MISSING
+	toolbar	: 'Barra d\'eines',
+	editor	: 'Editor de text enriquit',
 
 	// Toolbar buttons without dialogs.
 	source			: 'Codi font',
-	newPage			: 'Nova Pàgina',
+	newPage			: 'Nova pàgina',
 	save			: 'Desa',
 	preview			: 'Visualització prèvia',
@@ -93,6 +93,6 @@
 		ok				: 'D\'acord',
 		cancel			: 'Cancel·la',
-		close			: 'Close', // MISSING
-		preview			: 'Preview', // MISSING
+		close			: 'Tanca',
+		preview			: 'Previsualitza',
 		generalTab		: 'General',
 		advancedTab		: 'Avançat',
@@ -100,10 +100,10 @@
 		confirmNewPage	: 'Els canvis en aquest contingut que no es desin es perdran. Esteu segur que voleu carregar una pàgina nova?',
 		confirmCancel	: 'Algunes opcions s\'han canviat. Esteu segur que voleu tancar la finestra de diàleg?',
-		options			: 'Options', // MISSING
-		target			: 'Target', // MISSING
-		targetNew		: 'New Window (_blank)', // MISSING
-		targetTop		: 'Topmost Window (_top)', // MISSING
-		targetSelf		: 'Same Window (_self)', // MISSING
-		targetParent	: 'Parent Window (_parent)', // MISSING
+		options			: 'Opcions',
+		target			: 'Destí',
+		targetNew		: 'Nova finestra (_blank)',
+		targetTop		: 'Finestra major (_top)',
+		targetSelf		: 'Mateixa finestra (_self)',
+		targetParent	: 'Finestra pare (_parent)',
 
 		// Put the voice-only part of the label in the span.
@@ -136,5 +136,5 @@
 		advanced	: 'Avançat',
 		type		: 'Tipus d\'enllaç',
-		toUrl		: 'URL', // MISSING
+		toUrl		: 'URL',
 		toAnchor	: 'Àncora en aquesta pàgina',
 		toEmail		: 'Correu electrònic',
@@ -223,5 +223,5 @@
 		widthPx		: 'píxels',
 		widthPc		: 'percentatge',
-		widthUnit	: 'width unit', // MISSING
+		widthUnit	: 'unitat d\'amplada',
 		height		: 'Alçada',
 		cellSpace	: 'Espaiat de cel·les',
@@ -274,5 +274,5 @@
 			invalidRowSpan	: 'L\'expansió de files ha de ser un nombre enter.',
 			invalidColSpan	: 'L\'expansió de columnes ha de ser un nombre enter.',
-			chooseColor		: 'Choose' // MISSING
+			chooseColor		: 'Trieu'
 		},
 
@@ -386,5 +386,5 @@
 		height		: 'Alçada',
 		lockRatio	: 'Bloqueja les proporcions',
-		unlockRatio	: 'Unlock Ratio', // MISSING
+		unlockRatio	: 'Desbloqueja el ràtio',
 		resetSize	: 'Restaura la mida',
 		border		: 'Vora',
@@ -398,10 +398,10 @@
 		button2Img	: 'Voleu transformar el botó d\'imatge seleccionat en una simple imatge?',
 		img2Button	: 'Voleu transformar la imatge seleccionada en un botó d\'imatge?',
-		urlMissing	: 'Image source URL is missing.', // MISSING
-		validateWidth	: 'Width must be a whole number.', // MISSING
-		validateHeight	: 'Height must be a whole number.', // MISSING
-		validateBorder	: 'Border must be a whole number.', // MISSING
-		validateHSpace	: 'HSpace must be a whole number.', // MISSING
-		validateVSpace	: 'VSpace must be a whole number.' // MISSING
+		urlMissing	: 'Falta la URL de la imatge.',
+		validateWidth	: 'L\'amplada ha de ser un nombre enter.',
+		validateHeight	: 'L\'alçada ha de ser un nombre enter.',
+		validateBorder	: 'La vora ha de ser un nombre enter.',
+		validateHSpace	: 'HSpace ha de ser un nombre enter.',
+		validateVSpace	: 'VSpace ha de ser un nombre enter.'
 	},
 
@@ -490,5 +490,5 @@
 	elementsPath :
 	{
-		eleLabel : 'Elements path', // MISSING
+		eleLabel : 'Elements path',
 		eleTitle : '%1 element'
 	},
@@ -512,9 +512,9 @@
 	{
 		title		: 'Enganxa',
-		cutError	: 'La seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+X).',
-		copyError	: 'La seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+C).',
-		pasteMsg	: 'Si us plau, enganxeu dins del següent camp utilitzant el teclat (<STRONG>Ctrl/Cmd+V</STRONG>) i premeu <STRONG>OK</STRONG>.',
+		cutError	: 'La seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl+X).',
+		copyError	: 'La seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl+C).',
+		pasteMsg	: 'Si us plau, enganxeu dins del següent camp utilitzant el teclat (<STRONG>Ctrl+V</STRONG>) i premeu <STRONG>OK</STRONG>.',
 		securityMsg	: 'A causa de la configuració de seguretat del vostre navegador, l\'editor no pot accedir al porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.',
-		pasteArea	: 'Paste Area' // MISSING
+		pasteArea	: 'Àrea d\'enganxat'
 	},
 
@@ -524,5 +524,5 @@
 		toolbar			: 'Enganxa des del Word',
 		title			: 'Enganxa des del Word',
-		error			: 'It was not possible to clean up the pasted data due to an internal error' // MISSING
+		error			: 'No ha estat possible netejar les dades enganxades degut a un error intern'
 	},
 
@@ -548,5 +548,5 @@
 	{
 		label		: 'Estil',
-		panelTitle	: 'Formatting Styles', // MISSING
+		panelTitle	: 'Estils de format',
 		panelTitle1	: 'Estils de bloc',
 		panelTitle2	: 'Estils incrustats',
@@ -573,17 +573,17 @@
 	div :
 	{
-		title				: 'Create Div Container', // MISSING
-		toolbar				: 'Create Div Container', // MISSING
-		cssClassInputLabel	: 'Stylesheet Classes', // MISSING
-		styleSelectLabel	: 'Style', // MISSING
-		IdInputLabel		: 'Id', // MISSING
-		languageCodeInputLabel	: ' Language Code', // MISSING
-		inlineStyleInputLabel	: 'Inline Style', // MISSING
-		advisoryTitleInputLabel	: 'Advisory Title', // MISSING
-		langDirLabel		: 'Language Direction', // MISSING
-		langDirLTRLabel		: 'Left to Right (LTR)', // MISSING
-		langDirRTLLabel		: 'Right to Left (RTL)', // MISSING
-		edit				: 'Edit Div', // MISSING
-		remove				: 'Remove Div' // MISSING
+		title				: 'Crea un contenidor Div',
+		toolbar				: 'Crea un contenidor Div',
+		cssClassInputLabel	: 'Classes de la fulla d\'estils',
+		styleSelectLabel	: 'Estil',
+		IdInputLabel		: 'Id',
+		languageCodeInputLabel	: ' Codi d\'idioma',
+		inlineStyleInputLabel	: 'Estil en línia',
+		advisoryTitleInputLabel	: 'Títol de guia',
+		langDirLabel		: 'Direcció de l\'idioma',
+		langDirLTRLabel		: 'D\'esquerra a dreta (LTR)',
+		langDirRTLLabel		: 'De dreta a esquerra (RTL)',
+		edit				: 'Edita Div',
+		remove				: 'Elimina Div'
   	},
 
@@ -606,5 +606,5 @@
 		textColorTitle	: 'Color de Text',
 		bgColorTitle	: 'Color de Fons',
-		panelTitle		: 'Colors', // MISSING
+		panelTitle		: 'Colors',
 		auto			: 'Automàtic',
 		more			: 'Més colors...'
@@ -613,44 +613,44 @@
 	colors :
 	{
-		'000' : 'Black', // MISSING
-		'800000' : 'Maroon', // MISSING
-		'8B4513' : 'Saddle Brown', // MISSING
-		'2F4F4F' : 'Dark Slate Gray', // MISSING
-		'008080' : 'Teal', // MISSING
-		'000080' : 'Navy', // MISSING
-		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
-		'B22222' : 'Fire Brick', // MISSING
-		'A52A2A' : 'Brown', // MISSING
-		'DAA520' : 'Golden Rod', // MISSING
-		'006400' : 'Dark Green', // MISSING
-		'40E0D0' : 'Turquoise', // MISSING
-		'0000CD' : 'Medium Blue', // MISSING
-		'800080' : 'Purple', // MISSING
-		'808080' : 'Gray', // MISSING
-		'F00' : 'Red', // MISSING
-		'FF8C00' : 'Dark Orange', // MISSING
-		'FFD700' : 'Gold', // MISSING
-		'008000' : 'Green', // MISSING
-		'0FF' : 'Cyan', // MISSING
-		'00F' : 'Blue', // MISSING
-		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
-		'FFA07A' : 'Light Salmon', // MISSING
-		'FFA500' : 'Orange', // MISSING
-		'FFFF00' : 'Yellow', // MISSING
-		'00FF00' : 'Lime', // MISSING
-		'AFEEEE' : 'Pale Turquoise', // MISSING
-		'ADD8E6' : 'Light Blue', // MISSING
-		'DDA0DD' : 'Plum', // MISSING
-		'D3D3D3' : 'Light Grey', // MISSING
-		'FFF0F5' : 'Lavender Blush', // MISSING
-		'FAEBD7' : 'Antique White', // MISSING
-		'FFFFE0' : 'Light Yellow', // MISSING
-		'F0FFF0' : 'Honeydew', // MISSING
-		'F0FFFF' : 'Azure', // MISSING
-		'F0F8FF' : 'Alice Blue', // MISSING
-		'E6E6FA' : 'Lavender', // MISSING
-		'FFF' : 'White' // MISSING
+		'000' : 'Negre',
+		'800000' : 'Granat',
+		'8B4513' : 'Marró sella',
+		'2F4F4F' : 'Gris pissarra fosca',
+		'008080' : 'Blau xarxet',
+		'000080' : 'Blau marí',
+		'4B0082' : 'Indi',
+		'696969' : 'Gris intens',
+		'B22222' : 'Maó',
+		'A52A2A' : 'Marró (web)',
+		'DAA520' : 'Solidago',
+		'006400' : 'Verd fosc',
+		'40E0D0' : 'Turquesa',
+		'0000CD' : 'Atzur',
+		'800080' : 'Lila',
+		'808080' : 'Gris',
+		'F00' : 'Vermell',
+		'FF8C00' : 'Taronja fosc',
+		'FFD700' : 'Or',
+		'008000' : 'Verd',
+		'0FF' : 'Cian',
+		'00F' : 'Blau',
+		'EE82EE' : 'Lavanda rosat',
+		'A9A9A9' : 'Gris clar',
+		'FFA07A' : 'Salmó clar',
+		'FFA500' : 'Taronja',
+		'FFFF00' : 'Groc',
+		'00FF00' : 'Verd llima',
+		'AFEEEE' : 'Blau pàlid',
+		'ADD8E6' : 'Blau clar',
+		'DDA0DD' : 'Pruna',
+		'D3D3D3' : 'Gris clar',
+		'FFF0F5' : 'Lavanda rosat',
+		'FAEBD7' : 'Blanc antic',
+		'FFFFE0' : 'Groc clar',
+		'F0FFF0' : 'Verd pàlid',
+		'F0FFFF' : 'Blau cel pàlid',
+		'F0F8FF' : 'Cian pàlid',
+		'E6E6FA' : 'Lavanda',
+		'FFF' : 'Blanc'
 	},
 
@@ -683,6 +683,6 @@
 	},
 
-	maximize : 'Maximiza',
-	minimize : 'Minimize', // MISSING
+	maximize : 'Maximitza',
+	minimize : 'Minimitza',
 
 	fakeobjects :
@@ -698,11 +698,11 @@
 	colordialog :
 	{
-		title		: 'Select color', // MISSING
-		highlight	: 'Highlight', // MISSING
-		selected	: 'Selected', // MISSING
-		clear		: 'Clear' // MISSING
-	},
-
-	toolbarCollapse	: 'Collapse Toolbar', // MISSING
-	toolbarExpand	: 'Expand Toolbar' // MISSING
+		title		: 'Selecciona el color',
+		highlight	: 'Destacat',
+		selected	: 'Seleccionat',
+		clear		: 'Neteja'
+	},
+
+	toolbarCollapse	: 'Redueix la barra d\'eines',
+	toolbarExpand	: 'Amplia la barra d\'eines'
 };
Index: CKEditor/branches/versions/3.3.x/_source/lang/cs.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/cs.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/cs.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/cy.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/cy.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/cy.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/da.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/da.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/da.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/de.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/de.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/de.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/el.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/el.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/el.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/en-au.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/en-au.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/en-au.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/en-ca.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/en-ca.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/en-ca.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/en-gb.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/en-gb.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/en-gb.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/en.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/en.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/en.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/eo.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/eo.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/eo.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/es.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/es.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/es.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/et.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/et.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/et.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/eu.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/eu.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/eu.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/fa.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/fa.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/fa.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/fi.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/fi.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/fi.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -32,9 +32,9 @@
 	 * of reading non-English words. So be careful while translating it.
 	 */
-	editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING
+	editorTitle : 'Rikastekstieditori, %1, paina ALT 0 nähdäksesi ohjeen.',
 
 	// ARIA descriptions.
-	toolbar	: 'Toolbar', // MISSING
-	editor	: 'Rich Text Editor', // MISSING
+	toolbar	: 'Työkalupalkki',
+	editor	: 'Rikastekstieditori',
 
 	// Toolbar buttons without dialogs.
@@ -93,6 +93,6 @@
 		ok				: 'OK',
 		cancel			: 'Peruuta',
-		close			: 'Close', // MISSING
-		preview			: 'Preview', // MISSING
+		close			: 'Sulje',
+		preview			: 'Esikatselu',
 		generalTab		: 'Yleinen',
 		advancedTab		: 'Lisäominaisuudet',
@@ -100,10 +100,10 @@
 		confirmNewPage	: 'Kaikki tallentamattomat muutokset tähän sisältöön menetetään. Oletko varma, että haluat ladata uuden sivun?',
 		confirmCancel	: 'Jotkut asetuksista on muuttuneet. Oletko varma, että haluat sulkea valintaikkunan?',
-		options			: 'Options', // MISSING
-		target			: 'Target', // MISSING
-		targetNew		: 'New Window (_blank)', // MISSING
-		targetTop		: 'Topmost Window (_top)', // MISSING
-		targetSelf		: 'Same Window (_self)', // MISSING
-		targetParent	: 'Parent Window (_parent)', // MISSING
+		options			: 'Asetukset',
+		target			: 'Kohde',
+		targetNew		: 'Uusi ikkuna (_blank)',
+		targetTop		: 'Päällimmäinen ikkuna (_top)',
+		targetSelf		: 'Sama ikkuna (_self)',
+		targetParent	: 'Ylemmän tason ikkuna (_parent)',
 
 		// Put the voice-only part of the label in the span.
@@ -128,5 +128,5 @@
 	{
 		toolbar		: 'Lisää linkki/muokkaa linkkiä',
-		other 		: '<muu>',
+		other 		: '<other>', // MISSING
 		menu		: 'Muokkaa linkkiä',
 		title		: 'Linkki',
@@ -136,5 +136,5 @@
 		advanced	: 'Lisäominaisuudet',
 		type		: 'Linkkityyppi',
-		toUrl		: 'URL', // MISSING
+		toUrl		: 'Osoite',
 		toAnchor	: 'Ankkuri tässä sivussa',
 		toEmail		: 'Sähköposti',
@@ -223,5 +223,5 @@
 		widthPx		: 'pikseliä',
 		widthPc		: 'prosenttia',
-		widthUnit	: 'width unit', // MISSING
+		widthUnit	: 'leveysyksikkö',
 		height		: 'Korkeus',
 		cellSpace	: 'Solujen väli',
@@ -386,5 +386,5 @@
 		height		: 'Korkeus',
 		lockRatio	: 'Lukitse suhteet',
-		unlockRatio	: 'Unlock Ratio', // MISSING
+		unlockRatio	: 'Vapauta suhteet',
 		resetSize	: 'Alkuperäinen koko',
 		border		: 'Raja',
@@ -399,9 +399,9 @@
 		img2Button	: 'Haluatko muuntaa valitun kuvan kuvanäppäimeksi?',
 		urlMissing	: 'Kuvan lähdeosoite puuttuu.',
-		validateWidth	: 'Width must be a whole number.', // MISSING
-		validateHeight	: 'Height must be a whole number.', // MISSING
-		validateBorder	: 'Border must be a whole number.', // MISSING
-		validateHSpace	: 'HSpace must be a whole number.', // MISSING
-		validateVSpace	: 'VSpace must be a whole number.' // MISSING
+		validateWidth	: 'Leveyden täytyy olla kokonaisluku.',
+		validateHeight	: 'Korkeuden täytyy olla kokonaisluku.',
+		validateBorder	: 'Reunan täytyy olla kokonaisluku.',
+		validateHSpace	: 'HSpace-määrityksen täytyy olla kokonaisluku.',
+		validateVSpace	: 'VSpace-määrityksen täytyy olla kokonaisluku.'
 	},
 
@@ -490,5 +490,5 @@
 	elementsPath :
 	{
-		eleLabel : 'Elements path', // MISSING
+		eleLabel : 'Elementin polku',
 		eleTitle : '%1 elementti'
 	},
@@ -512,9 +512,9 @@
 	{
 		title		: 'Liitä',
-		cutError	: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl/Cmd+X).',
-		copyError	: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl/Cmd+C).',
-		pasteMsg	: 'Liitä painamalla (<STRONG>Ctrl/Cmd+V</STRONG>) ja painamalla <STRONG>OK</STRONG>.',
+		cutError	: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).',
+		copyError	: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).',
+		pasteMsg	: 'Liitä painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRONG>OK</STRONG>.',
 		securityMsg	: 'Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.',
-		pasteArea	: 'Paste Area' // MISSING
+		pasteArea	: 'Leikealue'
 	},
 
@@ -548,5 +548,5 @@
 	{
 		label		: 'Tyyli',
-		panelTitle	: 'Formatting Styles', // MISSING
+		panelTitle	: 'Muotoilujen tyylit',
 		panelTitle1	: 'Lohkojen tyylit',
 		panelTitle2	: 'Rivinsisäiset tyylit',
@@ -606,5 +606,5 @@
 		textColorTitle	: 'Tekstiväri',
 		bgColorTitle	: 'Taustaväri',
-		panelTitle		: 'Colors', // MISSING
+		panelTitle		: 'Värit',
 		auto			: 'Automaattinen',
 		more			: 'Lisää värejä...'
Index: CKEditor/branches/versions/3.3.x/_source/lang/fo.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/fo.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/fo.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/fr-ca.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/fr-ca.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/fr-ca.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/fr.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/fr.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/fr.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/gl.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/gl.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/gl.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/gu.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/gu.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/gu.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/he.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/he.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/he.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/hi.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/hi.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/hi.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/hr.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/hr.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/hr.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/hu.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/hu.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/hu.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -95,9 +95,9 @@
 		close			: 'Close', // MISSING
 		preview			: 'Preview', // MISSING
-		generalTab		: 'General', // MISSING
+		generalTab		: 'Általános',
 		advancedTab		: 'További opciók',
-		validateNumberFailed : 'This value is not a number.', // MISSING
-		confirmNewPage	: 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING
-		confirmCancel	: 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING
+		validateNumberFailed : 'A mezőbe csak számokat írhat.',
+		confirmNewPage	: 'Minden nem mentett változás el fog veszni! Biztosan be szeretné tölteni az oldalt?',
+		confirmCancel	: 'Az űrlap tartalma megváltozott, ám a változásokat nem rögzítette. Biztosan be szeretné zárni az űrlapot?',
 		options			: 'Options', // MISSING
 		target			: 'Target', // MISSING
@@ -144,5 +144,5 @@
 		targetPopupName	: 'Felugró ablak neve',
 		popupFeatures	: 'Felugró ablak jellemzői',
-		popupResizable	: 'Resizable', // MISSING
+		popupResizable	: 'Átméretezés',
 		popupStatusBar	: 'Állapotsor',
 		popupLocationBar: 'Címsor',
@@ -156,5 +156,5 @@
 		popupHeight		: 'Magasság',
 		popupTop		: 'Felső pozíció',
-		id				: 'Id', // MISSING
+		id				: 'Id',
 		langDir			: 'Írás iránya',
 		langDirLTR		: 'Balról jobbra',
@@ -201,7 +201,7 @@
 		matchCase			: 'kis- és nagybetű megkülönböztetése',
 		matchWord			: 'csak ha ez a teljes szó',
-		matchCyclic			: 'Match cyclic', // MISSING
+		matchCyclic			: 'Ciklikus keresés',
 		replaceAll			: 'Az összes cseréje',
-		replaceSuccessMsg	: '%1 occurrence(s) replaced.' // MISSING
+		replaceSuccessMsg	: '%1 egyezőség cserélve.'
 	},
 
@@ -229,22 +229,22 @@
 		caption		: 'Felirat',
 		summary		: 'Leírás',
-		headers		: 'Headers', // MISSING
-		headersNone		: 'None', // MISSING
-		headersColumn	: 'First column', // MISSING
-		headersRow		: 'First Row', // MISSING
-		headersBoth		: 'Both', // MISSING
-		invalidRows		: 'Number of rows must be a number greater than 0.', // MISSING
-		invalidCols		: 'Number of columns must be a number greater than 0.', // MISSING
-		invalidBorder	: 'Border size must be a number.', // MISSING
-		invalidWidth	: 'Table width must be a number.', // MISSING
-		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
+		headers		: 'Fejlécek',
+		headersNone		: 'Nincsenek',
+		headersColumn	: 'Első oszlop',
+		headersRow		: 'Első sor',
+		headersBoth		: 'Mindkettő',
+		invalidRows		: 'A sorok számának nagyobbnak kell lenni mint 0.',
+		invalidCols		: 'Az oszlopok számának nagyobbnak kell lenni mint 0.',
+		invalidBorder	: 'A szegélyméret mezőbe csak számokat írhat.',
+		invalidWidth	: 'A szélesség mezőbe csak számokat írhat.',
+		invalidHeight	: 'A magasság mezőbe csak számokat írhat.',
+		invalidCellSpacing	: 'A cella térköz mezőbe csak számokat írhat.',
+		invalidCellPadding	: 'A cella belső margó mezőbe csak számokat írhat.',
 
 		cell :
 		{
 			menu			: 'Cella',
-			insertBefore	: 'Cella beillesztése az aktuális cella elé',
-			insertAfter		: 'Cella beillesztése az aktuális cella mögé',
+			insertBefore	: 'Beszúrás balra',
+			insertAfter		: 'Beszúrás jobbra',
 			deleteCell		: 'Cellák törlése',
 			merge			: 'Cellák egyesítése',
@@ -253,25 +253,25 @@
 			splitHorizontal	: 'Cellák szétválasztása vízszintesen',
 			splitVertical	: 'Cellák szétválasztása függőlegesen',
-			title			: 'Cell Properties', // MISSING
-			cellType		: 'Cell Type', // MISSING
-			rowSpan			: 'Rows Span', // MISSING
-			colSpan			: 'Columns Span', // MISSING
-			wordWrap		: 'Word Wrap', // MISSING
-			hAlign			: 'Horizontal Alignment', // MISSING
-			vAlign			: 'Vertical Alignment', // MISSING
-			alignTop		: 'Top', // MISSING
-			alignMiddle		: 'Middle', // MISSING
-			alignBottom		: 'Bottom', // MISSING
-			alignBaseline	: 'Baseline', // MISSING
-			bgColor			: 'Background Color', // MISSING
-			borderColor		: 'Border Color', // MISSING
-			data			: 'Data', // MISSING
-			header			: 'Header', // MISSING
-			yes				: 'Yes', // MISSING
-			no				: 'No', // MISSING
-			invalidWidth	: 'Cell width must be a number.', // MISSING
-			invalidHeight	: 'Cell height must be a number.', // MISSING
-			invalidRowSpan	: 'Rows span must be a whole number.', // MISSING
-			invalidColSpan	: 'Columns span must be a whole number.', // MISSING
+			title			: 'Cella tulajdonságai',
+			cellType		: 'Cella típusa',
+			rowSpan			: 'Függőleges egyesítés',
+			colSpan			: 'Vízszintes egyesítés',
+			wordWrap		: 'Hosszú sorok törése',
+			hAlign			: 'Vízszintes igazítás',
+			vAlign			: 'Függőleges igazítás',
+			alignTop		: 'Fel',
+			alignMiddle		: 'Középre',
+			alignBottom		: 'Le',
+			alignBaseline	: 'Alapvonalra',
+			bgColor			: 'Háttér színe',
+			borderColor		: 'Keret színe',
+			data			: 'Adat',
+			header			: 'Fejléc',
+			yes				: 'Igen',
+			no				: 'Nem',
+			invalidWidth	: 'A szélesség mezőbe csak számokat írhat.',
+			invalidHeight	: 'A magasság mezőbe csak számokat írhat.',
+			invalidRowSpan	: 'A függőleges egyesítés mezőbe csak számokat írhat.',
+			invalidColSpan	: 'A vízszintes egyesítés mezőbe csak számokat írhat.',
 			chooseColor		: 'Choose' // MISSING
 		},
@@ -280,6 +280,6 @@
 		{
 			menu			: 'Sor',
-			insertBefore	: 'Sor beillesztése az aktuális sor elé',
-			insertAfter		: 'Sor beillesztése az aktuális sor mögé',
+			insertBefore	: 'Beszúrás fölé',
+			insertAfter		: 'Beszúrás alá',
 			deleteRow		: 'Sorok törlése'
 		},
@@ -288,6 +288,6 @@
 		{
 			menu			: 'Oszlop',
-			insertBefore	: 'Oszlop beillesztése az aktuális oszlop elé',
-			insertAfter		: 'Oszlop beillesztése az aktuális oszlop mögé',
+			insertBefore	: 'Beszúrás balra',
+			insertAfter		: 'Beszúrás jobbra',
 			deleteColumn	: 'Oszlopok törlése'
 		}
@@ -321,5 +321,5 @@
 		action		: 'Adatfeldolgozást végző hivatkozás',
 		method		: 'Adatküldés módja',
-		encoding	: 'Encoding' // MISSING
+		encoding	: 'Kódolás'
 	},
 
@@ -410,18 +410,18 @@
 	{
 		properties		: 'Flash tulajdonságai',
-		propertiesTab	: 'Properties', // MISSING
+		propertiesTab	: 'Tulajdonságok',
 		title			: 'Flash tulajdonságai',
 		chkPlay			: 'Automata lejátszás',
 		chkLoop			: 'Folyamatosan',
 		chkMenu			: 'Flash menü engedélyezése',
-		chkFull			: 'Allow Fullscreen', // MISSING
+		chkFull			: 'Teljes képernyő engedélyezése',
  		scale			: 'Méretezés',
 		scaleAll		: 'Mindent mutat',
 		scaleNoBorder	: 'Keret nélkül',
 		scaleFit		: 'Teljes kitöltés',
-		access			: 'Script Access', // MISSING
-		accessAlways	: 'Always', // MISSING
-		accessSameDomain: 'Same domain', // MISSING
-		accessNever		: 'Never', // MISSING
+		access			: 'Szkript hozzáférés',
+		accessAlways	: 'Mindig',
+		accessSameDomain: 'Azonos domainről',
+		accessNever		: 'Soha',
 		align			: 'Igazítás',
 		alignLeft		: 'Bal',
@@ -434,16 +434,16 @@
 		alignTextTop	: 'Szöveg tetejére',
 		alignTop		: 'Tetejére',
-		quality			: 'Quality', // MISSING
-		qualityBest		: 'Best', // MISSING
-		qualityHigh		: 'High', // MISSING
-		qualityAutoHigh	: 'Auto High', // MISSING
-		qualityMedium	: 'Medium', // MISSING
-		qualityAutoLow	: 'Auto Low', // MISSING
-		qualityLow		: 'Low', // MISSING
-		windowModeWindow: 'Window', // MISSING
-		windowModeOpaque: 'Opaque', // MISSING
-		windowModeTransparent : 'Transparent', // MISSING
-		windowMode		: 'Window mode', // MISSING
-		flashvars		: 'Variables for Flash', // MISSING
+		quality			: 'Minőség',
+		qualityBest		: 'Legjobb',
+		qualityHigh		: 'Jó',
+		qualityAutoHigh	: 'Automata jó',
+		qualityMedium	: 'Közepes',
+		qualityAutoLow	: 'Automata gyenge',
+		qualityLow		: 'Gyenge',
+		windowModeWindow: 'Window',
+		windowModeOpaque: 'Opaque',
+		windowModeTransparent : 'Transparent',
+		windowMode		: 'Ablak mód',
+		flashvars		: 'Flash változók',
 		bgcolor			: 'Háttérszín',
 		width			: 'Szélesség',
@@ -452,8 +452,8 @@
 		vSpace			: 'Függ. táv',
 		validateSrc		: 'Adja meg a hivatkozás webcímét',
-		validateWidth	: 'Width must be a number.', // MISSING
-		validateHeight	: 'Height must be a number.', // MISSING
-		validateHSpace	: 'HSpace must be a number.', // MISSING
-		validateVSpace	: 'VSpace must be a number.' // MISSING
+		validateWidth	: 'A szélesség mezőbe csak számokat írhat.',
+		validateHeight	: 'A magasság mezőbe csak számokat írhat.',
+		validateHSpace	: 'A vízszintes távolsűág mezőbe csak számokat írhat.',
+		validateVSpace	: 'A függőleges távolsűág mezőbe csak számokat írhat.'
 	},
 
@@ -462,7 +462,7 @@
 	{
 		toolbar			: 'Helyesírás-ellenőrzés',
-		title			: 'Spell Check', // MISSING
-		notAvailable	: 'Sorry, but service is unavailable now.', // MISSING
-		errorLoading	: 'Error loading application service host: %s.', // MISSING
+		title			: 'Helyesírás ellenörző',
+		notAvailable	: 'Sajnálom, de a szolgáltatás jelenleg nem elérhető.',
+		errorLoading	: 'Hiba a szolgáltatás host betöltése közben: %s.',
 		notInDic		: 'Nincs a szótárban',
 		changeTo		: 'Módosítás',
@@ -491,5 +491,5 @@
 	{
 		eleLabel : 'Elements path', // MISSING
-		eleTitle : '%1 element' // MISSING
+		eleTitle : '%1 elem'
 	},
 
@@ -549,7 +549,7 @@
 		label		: 'Stílus',
 		panelTitle	: 'Formatting Styles', // MISSING
-		panelTitle1	: 'Block Styles', // MISSING
-		panelTitle2	: 'Inline Styles', // MISSING
-		panelTitle3	: 'Object Styles' // MISSING
+		panelTitle1	: 'Blokk stílusok',
+		panelTitle2	: 'Inline stílusok',
+		panelTitle3	: 'Objektum stílusok'
 	},
 
@@ -591,5 +591,5 @@
 	{
 		label		: 'Betűtípus',
-		voiceLabel	: 'Font', // MISSING
+		voiceLabel	: 'Betűtípus',
 		panelTitle	: 'Betűtípus'
 	},
@@ -598,5 +598,5 @@
 	{
 		label		: 'Méret',
-		voiceLabel	: 'Font Size', // MISSING
+		voiceLabel	: 'Betűméret',
 		panelTitle	: 'Méret'
 	},
@@ -613,93 +613,93 @@
 	colors :
 	{
-		'000' : 'Black', // MISSING
-		'800000' : 'Maroon', // MISSING
-		'8B4513' : 'Saddle Brown', // MISSING
-		'2F4F4F' : 'Dark Slate Gray', // MISSING
-		'008080' : 'Teal', // MISSING
-		'000080' : 'Navy', // MISSING
-		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
-		'B22222' : 'Fire Brick', // MISSING
-		'A52A2A' : 'Brown', // MISSING
-		'DAA520' : 'Golden Rod', // MISSING
-		'006400' : 'Dark Green', // MISSING
-		'40E0D0' : 'Turquoise', // MISSING
-		'0000CD' : 'Medium Blue', // MISSING
-		'800080' : 'Purple', // MISSING
-		'808080' : 'Gray', // MISSING
-		'F00' : 'Red', // MISSING
-		'FF8C00' : 'Dark Orange', // MISSING
-		'FFD700' : 'Gold', // MISSING
-		'008000' : 'Green', // MISSING
-		'0FF' : 'Cyan', // MISSING
-		'00F' : 'Blue', // MISSING
-		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
-		'FFA07A' : 'Light Salmon', // MISSING
-		'FFA500' : 'Orange', // MISSING
-		'FFFF00' : 'Yellow', // MISSING
-		'00FF00' : 'Lime', // MISSING
-		'AFEEEE' : 'Pale Turquoise', // MISSING
-		'ADD8E6' : 'Light Blue', // MISSING
-		'DDA0DD' : 'Plum', // MISSING
-		'D3D3D3' : 'Light Grey', // MISSING
-		'FFF0F5' : 'Lavender Blush', // MISSING
-		'FAEBD7' : 'Antique White', // MISSING
-		'FFFFE0' : 'Light Yellow', // MISSING
-		'F0FFF0' : 'Honeydew', // MISSING
-		'F0FFFF' : 'Azure', // MISSING
-		'F0F8FF' : 'Alice Blue', // MISSING
-		'E6E6FA' : 'Lavender', // MISSING
-		'FFF' : 'White' // MISSING
+		'000' : 'Fekete',
+		'800000' : 'Bordó',
+		'8B4513' : 'Barna',
+		'2F4F4F' : 'Sötét türkiz',
+		'008080' : 'Türkiz',
+		'000080' : 'Király kék',
+		'4B0082' : 'Indigó kék',
+		'696969' : 'Szürke',
+		'B22222' : 'Tégla vörös',
+		'A52A2A' : 'Vörös',
+		'DAA520' : 'Arany sárga',
+		'006400' : 'Sötét zöld',
+		'40E0D0' : 'Türkiz',
+		'0000CD' : 'Kék',
+		'800080' : 'Lila',
+		'808080' : 'Szürke',
+		'F00' : 'Piros',
+		'FF8C00' : 'Sötét narancs',
+		'FFD700' : 'Arany',
+		'008000' : 'Zöld',
+		'0FF' : 'Türkiz',
+		'00F' : 'Kék',
+		'EE82EE' : 'Rózsaszín',
+		'A9A9A9' : 'Sötét szürke',
+		'FFA07A' : 'Lazac',
+		'FFA500' : 'Narancs',
+		'FFFF00' : 'Citromsárga',
+		'00FF00' : 'Neon zöld',
+		'AFEEEE' : 'Világos türkiz',
+		'ADD8E6' : 'Világos kék',
+		'DDA0DD' : 'Világos lila',
+		'D3D3D3' : 'Világos szürke',
+		'FFF0F5' : 'Lavender Blush',
+		'FAEBD7' : 'Törtfehér',
+		'FFFFE0' : 'Világos sárga',
+		'F0FFF0' : 'Menta',
+		'F0FFFF' : 'Azúr kék',
+		'F0F8FF' : 'Halvány kék',
+		'E6E6FA' : 'Lavender',
+		'FFF' : 'Fehér'
 	},
 
 	scayt :
 	{
-		title			: 'Spell Check As You Type', // MISSING
-		enable			: 'Enable SCAYT', // MISSING
-		disable			: 'Disable SCAYT', // MISSING
-		about			: 'About SCAYT', // MISSING
-		toggle			: 'Toggle SCAYT', // MISSING
-		options			: 'Options', // MISSING
-		langs			: 'Languages', // MISSING
-		moreSuggestions	: 'More suggestions', // MISSING
-		ignore			: 'Ignore', // MISSING
-		ignoreAll		: 'Ignore All', // MISSING
-		addWord			: 'Add Word', // MISSING
-		emptyDic		: 'Dictionary name should not be empty.', // MISSING
-		optionsTab		: 'Options', // MISSING
-		languagesTab	: 'Languages', // MISSING
-		dictionariesTab	: 'Dictionaries', // MISSING
-		aboutTab		: 'About' // MISSING
+		title			: 'Helyesírás ellenőrzés gépelés közben',
+		enable			: 'SCAYT engedélyezése',
+		disable			: 'SCAYT letiltása',
+		about			: 'SCAYT névjegy',
+		toggle			: 'SCAYT kapcsolása',
+		options			: 'Beállítások',
+		langs			: 'Nyelvek',
+		moreSuggestions	: 'További javaslatok',
+		ignore			: 'Kihagy',
+		ignoreAll		: 'Összes kihagyása',
+		addWord			: 'Szó hozzáadása',
+		emptyDic		: 'A szótár nevét meg kell adni.',
+		optionsTab		: 'Beállítások',
+		languagesTab	: 'Nyelvek',
+		dictionariesTab	: 'Szótár',
+		aboutTab		: 'Névjegy'
 	},
 
 	about :
 	{
-		title		: 'About CKEditor', // MISSING
-		dlgTitle	: 'About CKEditor', // MISSING
-		moreInfo	: 'For licensing information please visit our web site:', // MISSING
-		copy		: 'Copyright &copy; $1. All rights reserved.' // MISSING
-	},
-
-	maximize : 'Maximize', // MISSING
-	minimize : 'Minimize', // MISSING
+		title		: 'CKEditor névjegy',
+		dlgTitle	: 'CKEditor névjegy',
+		moreInfo	: 'Licenszelési információkért kérjük látogassa meg weboldalunkat:',
+		copy		: 'Copyright &copy; $1. Minden jog fenntartva.'
+	},
+
+	maximize : 'Teljes méret',
+	minimize : 'Kis méret',
 
 	fakeobjects :
 	{
-		anchor	: 'Anchor', // MISSING
-		flash	: 'Flash Animation', // MISSING
-		div		: 'Page Break', // MISSING
-		unknown	: 'Unknown Object' // MISSING
-	},
-
-	resize : 'Drag to resize', // MISSING
+		anchor	: 'Horgony',
+		flash	: 'Flash animáció',
+		div		: 'Oldaltörés',
+		unknown	: 'Ismeretlen objektum'
+	},
+
+	resize : 'Húzza az átméretezéshez',
 
 	colordialog :
 	{
-		title		: 'Select color', // MISSING
-		highlight	: 'Highlight', // MISSING
-		selected	: 'Selected', // MISSING
-		clear		: 'Clear' // MISSING
+		title		: 'Válasszon színt',
+		highlight	: 'Nagyítás',
+		selected	: 'Kiválasztott',
+		clear		: 'Ürítés'
 	},
 
Index: CKEditor/branches/versions/3.3.x/_source/lang/is.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/is.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/is.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/it.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/it.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/it.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/ja.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/ja.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/ja.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/km.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/km.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/km.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/ko.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/ko.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/ko.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/lt.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/lt.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/lt.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/lv.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/lv.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/lv.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/mn.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/mn.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/mn.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/ms.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/ms.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/ms.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/nb.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/nb.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/nb.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -32,9 +32,9 @@
 	 * of reading non-English words. So be careful while translating it.
 	 */
-	editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING
+	editorTitle : 'Rikteksteditor, %1, trykk ALT 0 for hjelp.',
 
 	// ARIA descriptions.
-	toolbar	: 'Toolbar', // MISSING
-	editor	: 'Rich Text Editor', // MISSING
+	toolbar	: 'Verktøylinje',
+	editor	: 'Rikteksteditor',
 
 	// Toolbar buttons without dialogs.
@@ -93,6 +93,6 @@
 		ok				: 'OK',
 		cancel			: 'Avbryt',
-		close			: 'Close', // MISSING
-		preview			: 'Preview', // MISSING
+		close			: 'Lukk',
+		preview			: 'Forhåndsvis',
 		generalTab		: 'Generelt',
 		advancedTab		: 'Avansert',
@@ -100,10 +100,10 @@
 		confirmNewPage	: 'Alle endringer som er gjort i dette innholdet vil bli tapt. Er du sikker på at du vil laste en ny side?',
 		confirmCancel	: 'Noen av valgene har blitt endret. Er du sikker på at du vil lukke dialogen?',
-		options			: 'Options', // MISSING
-		target			: 'Target', // MISSING
-		targetNew		: 'New Window (_blank)', // MISSING
-		targetTop		: 'Topmost Window (_top)', // MISSING
-		targetSelf		: 'Same Window (_self)', // MISSING
-		targetParent	: 'Parent Window (_parent)', // MISSING
+		options			: 'Valg',
+		target			: 'Mål',
+		targetNew		: 'Nytt vindu (_blank)',
+		targetTop		: 'Hele vindu (_top)',
+		targetSelf		: 'Samme vindu (_self)',
+		targetParent	: 'Foreldrevindu (_parent)',
 
 		// Put the voice-only part of the label in the span.
@@ -128,5 +128,5 @@
 	{
 		toolbar		: 'Sett inn/Rediger lenke',
-		other 		: '<annet>',
+		other 		: '<other>', // MISSING
 		menu		: 'Rediger lenke',
 		title		: 'Lenke',
@@ -136,5 +136,5 @@
 		advanced	: 'Avansert',
 		type		: 'Lenketype',
-		toUrl		: 'URL', // MISSING
+		toUrl		: 'URL',
 		toAnchor	: 'Lenke til anker i teksten',
 		toEmail		: 'E-post',
@@ -223,5 +223,5 @@
 		widthPx		: 'piksler',
 		widthPc		: 'prosent',
-		widthUnit	: 'width unit', // MISSING
+		widthUnit	: 'Bredde-enhet',
 		height		: 'Høyde',
 		cellSpace	: 'Cellemarg',
@@ -386,5 +386,5 @@
 		height		: 'Høyde',
 		lockRatio	: 'Lås forhold',
-		unlockRatio	: 'Unlock Ratio', // MISSING
+		unlockRatio	: 'Ikke lås forhold',
 		resetSize	: 'Tilbakestill størrelse',
 		border		: 'Ramme',
@@ -399,9 +399,9 @@
 		img2Button	: 'Vil du endre det valgte bildet til en bildeknapp?',
 		urlMissing	: 'Bildets adresse mangler.',
-		validateWidth	: 'Width must be a whole number.', // MISSING
-		validateHeight	: 'Height must be a whole number.', // MISSING
-		validateBorder	: 'Border must be a whole number.', // MISSING
-		validateHSpace	: 'HSpace must be a whole number.', // MISSING
-		validateVSpace	: 'VSpace must be a whole number.' // MISSING
+		validateWidth	: 'Bredde må være ett nummer.',
+		validateHeight	: 'Høyde må være ett nummer.',
+		validateBorder	: 'Ramme må være ett nummer.',
+		validateHSpace	: 'HSpace må være ett nummer.',
+		validateVSpace	: 'VSpace må være ett nummer.'
 	},
 
@@ -490,5 +490,5 @@
 	elementsPath :
 	{
-		eleLabel : 'Elements path', // MISSING
+		eleLabel : 'Element-sti',
 		eleTitle : '%1 element'
 	},
@@ -512,17 +512,17 @@
 	{
 		title		: 'Lim inn',
-		cutError	: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl/Cmd+X).',
-		copyError	: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl/Cmd+C).',
-		pasteMsg	: 'Vennligst lim inn i den følgende boksen med tastaturet (<STRONG>Ctrl/Cmd+V</STRONG>) og trykk <STRONG>OK</STRONG>.',
+		cutError	: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl+X).',
+		copyError	: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl+C).',
+		pasteMsg	: 'Vennligst lim inn i den følgende boksen med tastaturet (<STRONG>Ctrl+V</STRONG>) og trykk <STRONG>OK</STRONG>.',
 		securityMsg	: 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må lime det igjen i dette vinduet.',
-		pasteArea	: 'Paste Area' // MISSING
+		pasteArea	: 'Innlimingsområde'
 	},
 
 	pastefromword :
 	{
-		confirmCleanup	: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING
+		confirmCleanup	: 'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?',
 		toolbar			: 'Lim inn fra Word',
 		title			: 'Lim inn fra Word',
-		error			: 'It was not possible to clean up the pasted data due to an internal error' // MISSING
+		error			: 'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil'
 	},
 
@@ -548,5 +548,5 @@
 	{
 		label		: 'Stil',
-		panelTitle	: 'Formatting Styles', // MISSING
+		panelTitle	: 'Stilformater',
 		panelTitle1	: 'Blokkstiler',
 		panelTitle2	: 'Inlinestiler',
@@ -573,17 +573,17 @@
 	div :
 	{
-		title				: 'Create Div Container', // MISSING
-		toolbar				: 'Create Div Container', // MISSING
-		cssClassInputLabel	: 'Stylesheet Classes', // MISSING
-		styleSelectLabel	: 'Style', // MISSING
-		IdInputLabel		: 'Id', // MISSING
-		languageCodeInputLabel	: ' Language Code', // MISSING
-		inlineStyleInputLabel	: 'Inline Style', // MISSING
+		title				: 'Sett inn Div Container',
+		toolbar				: 'Sett inn Div Container',
+		cssClassInputLabel	: 'Stilark-klasser',
+		styleSelectLabel	: 'Stil',
+		IdInputLabel		: 'Id',
+		languageCodeInputLabel	: ' Språk-kode',
+		inlineStyleInputLabel	: 'Inlinestiler',
 		advisoryTitleInputLabel	: 'Advisory Title', // MISSING
-		langDirLabel		: 'Language Direction', // MISSING
-		langDirLTRLabel		: 'Left to Right (LTR)', // MISSING
-		langDirRTLLabel		: 'Right to Left (RTL)', // MISSING
-		edit				: 'Edit Div', // MISSING
-		remove				: 'Remove Div' // MISSING
+		langDirLabel		: 'Språkretning',
+		langDirLTRLabel		: 'Venstre til høyre (VTH)',
+		langDirRTLLabel		: 'Høyre til venstre (HTV)',
+		edit				: 'Rediger Div',
+		remove				: 'Fjern Div'
   	},
 
@@ -606,5 +606,5 @@
 		textColorTitle	: 'Tekstfarge',
 		bgColorTitle	: 'Bakgrunnsfarge',
-		panelTitle		: 'Colors', // MISSING
+		panelTitle		: 'Farger',
 		auto			: 'Automatisk',
 		more			: 'Flere farger...'
@@ -613,44 +613,44 @@
 	colors :
 	{
-		'000' : 'Black', // MISSING
+		'000' : 'Svart',
 		'800000' : 'Maroon', // MISSING
 		'8B4513' : 'Saddle Brown', // MISSING
 		'2F4F4F' : 'Dark Slate Gray', // MISSING
 		'008080' : 'Teal', // MISSING
-		'000080' : 'Navy', // MISSING
+		'000080' : 'Marine',
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Svak grå',
 		'B22222' : 'Fire Brick', // MISSING
-		'A52A2A' : 'Brown', // MISSING
+		'A52A2A' : 'Brun',
 		'DAA520' : 'Golden Rod', // MISSING
-		'006400' : 'Dark Green', // MISSING
-		'40E0D0' : 'Turquoise', // MISSING
-		'0000CD' : 'Medium Blue', // MISSING
+		'006400' : 'Mørk grå',
+		'40E0D0' : 'Turkis',
+		'0000CD' : 'Medium Blå',
 		'800080' : 'Purple', // MISSING
-		'808080' : 'Gray', // MISSING
+		'808080' : 'Grå',
 		'F00' : 'Red', // MISSING
-		'FF8C00' : 'Dark Orange', // MISSING
-		'FFD700' : 'Gold', // MISSING
-		'008000' : 'Green', // MISSING
+		'FF8C00' : 'Mørk oransje',
+		'FFD700' : 'gull',
+		'008000' : 'Grønn',
 		'0FF' : 'Cyan', // MISSING
-		'00F' : 'Blue', // MISSING
-		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'00F' : 'Blå',
+		'EE82EE' : 'Fiolett',
+		'A9A9A9' : 'Mørk grå',
 		'FFA07A' : 'Light Salmon', // MISSING
-		'FFA500' : 'Orange', // MISSING
-		'FFFF00' : 'Yellow', // MISSING
+		'FFA500' : 'Oransje',
+		'FFFF00' : 'gul',
 		'00FF00' : 'Lime', // MISSING
 		'AFEEEE' : 'Pale Turquoise', // MISSING
-		'ADD8E6' : 'Light Blue', // MISSING
-		'DDA0DD' : 'Plum', // MISSING
-		'D3D3D3' : 'Light Grey', // MISSING
+		'ADD8E6' : 'Lys Blå',
+		'DDA0DD' : 'Plomme',
+		'D3D3D3' : 'Lys grå',
 		'FFF0F5' : 'Lavender Blush', // MISSING
-		'FAEBD7' : 'Antique White', // MISSING
-		'FFFFE0' : 'Light Yellow', // MISSING
+		'FAEBD7' : 'Antikk-hvit',
+		'FFFFE0' : 'Lys gul',
 		'F0FFF0' : 'Honeydew', // MISSING
 		'F0FFFF' : 'Azure', // MISSING
 		'F0F8FF' : 'Alice Blue', // MISSING
 		'E6E6FA' : 'Lavender', // MISSING
-		'FFF' : 'White' // MISSING
+		'FFF' : 'Hvit'
 	},
 
@@ -704,5 +704,5 @@
 	},
 
-	toolbarCollapse	: 'Collapse Toolbar', // MISSING
-	toolbarExpand	: 'Expand Toolbar' // MISSING
+	toolbarCollapse	: 'Slå sammen verktøylinje',
+	toolbarExpand	: 'Vis verktøylinje'
 };
Index: CKEditor/branches/versions/3.3.x/_source/lang/nl.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/nl.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/nl.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/no.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/no.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/no.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -32,9 +32,9 @@
 	 * of reading non-English words. So be careful while translating it.
 	 */
-	editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING
+	editorTitle : 'Rikteksteditor, %1, trykk ALT 0 for hjelp.',
 
 	// ARIA descriptions.
-	toolbar	: 'Toolbar', // MISSING
-	editor	: 'Rich Text Editor', // MISSING
+	toolbar	: 'Verktøylinje',
+	editor	: 'Rikteksteditor',
 
 	// Toolbar buttons without dialogs.
@@ -93,6 +93,6 @@
 		ok				: 'OK',
 		cancel			: 'Avbryt',
-		close			: 'Close', // MISSING
-		preview			: 'Preview', // MISSING
+		close			: 'Lukk',
+		preview			: 'Forhåndsvis',
 		generalTab		: 'Generelt',
 		advancedTab		: 'Avansert',
@@ -100,10 +100,10 @@
 		confirmNewPage	: 'Alle endringer som er gjort i dette innholdet vil bli tapt. Er du sikker på at du vil laste en ny side?',
 		confirmCancel	: 'Noen av valgene har blitt endret. Er du sikker på at du vil lukke dialogen?',
-		options			: 'Options', // MISSING
-		target			: 'Target', // MISSING
-		targetNew		: 'New Window (_blank)', // MISSING
-		targetTop		: 'Topmost Window (_top)', // MISSING
-		targetSelf		: 'Same Window (_self)', // MISSING
-		targetParent	: 'Parent Window (_parent)', // MISSING
+		options			: 'Valg',
+		target			: 'Mål',
+		targetNew		: 'Nytt vindu (_blank)',
+		targetTop		: 'Hele vindu (_top)',
+		targetSelf		: 'Samme vindu (_self)',
+		targetParent	: 'Foreldrevindu (_parent)',
 
 		// Put the voice-only part of the label in the span.
@@ -128,5 +128,5 @@
 	{
 		toolbar		: 'Sett inn/Rediger lenke',
-		other 		: '<annet>',
+		other 		: '<other>', // MISSING
 		menu		: 'Rediger lenke',
 		title		: 'Lenke',
@@ -136,5 +136,5 @@
 		advanced	: 'Avansert',
 		type		: 'Lenketype',
-		toUrl		: 'URL', // MISSING
+		toUrl		: 'URL',
 		toAnchor	: 'Lenke til anker i teksten',
 		toEmail		: 'E-post',
@@ -223,5 +223,5 @@
 		widthPx		: 'piksler',
 		widthPc		: 'prosent',
-		widthUnit	: 'width unit', // MISSING
+		widthUnit	: 'Bredde-enhet',
 		height		: 'Høyde',
 		cellSpace	: 'Cellemarg',
@@ -386,5 +386,5 @@
 		height		: 'Høyde',
 		lockRatio	: 'Lås forhold',
-		unlockRatio	: 'Unlock Ratio', // MISSING
+		unlockRatio	: 'Ikke lås forhold',
 		resetSize	: 'Tilbakestill størrelse',
 		border		: 'Ramme',
@@ -399,9 +399,9 @@
 		img2Button	: 'Vil du endre det valgte bildet til en bildeknapp?',
 		urlMissing	: 'Bildets adresse mangler.',
-		validateWidth	: 'Width must be a whole number.', // MISSING
-		validateHeight	: 'Height must be a whole number.', // MISSING
-		validateBorder	: 'Border must be a whole number.', // MISSING
-		validateHSpace	: 'HSpace must be a whole number.', // MISSING
-		validateVSpace	: 'VSpace must be a whole number.' // MISSING
+		validateWidth	: 'Bredde må være ett nummer.',
+		validateHeight	: 'Høyde må være ett nummer.',
+		validateBorder	: 'Ramme må være ett nummer.',
+		validateHSpace	: 'HSpace må være ett nummer.',
+		validateVSpace	: 'VSpace må være ett nummer.'
 	},
 
@@ -490,5 +490,5 @@
 	elementsPath :
 	{
-		eleLabel : 'Elements path', // MISSING
+		eleLabel : 'Element-sti',
 		eleTitle : '%1 element'
 	},
@@ -512,17 +512,17 @@
 	{
 		title		: 'Lim inn',
-		cutError	: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl/Cmd+X).',
-		copyError	: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl/Cmd+C).',
-		pasteMsg	: 'Vennligst lim inn i den følgende boksen med tastaturet (<STRONG>Ctrl/Cmd+V</STRONG>) og trykk <STRONG>OK</STRONG>.',
+		cutError	: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl+X).',
+		copyError	: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl+C).',
+		pasteMsg	: 'Vennligst lim inn i den følgende boksen med tastaturet (<STRONG>Ctrl+V</STRONG>) og trykk <STRONG>OK</STRONG>.',
 		securityMsg	: 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må lime det igjen i dette vinduet.',
-		pasteArea	: 'Paste Area' // MISSING
+		pasteArea	: 'Innlimingsområde'
 	},
 
 	pastefromword :
 	{
-		confirmCleanup	: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING
+		confirmCleanup	: 'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?',
 		toolbar			: 'Lim inn fra Word',
 		title			: 'Lim inn fra Word',
-		error			: 'It was not possible to clean up the pasted data due to an internal error' // MISSING
+		error			: 'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil'
 	},
 
@@ -548,5 +548,5 @@
 	{
 		label		: 'Stil',
-		panelTitle	: 'Formatting Styles', // MISSING
+		panelTitle	: 'Stilformater',
 		panelTitle1	: 'Blokkstiler',
 		panelTitle2	: 'Inlinestiler',
@@ -573,17 +573,17 @@
 	div :
 	{
-		title				: 'Create Div Container', // MISSING
-		toolbar				: 'Create Div Container', // MISSING
-		cssClassInputLabel	: 'Stylesheet Classes', // MISSING
-		styleSelectLabel	: 'Style', // MISSING
-		IdInputLabel		: 'Id', // MISSING
-		languageCodeInputLabel	: ' Language Code', // MISSING
-		inlineStyleInputLabel	: 'Inline Style', // MISSING
+		title				: 'Sett inn Div Container',
+		toolbar				: 'Sett inn Div Container',
+		cssClassInputLabel	: 'Stilark-klasser',
+		styleSelectLabel	: 'Stil',
+		IdInputLabel		: 'Id',
+		languageCodeInputLabel	: ' Språk-kode',
+		inlineStyleInputLabel	: 'Inlinestiler',
 		advisoryTitleInputLabel	: 'Advisory Title', // MISSING
-		langDirLabel		: 'Language Direction', // MISSING
-		langDirLTRLabel		: 'Left to Right (LTR)', // MISSING
-		langDirRTLLabel		: 'Right to Left (RTL)', // MISSING
-		edit				: 'Edit Div', // MISSING
-		remove				: 'Remove Div' // MISSING
+		langDirLabel		: 'Språkretning',
+		langDirLTRLabel		: 'Venstre til høyre (VTH)',
+		langDirRTLLabel		: 'Høyre til venstre (HTV)',
+		edit				: 'Rediger Div',
+		remove				: 'Fjern Div'
   	},
 
@@ -606,5 +606,5 @@
 		textColorTitle	: 'Tekstfarge',
 		bgColorTitle	: 'Bakgrunnsfarge',
-		panelTitle		: 'Colors', // MISSING
+		panelTitle		: 'Farger',
 		auto			: 'Automatisk',
 		more			: 'Flere farger...'
@@ -613,44 +613,44 @@
 	colors :
 	{
-		'000' : 'Black', // MISSING
+		'000' : 'Svart',
 		'800000' : 'Maroon', // MISSING
 		'8B4513' : 'Saddle Brown', // MISSING
 		'2F4F4F' : 'Dark Slate Gray', // MISSING
 		'008080' : 'Teal', // MISSING
-		'000080' : 'Navy', // MISSING
+		'000080' : 'Marine',
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Svak grå',
 		'B22222' : 'Fire Brick', // MISSING
-		'A52A2A' : 'Brown', // MISSING
+		'A52A2A' : 'Brun',
 		'DAA520' : 'Golden Rod', // MISSING
-		'006400' : 'Dark Green', // MISSING
-		'40E0D0' : 'Turquoise', // MISSING
-		'0000CD' : 'Medium Blue', // MISSING
+		'006400' : 'Mørk grå',
+		'40E0D0' : 'Turkis',
+		'0000CD' : 'Medium Blå',
 		'800080' : 'Purple', // MISSING
-		'808080' : 'Gray', // MISSING
+		'808080' : 'Grå',
 		'F00' : 'Red', // MISSING
-		'FF8C00' : 'Dark Orange', // MISSING
-		'FFD700' : 'Gold', // MISSING
-		'008000' : 'Green', // MISSING
+		'FF8C00' : 'Mørk oransje',
+		'FFD700' : 'gull',
+		'008000' : 'Grønn',
 		'0FF' : 'Cyan', // MISSING
-		'00F' : 'Blue', // MISSING
-		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'00F' : 'Blå',
+		'EE82EE' : 'Fiolett',
+		'A9A9A9' : 'Mørk grå',
 		'FFA07A' : 'Light Salmon', // MISSING
-		'FFA500' : 'Orange', // MISSING
-		'FFFF00' : 'Yellow', // MISSING
+		'FFA500' : 'Oransje',
+		'FFFF00' : 'gul',
 		'00FF00' : 'Lime', // MISSING
 		'AFEEEE' : 'Pale Turquoise', // MISSING
-		'ADD8E6' : 'Light Blue', // MISSING
-		'DDA0DD' : 'Plum', // MISSING
-		'D3D3D3' : 'Light Grey', // MISSING
+		'ADD8E6' : 'Lys Blå',
+		'DDA0DD' : 'Plomme',
+		'D3D3D3' : 'Lys grå',
 		'FFF0F5' : 'Lavender Blush', // MISSING
-		'FAEBD7' : 'Antique White', // MISSING
-		'FFFFE0' : 'Light Yellow', // MISSING
+		'FAEBD7' : 'Antikk-hvit',
+		'FFFFE0' : 'Lys gul',
 		'F0FFF0' : 'Honeydew', // MISSING
 		'F0FFFF' : 'Azure', // MISSING
 		'F0F8FF' : 'Alice Blue', // MISSING
 		'E6E6FA' : 'Lavender', // MISSING
-		'FFF' : 'White' // MISSING
+		'FFF' : 'Hvit'
 	},
 
@@ -704,5 +704,5 @@
 	},
 
-	toolbarCollapse	: 'Collapse Toolbar', // MISSING
-	toolbarExpand	: 'Expand Toolbar' // MISSING
+	toolbarCollapse	: 'Slå sammen verktøylinje',
+	toolbarExpand	: 'Vis verktøylinje'
 };
Index: CKEditor/branches/versions/3.3.x/_source/lang/pl.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/pl.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/pl.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/pt-br.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/pt-br.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/pt-br.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/pt.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/pt.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/pt.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/ro.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/ro.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/ro.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/ru.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/ru.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/ru.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/sk.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/sk.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/sk.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/sl.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/sl.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/sl.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/sr-latn.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/sr-latn.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/sr-latn.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/sr.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/sr.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/sr.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/sv.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/sv.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/sv.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/th.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/th.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/th.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/tr.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/tr.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/tr.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/uk.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/uk.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/uk.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/vi.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/vi.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/vi.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/zh-cn.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/zh-cn.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/zh-cn.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/lang/zh.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/lang/zh.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/lang/zh.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/plugins/basicstyles/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/basicstyles/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/basicstyles/plugin.js	(revision 5388)
@@ -43,4 +43,5 @@
 
 // Basic Inline Styles.
+
 /**
  * The style definition to be used to apply the bold style in the text.
@@ -51,5 +52,6 @@
  * config.coreStyles_bold = { element : 'span', attributes : {'class': 'Bold'} };
  */
-CKEDITOR.config.coreStyles_bold			= { element : 'strong', overrides : 'b' };
+CKEDITOR.config.coreStyles_bold = { element : 'strong', overrides : 'b' };
+
 /**
  * The style definition to be used to apply the italic style in the text.
@@ -57,7 +59,10 @@
  * @default { element : 'em', overrides : 'i' }
  * @example
- * CKEDITOR.config.coreStyles_italic		= { element : 'span', attributes : {'class': 'Italic'} };
+ * config.coreStyles_bold = { element : 'i', overrides : 'em' };
+ * @example
+ * CKEDITOR.config.coreStyles_italic = { element : 'span', attributes : {'class': 'Italic'} };
  */
-CKEDITOR.config.coreStyles_italic		= { element : 'em', overrides : 'i' };
+CKEDITOR.config.coreStyles_italic = { element : 'em', overrides : 'i' };
+
 /**
  * The style definition to be used to apply the underline style in the text.
@@ -65,7 +70,8 @@
  * @default { element : 'u' }
  * @example
- * CKEDITOR.config.coreStyles_underline	= { element : 'span', attributes : {'class': 'Underline'}};
+ * CKEDITOR.config.coreStyles_underline = { element : 'span', attributes : {'class': 'Underline'}};
  */
-CKEDITOR.config.coreStyles_underline	= { element : 'u' };
+CKEDITOR.config.coreStyles_underline = { element : 'u' };
+
 /**
  * The style definition to be used to apply the strike style in the text.
@@ -73,7 +79,8 @@
  * @default { element : 'strike' }
  * @example
- * CKEDITOR.config.coreStyles_strike		= { element : 'span', attributes : {'class': 'StrikeThrough'}, overrides : 'strike' };
+ * CKEDITOR.config.coreStyles_strike = { element : 'span', attributes : {'class': 'StrikeThrough'}, overrides : 'strike' };
  */
-CKEDITOR.config.coreStyles_strike		= { element : 'strike' };
+CKEDITOR.config.coreStyles_strike = { element : 'strike' };
+
 /**
  * The style definition to be used to apply the subscript style in the text.
@@ -81,7 +88,8 @@
  * @default { element : 'sub' }
  * @example
- * CKEDITOR.config.coreStyles_subscript	= { element : 'span', attributes : {'class': 'Subscript'}, overrides : 'sub' };
+ * CKEDITOR.config.coreStyles_subscript = { element : 'span', attributes : {'class': 'Subscript'}, overrides : 'sub' };
  */
-CKEDITOR.config.coreStyles_subscript	= { element : 'sub' };
+CKEDITOR.config.coreStyles_subscript = { element : 'sub' };
+
 /**
  * The style definition to be used to apply the superscript style in the text.
@@ -89,5 +97,5 @@
  * @default { element : 'sup' }
  * @example
- * CKEDITOR.config.coreStyles_superscript	= { element : 'span', attributes : {'class': 'Superscript'}, overrides : 'sup' };
+ * CKEDITOR.config.coreStyles_superscript = { element : 'span', attributes : {'class': 'Superscript'}, overrides : 'sup' };
  */
-CKEDITOR.config.coreStyles_superscript	= { element : 'sup' };
+CKEDITOR.config.coreStyles_superscript = { element : 'sup' };
Index: CKEditor/branches/versions/3.3.x/_source/plugins/clipboard/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/clipboard/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/clipboard/plugin.js	(revision 5388)
@@ -29,5 +29,6 @@
 		body.on( command, onExec );
 
-		doc.$.execCommand( command );
+		// IE6/7: document.execCommand has problem to paste into positioned element.
+		( CKEDITOR.env.version > 7 ? doc.$ : doc.$.selection.createRange() ) [ 'execCommand' ]( command );
 
 		body.removeListener( command, onExec );
@@ -68,4 +69,6 @@
 		exec : function( editor, data )
 		{
+			this.type == 'cut' && fixCut( editor );
+
 			var success = tryToCutCopy( editor, this.type );
 
@@ -182,5 +185,5 @@
 
 		// Create container to paste into
-		var pastebin = new CKEDITOR.dom.element( mode == 'text' ? 'textarea' : 'div', doc );
+		var pastebin = new CKEDITOR.dom.element( mode == 'text' ? 'textarea' : CKEDITOR.env.webkit ? 'body' : 'div', doc );
 		pastebin.setAttribute( 'id', 'cke_pastebin' );
 		// Safari requires a filler node inside the div to have the content pasted into it. (#4882)
@@ -248,4 +251,34 @@
 	}
 
+	// Cutting off control type element in IE standards breaks the selection entirely. (#4881)
+	function fixCut( editor )
+	{
+		if ( !CKEDITOR.env.ie || editor.document.$.compatMode == 'BackCompat' )
+			return;
+
+		var sel = editor.getSelection();
+		var control;
+		if( ( sel.getType() == CKEDITOR.SELECTION_ELEMENT ) && ( control = sel.getSelectedElement() ) )
+		{
+			var range = sel.getRanges()[ 0 ];
+			var dummy = editor.document.createText( '' );
+			dummy.insertBefore( control );
+			range.setStartBefore( dummy );
+			range.setEndAfter( control );
+			sel.selectRanges( [ range ] );
+
+			// Clear up the fix if the paste wasn't succeeded.
+			setTimeout( function()
+			{
+				// Element still online?
+				if ( control.getParent() )
+				{
+					dummy.remove();
+					sel.selectElement( control );
+				}
+			}, 0 );
+		}
+	}
+	
 	// Register the plugin.
 	CKEDITOR.plugins.add( 'clipboard',
@@ -318,5 +351,5 @@
 						function( evt )
 						{
-							if ( depressBeforePasteEvent )
+							if ( depressBeforeEvent )
 								return;
 
@@ -334,4 +367,5 @@
 						});
 
+					body.on( 'beforecut', function() { !depressBeforeEvent && fixCut( editor ); } );
 				});
 
@@ -339,14 +373,14 @@
 				if ( editor.contextMenu )
 				{
-					var depressBeforePasteEvent;
+					var depressBeforeEvent;
 					function stateFromNamedCommand( command )
 					{
-						// IE Bug: queryCommandEnabled('paste') fires also 'beforepaste',
+						// IE Bug: queryCommandEnabled('paste') fires also 'beforepaste(copy/cut)',
 						// guard to distinguish from the ordinary sources( either
 						// keyboard paste or execCommand ) (#4874).
-						CKEDITOR.env.ie && command == 'Paste'&& ( depressBeforePasteEvent = 1 );
+						CKEDITOR.env.ie && ( depressBeforeEvent = 1 );
 
 						var retval = editor.document.$.queryCommandEnabled( command ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED;
-						depressBeforePasteEvent = 0;
+						depressBeforeEvent = 0;
 						return retval;
 					}
Index: CKEditor/branches/versions/3.3.x/_source/plugins/colorbutton/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/colorbutton/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/colorbutton/plugin.js	(revision 5388)
@@ -87,11 +87,23 @@
 					panel.hide();
 
-					var style = new CKEDITOR.style( config['colorButton_' + type + 'Style'], { color : color || 'inherit' } );
 
 					editor.fire( 'saveSnapshot' );
+
+					// Clean up any conflicting style within the range.
+					new CKEDITOR.style( config['colorButton_' + type + 'Style'], { color : 'inherit' } ).remove( editor.document );
+
 					if ( color )
-						style.apply( editor.document );
-					else
-						style.remove( editor.document );
+					{
+						var colorStyle = config['colorButton_' + type + 'Style'];
+
+						colorStyle.childRule = type == 'back' ?
+							// It's better to apply background color as the innermost style. (#3599)
+							function(){ return false; } :
+							// Fore color style must be applied inside links instead of around it.
+							function( element ){ return element.getName() != 'a'; };
+
+						new CKEDITOR.style( colorStyle, { color : color } ).apply( editor.document );
+					}
+
 					editor.fire( 'saveSnapshot' );
 				});
@@ -215,11 +227,5 @@
 		element		: 'span',
 		styles		: { 'color' : '#(color)' },
-		overrides	: [ { element : 'font', attributes : { 'color' : null } } ],
-
-		// Fore color style must be applied inside links instead of around it.
-		childRule : function( element )
-		{
-			return element.getName() != 'a';
-		}
+		overrides	: [ { element : 'font', attributes : { 'color' : null } } ]
 	};
 
@@ -238,10 +244,4 @@
 	{
 		element		: 'span',
-		styles		: { 'background-color' : '#(color)' },
-
-		// It's better to apply background color as the innermost style. (#3599)
-		childRule : function( element )
-		{
-			return false;
-		}
+		styles		: { 'background-color' : '#(color)' }
 	};
Index: CKEditor/branches/versions/3.3.x/_source/plugins/contextmenu/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/contextmenu/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/contextmenu/plugin.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -168,5 +168,5 @@
 
 					if ( nativeContextMenuOnCtrl
-						 && ( evt.$.ctrlKey || evt.$.metaKey ) )
+						 && ( CKEDITOR.env.mac ? evt.$.metaKey : evt.$.ctrlKey ) )
 						return;
 
@@ -206,5 +206,5 @@
 					     // Safari on Windows always show 'ctrlKey' as true in 'contextmenu' event,
 						// which make this property unreliable. (#4826)
-					     ( CKEDITOR.env.webkit ? holdCtrlKey : domEvent.$.ctrlKey || domEvent.$.metaKey ) )
+					     ( CKEDITOR.env.webkit ? holdCtrlKey : ( CKEDITOR.env.mac ? domEvent.$.metaKey : domEvent.$.ctrlKey ) ) )
 						return;
 
@@ -237,5 +237,5 @@
 					onKeyDown = function( event )
 					{
-						holdCtrlKey = event.data.$.ctrlKey || event.data.$.metaKey;
+						holdCtrlKey = CKEDITOR.env.mac ? event.data.$.metaKey : event.data.$.ctrlKey ;
 					},
 					resetOnKeyUp = function()
Index: CKEditor/branches/versions/3.3.x/_source/plugins/dialog/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/dialog/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/dialog/plugin.js	(revision 5388)
@@ -2658,5 +2658,5 @@
 		canUndo: false,
 
-		editorFocus : CKEDITOR.env.ie
+		editorFocus : CKEDITOR.env.ie || CKEDITOR.env.webkit
 	};
 
Index: CKEditor/branches/versions/3.3.x/_source/plugins/div/dialogs/div.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/div/dialogs/div.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/div/dialogs/div.js	(revision 5388)
@@ -485,4 +485,5 @@
 			onOk : function()
 			{
+				editor.fire( 'saveSnapshot' );
 				if ( command == 'editdiv' )
 					containers = [ this._element ];
@@ -499,4 +500,5 @@
 					!containers[ i ].getAttribute( 'style' ) && containers[ i ].removeAttribute( 'style' );
 				}
+				editor.fire( 'saveSnapshot' );
 
 				this.hide();
Index: CKEditor/branches/versions/3.3.x/_source/plugins/elementspath/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/elementspath/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/elementspath/plugin.js	(revision 5388)
@@ -45,5 +45,5 @@
 			var idBase = 'cke_elementspath_' + CKEDITOR.tools.getNextNumber() + '_';
 
-			editor._.elementsPath = { idBase : idBase };
+			editor._.elementsPath = { idBase : idBase, filters : [] };
 
 			editor.on( 'themeSpace', function( event )
@@ -57,15 +57,13 @@
 				});
 
-			var filters = editor.config.elementsPath_filters;
-
 			editor.on( 'selectionChange', function( ev )
 				{
-					var env = CKEDITOR.env;
-
-					var selection = ev.data.selection;
-
-					var element = selection.getStartElement(),
+					var env = CKEDITOR.env,
+						selection = ev.data.selection,
+						element = selection.getStartElement(),
 						html = [],
-						elementsList = this._.elementsPath.list = [];
+						editor = ev.editor,
+						elementsList = editor._.elementsPath.list = [],
+						filters = editor._.elementsPath.filters;
 
 					while ( element )
@@ -115,7 +113,7 @@
 									' onfocus="event.preventBubble();"' : '' ) +
 									' hidefocus="true" ' +
-									' onkeydown="return CKEDITOR._.elementsPath.keydown(\'', this.name, '\',', index, ', event);"' +
+									' onkeydown="return CKEDITOR._.elementsPath.keydown(\'', editor.name, '\',', index, ', event);"' +
 									extra ,
-									' onclick="return CKEDITOR._.elementsPath.click(\'', this.name, '\',', index, ');"',
+									' onclick="return CKEDITOR._.elementsPath.click(\'', editor.name, '\',', index, ');"',
 									' role="button" aria-labelledby="' + idBase + index + '_label">',
 										name,
@@ -204,16 +202,2 @@
 	}
 };
-
-/**
- * A list of filter functions to determinate whether an element should display in elements path bar.
- * @type Array Array of functions that optionaly return 'false' to prevent the element from displaying.
- * @default  []
- * @example
- *	// Prevent elements with attribute 'myAttribute' to appear in elements path.
- *	editor.config.elementsPath_filters.push( function( element )
- *	{
- *		if( element.hasAttribute( 'myAttribute') )
- *			return false;
- *	});
- */
-CKEDITOR.config.elementsPath_filters = [];
Index: CKEditor/branches/versions/3.3.x/_source/plugins/enterkey/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/enterkey/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/enterkey/plugin.js	(revision 5388)
@@ -101,5 +101,6 @@
 					// a Shift+Enter (#77). Create a new block element instead
 					// (later in the code).
-					if ( !forceMode && !headerTagRegex.test( previousBlock.getName() ) )
+					if ( previousBlock.is( 'li' ) ||
+						 !( forceMode || headerTagRegex.test( previousBlock.getName() ) ) )
 					{
 						// Otherwise, duplicate the previous block.
Index: CKEditor/branches/versions/3.3.x/_source/plugins/find/dialogs/find.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/find/dialogs/find.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/find/dialogs/find.js	(revision 5388)
@@ -6,5 +6,5 @@
 (function()
 {
-	function guardDomWalkerNonEmptyTextNode( node )
+	function nonEmptyText( node )
 	{
 		return ( node.type == CKEDITOR.NODE_TEXT && node.getLength() > 0 );
@@ -14,9 +14,8 @@
 	 * Elements which break characters been considered as sequence.
 	*/
-	function checkCharactersBoundary ( node )
+	function nonCharactersBoundary ( node )
 	{
-		var dtd = CKEDITOR.dtd;
-		return node.isBlockBoundary(
-			CKEDITOR.tools.extend( {}, dtd.$empty, dtd.$nonEditable ) );
+		return !( node.type == CKEDITOR.NODE_ELEMENT && node.isBlockBoundary(
+			CKEDITOR.tools.extend( {}, CKEDITOR.dtd.$empty, CKEDITOR.dtd.$nonEditable ) ) );
 	}
 
@@ -85,5 +84,6 @@
 			var walker =
 				new CKEDITOR.dom.walker( range );
-			walker[ 'evaluator' ] = guardDomWalkerNonEmptyTextNode;
+			walker.guard = matchWord ? nonCharactersBoundary : null;
+			walker[ 'evaluator' ] = nonEmptyText;
 			walker.breakOnFalse = true;
 
@@ -146,5 +146,5 @@
 						// Marking as match character boundaries.
 						if ( !currentTextNode
-						   && checkCharactersBoundary( this._.walker.current ) )
+						   && !nonCharactersBoundary( this._.walker.current ) )
 							this._.matchBoundary = true;
 
@@ -184,14 +184,23 @@
 			toDomRange : function()
 			{
+				var range = new CKEDITOR.dom.range( editor.document );
 				var cursors = this._.cursors;
 				if ( cursors.length < 1 )
-					return null;
-
-				var first = cursors[0],
-					last = cursors[ cursors.length - 1 ],
-					range = new CKEDITOR.dom.range( editor.document );
-
-				range.setStart( first.textNode, first.offset );
-				range.setEnd( last.textNode, last.offset + 1 );
+				{
+					var textNode = this._.walker.textNode;
+					if ( textNode )
+							range.setStartAfter( textNode );
+					else
+						return null;
+				}
+				else
+				{
+					var first = cursors[0],
+							last = cursors[ cursors.length - 1 ];
+
+					range.setStart( first.textNode, first.offset );
+					range.setEnd( last.textNode, last.offset + 1 );
+				}
+
 				return range;
 			},
@@ -823,10 +832,13 @@
 			onHide : function()
 			{
+				var range;
 				if ( finder.matchRange && finder.matchRange.isMatched() )
 				{
 					finder.matchRange.removeHighlight();
 					editor.focus();
-					editor.getSelection().selectRanges(
-						[ finder.matchRange.toDomRange() ] );
+
+					range = finder.matchRange.toDomRange();
+					if ( range )
+						editor.getSelection().selectRanges( [ range ] );
 				}
 
Index: CKEditor/branches/versions/3.3.x/_source/plugins/font/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/font/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/font/plugin.js	(revision 5388)
@@ -30,4 +30,5 @@
 
 				styles[ name ] = new CKEDITOR.style( styleDefinition, vars );
+				styles[ name ]._.definition.name = name;
 			}
 			else
@@ -56,5 +57,5 @@
 
 						// Add the tag entry to the panel list.
-						this.add( name, '<span style="font-' + styleType + ':' + values[ i ] + '">' + name + '</span>', name );
+						this.add( name, styles[ name ].buildPreview(), name );
 					}
 				},
Index: CKEditor/branches/versions/3.3.x/_source/plugins/forms/dialogs/checkbox.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/forms/dialogs/checkbox.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/forms/dialogs/checkbox.js	(revision 5388)
@@ -93,14 +93,14 @@
 							else
 							{
-								if ( CKEDITOR.env.ie ) 
-								{ 
-									// Remove attribute 'value' of checkbox #4721. 
-									var checkbox = new CKEDITOR.dom.element( 'input' ); 
-									element.copyAttributes( checkbox, { value: 1 } ); 
-									checkbox.replace( element ); 
-									editor.getSelection().selectElement( checkbox ); 
-									data.element = checkbox;      
-								} 
-								else 
+								if ( CKEDITOR.env.ie )
+								{
+									// Remove attribute 'value' of checkbox #4721.
+									var checkbox = new CKEDITOR.dom.element( 'input', element.getDocument() );
+									element.copyAttributes( checkbox, { value: 1 } );
+									checkbox.replace( element );
+									editor.getSelection().selectElement( checkbox );
+									data.element = checkbox;
+								}
+								else
 									element.removeAttribute( 'value' );
 							}
Index: CKEditor/branches/versions/3.3.x/_source/plugins/htmlwriter/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/htmlwriter/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/htmlwriter/plugin.js	(revision 5388)
@@ -177,5 +177,5 @@
 				this.forceSimpleAmpersand && ( attValue = attValue.replace( /&amp;/g, '&' ) );
 				// Browsers don't always escape special character in attribute values. (#4683, #4719).
-				attValue = CKEDITOR.tools.htmlEncodeAttr( attValue ); 
+				attValue = CKEDITOR.tools.htmlEncodeAttr( attValue );
 			}
 
Index: CKEditor/branches/versions/3.3.x/_source/plugins/image/dialogs/image.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/image/dialogs/image.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/image/dialogs/image.js	(revision 5388)
@@ -114,6 +114,11 @@
 	var switchLockRatio = function( dialog, value )
 	{
-		var oImageOriginal = dialog.originalElement,
-			ratioButton = CKEDITOR.document.getById( 'btnLockSizes' );
+		var oImageOriginal = dialog.originalElement;
+
+		// Dialog may already closed. (#5505)
+		if( !oImageOriginal )
+			return;
+
+		var ratioButton = CKEDITOR.document.getById( 'btnLockSizes' );
 
 		if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' )
@@ -1052,5 +1057,5 @@
 											html : '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) +'<br>'+
 											'<div id="ImagePreviewLoader" style="display:none"><div class="loading">&nbsp;</div></div>'+
-											'<div id="ImagePreviewBox">'+
+											'<div id="ImagePreviewBox"><table><tr><td>'+
 											'<a href="javascript:void(0)" target="_blank" onclick="return false;" id="previewLink">'+
 											'<img id="previewImage" alt="" /></a>' +
@@ -1059,5 +1064,5 @@
 											'Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, '+
 											'nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.' ) +
-											'</div></div>'
+											'</td></tr></table></div></div>'
 										}
 									]
Index: CKEditor/branches/versions/3.3.x/_source/plugins/image/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/image/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/image/plugin.js	(revision 5388)
@@ -80,3 +80,2 @@
  * config.image_previewText = CKEDITOR.tools.repeat( '___ ', 100 );
  */
-
Index: CKEditor/branches/versions/3.3.x/_source/plugins/indent/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/indent/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/indent/plugin.js	(revision 5388)
@@ -11,4 +11,7 @@
 {
 	var listNodeNames = { ol : 1, ul : 1 };
+
+	var isNotWhitespaces = CKEDITOR.dom.walker.whitespaces( true ),
+		isNotBookmark = CKEDITOR.dom.walker.bookmark( false, true );
 
 	function setState( editor, state )
@@ -163,4 +166,9 @@
 					   followingList.getName() in listNodeNames )
 				{
+					// IE requires a filler NBSP for nested list inside empty list item,
+					// otherwise the list item will be inaccessiable. (#4476)
+					if ( CKEDITOR.env.ie && !li.getFirst( function( node ){ return isNotWhitespaces( node ) && isNotBookmark( node ); } ) )
+						li.append( range.document.createText( '\u00a0' ) );
+
 					li.append( followingList );
 				}
Index: CKEditor/branches/versions/3.3.x/_source/plugins/link/dialogs/link.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/link/dialogs/link.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/link/dialogs/link.js	(revision 5388)
@@ -783,5 +783,5 @@
 										data.target = {};
 
-									data.target.name = this.getValue().replace(/\W/gi, ''); 
+									data.target.name = this.getValue().replace(/\W/gi, '');
 								}
 							}
Index: CKEditor/branches/versions/3.3.x/_source/plugins/link/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/link/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/link/plugin.js	(revision 5388)
@@ -165,5 +165,5 @@
 	 * @example CKEDITOR.plugins.link.getSelectedLink( editor );
 	 * @since 3.2.1
-	 * The following selection will all return the link element.   
+	 * The following selection will all return the link element.
 	 *	 <pre>
 	 *  <a href="#">li^nk</a>
Index: CKEditor/branches/versions/3.3.x/_source/plugins/list/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/list/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/list/plugin.js	(revision 5388)
@@ -39,5 +39,5 @@
 					continue;
 
-				var itemObj = { 'parent' : listNode, indent : baseIndentLevel, element : listItem };
+				var itemObj = { 'parent' : listNode, indent : baseIndentLevel, element : listItem, contents : [] };
 				if ( !grandparentNode )
 				{
@@ -56,7 +56,10 @@
 				{
 					child = listItem.getChild( j );
-					// Push inner list items with +1 indentation in the correct order.
 					if ( child.type == CKEDITOR.NODE_ELEMENT && listNodeNames[ child.getName() ] )
+						// Note the recursion here, it pushes inner list items with
+						// +1 indentation in the correct order.
 						CKEDITOR.plugins.list.listToArray( child, database, baseArray, baseIndentLevel + 1, itemObj.grandparent );
+					else
+						itemObj.contents.push( child );
 				}
 			}
@@ -88,5 +91,7 @@
 						retval.append( rootNode );
 					}
-					currentListItem = rootNode.append( item.element );
+					currentListItem = rootNode.append( item.element.clone( false, true ) );
+					for ( var i = 0 ; i < item.contents.length ; i++ )
+						currentListItem.append( item.contents[i].clone( true, true ) );
 					currentIndex++;
 				}
@@ -101,5 +106,5 @@
 					currentListItem;
 					if ( listNodeNames[ item.grandparent.getName() ] )
-						currentListItem = item.element;
+						currentListItem = item.element.clone( false, true );
 					else
 					{
@@ -111,5 +116,6 @@
 					}
 
-					item.element.moveChildren( currentListItem );
+					for ( i = 0 ; i < item.contents.length ; i++ )
+						currentListItem.append( item.contents[i].clone( true, true ) );
 
 					if ( currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT
Index: CKEditor/branches/versions/3.3.x/_source/plugins/maximize/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/maximize/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/maximize/plugin.js	(revision 5388)
@@ -86,4 +86,20 @@
 			editor.resize( viewPaneSize.width, viewPaneSize.height, null, true );
 		};
+	}
+
+	function refreshCursor( editor )
+	{
+		if ( editor.focusManager.hasFocus )
+		{
+			var focusGrabber = editor.container.append( CKEDITOR.dom.element.createFromHtml(
+				'<span tabindex="-1" style="position:absolute; left:-10000" role="presentation"></span>' ) );
+
+			focusGrabber.on( 'focus', function()
+				{
+					editor.focus();
+				} );
+			focusGrabber.focus();
+			focusGrabber.remove();
+		}
 	}
 
@@ -191,4 +207,7 @@
 								} );
 
+							// Fixing positioning editor chrome in Firefox break design mode. (#5149)
+							CKEDITOR.env.gecko && refreshCursor( editor );
+
 							// Add cke_maximized class.
 							container.addClass( 'cke_maximized' );
@@ -243,4 +262,7 @@
 							if ( savedSelection )
 							{
+								// Fixing positioning editor chrome in Firefox break design mode. (#5149)
+								CKEDITOR.env.gecko && refreshCursor( editor );
+
 								editor.getSelection().selectRanges(savedSelection);
 								var element = editor.getSelection().getStartElement();
Index: CKEditor/branches/versions/3.3.x/_source/plugins/pagebreak/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/pagebreak/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/pagebreak/plugin.js	(revision 5388)
@@ -94,4 +94,9 @@
 			range.splitBlock( 'p' );
 			range.insertNode( breakObject );
+			if ( i == ranges.length - 1 )
+			{
+				range.moveToPosition( breakObject, CKEDITOR.POSITION_AFTER_END );
+				range.select();
+			}
 		}
 	}
Index: CKEditor/branches/versions/3.3.x/_source/plugins/panel/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/panel/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/panel/plugin.js	(revision 5388)
@@ -228,4 +228,7 @@
 				: this._.holder;
 
+		// Disable context menu for block panel.
+		holder.getParent().getParent().disableContextMenu();
+
 		if ( current )
 		{
Index: CKEditor/branches/versions/3.3.x/_source/plugins/pastefromword/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/pastefromword/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/pastefromword/plugin.js	(revision 5388)
@@ -36,4 +36,6 @@
 							});
 					}
+					else
+						resetFromWord();
 				}
 			});
Index: CKEditor/branches/versions/3.3.x/_source/plugins/resize/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/resize/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/resize/plugin.js	(revision 5388)
@@ -54,7 +54,7 @@
 						editor.document.on( 'mouseup', dragEndHandler );
 					}
-				} );
+				});
 
-			editor.on( 'destroy', function() { CKEDITOR.tools.removeFunction( mouseDownFn ) } );
+			editor.on( 'destroy', function() { CKEDITOR.tools.removeFunction( mouseDownFn ); } );
 
 			editor.on( 'themeSpace', function( event )
Index: CKEditor/branches/versions/3.3.x/_source/plugins/scayt/dialogs/options.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/scayt/dialogs/options.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/scayt/dialogs/options.js	(revision 5388)
@@ -214,7 +214,7 @@
 
 		// Add buttons titles
-		if (userDicActive)
-		{
-			for ( i in buttons )
+		if ( userDicActive )
+		{
+			for ( i = 0; i < buttons.length; i++ )
 			{
 				var button = buttons[ i ];
@@ -226,5 +226,5 @@
 
 		// Fill options and dictionary labels.
-		if (tags[0] == 1)
+		if ( tags[0] == 1 )
 		{
 			for ( i in labels )
Index: CKEditor/branches/versions/3.3.x/_source/plugins/scayt/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/scayt/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/scayt/plugin.js	(revision 5388)
@@ -42,10 +42,15 @@
 			oParams.srcNodeRef = editor.document.getWindow().$.frameElement;
 			// syntax : AppName.AppVersion@AppRevision
-			oParams.assocApp  = "CKEDITOR." + CKEDITOR.version + "@" + CKEDITOR.revision;
-			oParams.customerid = editor.config.scayt_customerid  || "1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2";
+			oParams.assocApp  = 'CKEDITOR.' + CKEDITOR.version + '@' + CKEDITOR.revision;
+			oParams.customerid = editor.config.scayt_customerid  || '1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';
 			oParams.customDictionaryIds = editor.config.scayt_customDictionaryIds || '';
 			oParams.userDictionaryName = editor.config.scayt_userDictionaryName || '';
-			oParams.sLang = editor.config.scayt_sLang || "en_US";
-			
+			oParams.sLang = editor.config.scayt_sLang || 'en_US';
+
+			oParams.onBeforeChange = function()
+			{
+				if ( !editor.checkDirty() )
+					setTimeout( function(){ editor.resetDirty(); } );
+			};
 
 			var scayt_custom_params = window.scayt_custom_params;
@@ -57,8 +62,8 @@
 				}
 			}
-			
+			// needs for restoring a specific scayt control settings
 			if ( scayt_control_id )
 				oParams.id = scayt_control_id;
-			
+
 			var scayt_control = new window.scayt( oParams );
 
@@ -113,10 +118,11 @@
 				if ( (ev.data.name == 'source' ||  ev.data.name == 'newpage') && editor.mode == 'wysiwyg' )
 				{
-					var scayt_instanse = plugin.getScayt( editor );
-					if ( scayt_instanse )
-					{
-						scayt_paused = scayt_instanse.paused = !scayt_instanse.disabled;
-						scayt_control_id = scayt_instanse.id;
-						scayt_instanse.destroy( true );
+					var scayt_instance = plugin.getScayt( editor );
+					if ( scayt_instance )
+					{
+						scayt_paused = scayt_instance.paused = !scayt_instance.disabled;
+						// store a control id for restore a specific scayt control settings
+						scayt_control_id = scayt_instance.id;
+						scayt_instance.destroy( true );
 						delete plugin.instances[ editor.name ];
 					}
@@ -124,15 +130,19 @@
 			});
 
-
-		editor.on( 'destroy', function()
-			{
-				scayt_control_id = scayt_instanse.id;
-				plugin.getScayt( editor ).destroy( true );
+		editor.on( 'destroy', function( ev )
+			{
+				var editor = ev.editor,
+					scayt_instance = plugin.getScayt( editor );
+				// store a control id for restore a specific scayt control settings
+				scayt_control_id = scayt_instance.id;
+				scayt_instance.destroy( true );
+				delete plugin.instances[ editor.name ];
 			});
+
 		// Listen to data manipulation to reflect scayt markup.
 		editor.on( 'afterSetData', function()
 			{
 				if ( plugin.isScaytEnabled( editor ) ) {
-					window.setTimeout( function(){ plugin.getScayt( editor ).refresh() }, 10 );
+					window.setTimeout( function(){ plugin.getScayt( editor ).refresh(); }, 10 );
 				}
 			});
@@ -150,5 +160,5 @@
 
 					// Swallow any SCAYT engine errors.
-					window.setTimeout( function(){ scayt_instance.refresh() }, 10 );
+					window.setTimeout( function(){ scayt_instance.refresh(); }, 10 );
 				}
 			}, this, null, 50 );
@@ -156,5 +166,4 @@
 		editor.on( 'insertHtml', function()
 			{
-
 				var scayt_instance = plugin.getScayt( editor );
 				if ( plugin.isScaytEnabled( editor ) )
@@ -166,7 +175,5 @@
 
 					// Swallow any SCAYT engine errors.
-					
-					window.setTimeout( function(){ scayt_instance.refresh() },10 );
-					
+					window.setTimeout( function(){ scayt_instance.refresh(); },10 );
 				}
 			}, this, null, 50 );
@@ -182,4 +189,5 @@
 		var dataProcessor = editor.dataProcessor,
 			htmlFilter = dataProcessor && dataProcessor.htmlFilter;
+
 		if ( htmlFilter )
 		{
@@ -220,6 +228,6 @@
 		isScaytEnabled : function( editor )
 		{
-			var scayt_instanse = this.getScayt( editor );
-			return ( scayt_instanse ) ? scayt_instanse.disabled === false : false;
+			var scayt_instance = this.getScayt( editor );
+			return ( scayt_instance ) ? scayt_instance.disabled === false : false;
 		},
 		loadEngine : function( editor )
@@ -227,9 +235,10 @@
 			// SCAYT doesn't work with Opera.
 			if ( CKEDITOR.env.opera )
-				return;
+				return null;
+
 			if ( this.engineLoaded === true )
 				return onEngineLoad.apply( editor );	// Add new instance.
 			else if ( this.engineLoaded == -1 )			// We are waiting.
-				return CKEDITOR.on( 'scaytReady', function(){ onEngineLoad.apply( editor );} );	// Use function(){} to avoid rejection as duplicate.
+				return CKEDITOR.on( 'scaytReady', function(){ onEngineLoad.apply( editor ); } );	// Use function(){} to avoid rejection as duplicate.
 
 			CKEDITOR.on( 'scaytReady', onEngineLoad, editor );
@@ -240,5 +249,5 @@
 				this,
 				null,
-				0 
+				0
 			);	// First to run.
 
@@ -249,8 +258,8 @@
 			// Default to 'http' for unknown.
 			protocol = protocol.search( /https?:/) != -1? protocol : 'http:';
-			var baseUrl  = "svc.spellchecker.net/spellcheck31/lf/scayt/scayt22.js";
-
-			var scaytUrl  =  editor.config.scayt_srcUrl || ( protocol + "//" + baseUrl );
-			var scaytConfigBaseUrl =  plugin.parseUrl( scaytUrl ).path +  "/";
+			var baseUrl  = 'svc.spellchecker.net/spellcheck31/lf/scayt/scayt22.js';
+
+			var scaytUrl  =  editor.config.scayt_srcUrl || ( protocol + '//' + baseUrl );
+			var scaytConfigBaseUrl =  plugin.parseUrl( scaytUrl ).path +  '/';
 
 			CKEDITOR._djScaytConfig =
@@ -261,5 +270,5 @@
 					function()
 					{
-						CKEDITOR.fireOnce( "scaytReady" );
+						CKEDITOR.fireOnce( 'scaytReady' );
 					}
 				],
@@ -361,13 +370,13 @@
 			CKEDITOR.dialog.add( commandName, CKEDITOR.getUrl( this.path + 'dialogs/options.js' ) );
 			// read ui tags
-			var confuiTabs = editor.config.scayt_uiTabs || "1,1,1";
+			var confuiTabs = editor.config.scayt_uiTabs || '1,1,1';
 			var uiTabs =[];
-			// string tp array convert
-			confuiTabs = confuiTabs.split(",");
-			// check array length ! allwaays must be 3 filled with 1 or 0
+			// string to array convert
+			confuiTabs = confuiTabs.split( ',' );
+			// check array length ! always must be 3 filled with 1 or 0
 			for (var i=0,l=3; i<l; i++)
 			{
-				var flag = parseInt(confuiTabs[i] || "1" ,10);
-				uiTabs.push(  flag  );
+				var flag = parseInt(confuiTabs[i] || '1' ,10);
+				uiTabs.push( flag );
 			}
 
@@ -377,5 +386,5 @@
 			var uiMuneItems = {};
 
-			// allways added
+			// always added
 			uiMuneItems.scaytToggle =
 				{
@@ -419,5 +428,5 @@
 					}
 				};
-			// allways added
+			// always added
 			uiMuneItems.scaytAbout =
 				{
@@ -432,5 +441,5 @@
 			;
 
-			uiTabs[3] = 1; // about us tab is allways on
+			uiTabs[3] = 1; // about us tab is always on
 			plugin.uiTabs = uiTabs;
 
@@ -476,5 +485,5 @@
 						var scayt_control = plugin.getScayt( editor ),
 							node = scayt_control.getScaytNode();
-						
+
 						if ( !node )
 							return null;
@@ -504,5 +513,5 @@
 						mainSuggestions = {};
 
-						var moreSuggestionsUnable = editor.config.scayt_moreSuggestions || "on";
+						var moreSuggestionsUnable = editor.config.scayt_moreSuggestions || 'on';
 						var moreSuggestionsUnableAdded = false;
 
@@ -511,6 +520,6 @@
 						!maxSuggestions && ( maxSuggestions = items_suggestion.length );
 
-						var contextCommands = editor.config.scayt_contextCommands || "all";
-						contextCommands = contextCommands.split("|");
+						var contextCommands = editor.config.scayt_contextCommands || 'all';
+						contextCommands = contextCommands.split( '|' );
 
 						for ( var i = 0, l = items_suggestion.length; i < l; i += 1 )
@@ -534,5 +543,5 @@
 								mainSuggestions[ commandName ] = CKEDITOR.TRISTATE_OFF;
 							}
-							else if ( moreSuggestionsUnable == "on" )
+							else if ( moreSuggestionsUnable == 'on' )
 							{
 								addButtonCommand( editor, 'button_' + commandName, items_suggestion[i],
@@ -543,6 +552,7 @@
 						}
 
-						if ( moreSuggestionsUnableAdded ){
-							// Rgister the More suggestions group;
+						if ( moreSuggestionsUnableAdded )
+						{
+							// Register the More suggestions group;
 							editor.addMenuItem( 'scayt_moresuggest',
 							{
@@ -556,8 +566,7 @@
 							});
 							mainSuggestions[ 'scayt_moresuggest' ] = CKEDITOR.TRISTATE_OFF;
-
-						}
-
-						if ( in_array( "all",contextCommands )  || in_array("ignore",contextCommands)  )
+						}
+
+						if ( in_array( 'all', contextCommands )  || in_array( 'ignore', contextCommands)  )
 						{
 							var ignore_command = {
@@ -566,9 +575,9 @@
 								}
 							};
-							addButtonCommand(editor, 'ignore', editor.lang.scayt.ignore, 'scayt_ignore', ignore_command, 'scayt_control', 1);
-							mainSuggestions['scayt_ignore'] = CKEDITOR.TRISTATE_OFF;
-						}
-
-						if ( in_array( "all",contextCommands )  || in_array("ignoreall",contextCommands)  )
+							addButtonCommand( editor, 'ignore', editor.lang.scayt.ignore, 'scayt_ignore', ignore_command, 'scayt_control', 1 );
+							mainSuggestions[ 'scayt_ignore' ] = CKEDITOR.TRISTATE_OFF;
+						}
+
+						if ( in_array( 'all', contextCommands )  || in_array( 'ignoreall', contextCommands ) )
 						{
 							var ignore_all_command = {
@@ -581,5 +590,5 @@
 						}
 
-						if ( in_array( "all",contextCommands )  || in_array("add",contextCommands)  )
+						if ( in_array( 'all', contextCommands )  || in_array( 'add', contextCommands ) )
 						{
 							var addword_command = {
@@ -608,10 +617,16 @@
 				};
 				editor.on( 'showScaytState', showInitialState );
-				plugin.loadEngine( editor );
-			}
-
+				editor.on( 'instanceReady', function()
+				{
+					plugin.loadEngine( editor );
+				});
+			}
+		},
+
+		afterInit : function( editor )
+		{
 			// Prevent word marker line from displaying in elements path. (#3570)
 			var elementsPathFilters;
-			if ( elementsPathFilters = editor.config.elementsPath_filters )
+			if ( editor._.elementsPath && ( elementsPathFilters = editor._.elementsPath.filters ) )
 			{
 				elementsPathFilters.push( function( element )
@@ -657,5 +672,5 @@
 
 /**
- * Sets the customer ID for SCAYT. Required for migration from free version 
+ * Sets the customer ID for SCAYT. Required for migration from free version
  * with banner to paid version.
  * @name CKEDITOR.config.scayt_customerid
@@ -733,5 +748,5 @@
 /**
  * Links SCAYT to custom dictionaries. It's a string containing dictionary ids
- * separared by commas (","). Available only for licensed version. 
+ * separared by commas (","). Available only for licensed version.
  * Further details at http://wiki.spellchecker.net/doku.php?id=custom_dictionary_support .
  * @name CKEDITOR.config.scayt_customDictionaryIds
@@ -751,3 +766,2 @@
  * config.scayt_userDictionaryName = 'MyDictionary';
  */
-
Index: CKEditor/branches/versions/3.3.x/_source/plugins/selection/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/selection/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/selection/plugin.js	(revision 5388)
@@ -162,4 +162,14 @@
 								saveEnabled = false;
 							});
+
+						// IE before version 8 will leave cursor blinking inside the document after
+						// editor blurred unless we clean up the selection. (#4716)
+						if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 )
+						{
+							doc.getWindow().on( 'blur', function( evt )
+							{
+								editor.document.$.selection.empty();
+							});
+						}
 
 						// IE fires the "selectionchange" event when clicking
@@ -754,5 +764,5 @@
 					}
 				});
-			
+
 			return cache.selectedElement = ( node ? new CKEDITOR.dom.element( node ) : null );
 		},
@@ -1086,4 +1096,5 @@
 					ieRange.select();
 
+				this.moveToPosition( dummySpan, CKEDITOR.POSITION_BEFORE_START );
 				dummySpan.remove();
 			}
@@ -1094,5 +1105,5 @@
 				ieRange.select();
 			}
-			
+
 			this.document.fire( 'selectionchange' );
 		}
Index: CKEditor/branches/versions/3.3.x/_source/plugins/smiley/dialogs/smiley.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/smiley/dialogs/smiley.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/smiley/dialogs/smiley.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/plugins/specialchar/dialogs/specialchar.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/specialchar/dialogs/specialchar.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/specialchar/dialogs/specialchar.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -12,5 +12,5 @@
 	var dialog,
 		lang = editor.lang.specialChar;
-	
+
 	var insertSpecialChar = function ( specialChar )
 	{
@@ -18,22 +18,22 @@
 			ranges	  = selection.getRanges(),
 			range, textNode;
-				
+
 		editor.fire( 'saveSnapshot' );
-		
+
 		for ( var i = 0, len = ranges.length ; i < len ; i++ )
 		{
 			range = ranges[ i ];
 			range.deleteContents();
-			
+
 			textNode =  CKEDITOR.dom.element.createFromHtml( specialChar );
 			range.insertNode( textNode );
 		}
-		
+
 		range.moveToPosition( textNode, CKEDITOR.POSITION_AFTER_END );
 		range.select();
-		
+
 		editor.fire( 'saveSnapshot' );
 	};
-	
+
 	var onChoice = function( evt )
 	{
@@ -48,5 +48,5 @@
 			target.removeClass( "cke_light_background" );
 			dialog.hide();
-			
+
 			// Firefox has bug on insert chars into a element use its own API. (#5170)
 			if ( CKEDITOR.env.gecko )
@@ -291,5 +291,5 @@
 
 						html.push(
-							'<td class="cke_dark_background" style="cursor: default">' +
+							'<td class="cke_dark_background" style="cursor: default" role="presentation">' +
 							'<a href="javascript: void(0);" role="option"' +
 							' aria-posinset="' + ( i +1 ) + '"',
Index: CKEditor/branches/versions/3.3.x/_source/plugins/styles/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/styles/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/styles/plugin.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -141,35 +141,4 @@
 		},
 
-		// Removes any conflicting styles from within the specified range..
-		removeConflictsFromRange : function ( range )
-		{
-			var style = this,
-					overrides = getOverrides( style ),
-					styleCandidates = [],
-					overrideCandidates = [];
-
-			var walker = new CKEDITOR.dom.walker( range );
-			walker.evaluator = function( node )
-			{
-				if ( node.type == CKEDITOR.NODE_ELEMENT )
-				{
-					if ( node.is( style.element ) )
-						styleCandidates.push( node );
-					if ( node.getName() in overrides )
-						overrideCandidates.push( node );
-				}
-			};
-			walker.lastForward();
-
-			// First remove from element any style conflictions.
-			for ( var i = styleCandidates.length - 1 ; i >= 0 ; i-- )
-				removeFromElement( style,  styleCandidates[ i ] );
-
-			// Now remove any other element with different name that is
-			// defined to be overriden.
-			for ( i = overrideCandidates.length - 1 ; i >= 0 ; i-- )
-				removeOverrides( overrideCandidates[ i ], overrides[ overrideCandidates[ i ].getName() ] ) ;
-		},
-
 		applyToObject : function( element )
 		{
@@ -218,9 +187,11 @@
 				case CKEDITOR.STYLE_INLINE :
 				case CKEDITOR.STYLE_BLOCK :
-					return true;
+					break;
 
 				case CKEDITOR.STYLE_OBJECT :
 					return elementPath.lastElement.getAscendant( this.element, true );
 			}
+
+			return true;
 		},
 
@@ -299,4 +270,37 @@
 			}
 			return false;
+		},
+
+		// Builds the preview HTML based on the styles definition.
+		buildPreview : function()
+		{
+			var styleDefinition = this._.definition,
+				html = [],
+				elementName = styleDefinition.element;
+
+			// Avoid <bdo> in the preview.
+			if ( elementName == 'bdo' )
+				elementName = 'span';
+
+			html = [ '<', elementName ];
+
+			// Assign all defined attributes.
+			var attribs	= styleDefinition.attributes;
+			if ( attribs )
+			{
+				for ( var att in attribs )
+				{
+					html.push( ' ', att, '="', attribs[ att ], '"' );
+				}
+			}
+
+			// Assign the style attribute.
+			var cssStyle = CKEDITOR.style.getStyleText( styleDefinition );
+			if ( cssStyle )
+				html.push( ' style="', cssStyle, '"' );
+
+			html.push( '>', styleDefinition.name, '</', elementName, '>' );
+
+			return html.join( '' );
 		}
 	};
@@ -373,10 +377,4 @@
 		range.enlarge( CKEDITOR.ENLARGE_ELEMENT );
 		range.trim();
-
-		// Remove all style conflictions within the range,
-		// e.g. style="color:red" is conflicting with style="color:blue".
-		var enlargedBookmark = range.createBookmark();
-		this.removeConflictsFromRange( range );
-		range.moveToBookmark( enlargedBookmark );
 
 		// Get the first node to be processed and the last, which concludes the
@@ -543,4 +541,8 @@
 					// Move the contents of the range to the style element.
 					styleRange.extractContents().appendTo( styleNode );
+
+					// Here we do some cleanup, removing all duplicated
+					// elements from the style element.
+					removeFromInsideElement( this, styleNode );
 
 					// Insert it into the range position (it is collapsed after
@@ -970,4 +972,34 @@
 
 		removeEmpty && removeNoAttribsElement( element );
+	}
+
+	// Removes a style from inside an element.
+	function removeFromInsideElement( style, element )
+	{
+		var def = style._.definition,
+			attribs = def.attributes,
+			styles = def.styles,
+			overrides = getOverrides( style );
+
+		var innerElements = element.getElementsByTag( style.element );
+
+		for ( var i = innerElements.count(); --i >= 0 ; )
+			removeFromElement( style,  innerElements.getItem( i ) );
+
+		// Now remove any other element with different name that is
+		// defined to be overriden.
+		for ( var overrideElement in overrides )
+		{
+			if ( overrideElement != style.element )
+			{
+				innerElements = element.getElementsByTag( overrideElement ) ;
+				for ( i = innerElements.count() - 1 ; i >= 0 ; i-- )
+				{
+					var innerElement = innerElements.getItem( i );
+					removeOverrides( innerElement, overrides[ overrideElement ] ) ;
+				}
+			}
+		}
+
 	}
 
Index: CKEditor/branches/versions/3.3.x/_source/plugins/styles/styles/default.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/styles/styles/default.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/styles/styles/default.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
Index: CKEditor/branches/versions/3.3.x/_source/plugins/stylescombo/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/stylescombo/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/stylescombo/plugin.js	(revision 5388)
@@ -86,5 +86,5 @@
 									combo.add(
 										styleName,
-										style.type == CKEDITOR.STYLE_OBJECT ? styleName : buildPreview( style._.definition ),
+										style.type == CKEDITOR.STYLE_OBJECT ? styleName : style.buildPreview(),
 										styleName );
 								}
@@ -149,5 +149,5 @@
 					onOpen : function()
 					{
-						if ( CKEDITOR.env.ie )
+						if ( CKEDITOR.env.ie || CKEDITOR.env.webkit )
 							editor.focus();
 
@@ -191,36 +191,4 @@
 	});
 
-	function buildPreview( styleDefinition )
-	{
-		var html = [];
-
-		var elementName = styleDefinition.element;
-
-		// Avoid <bdo> in the preview.
-		if ( elementName == 'bdo' )
-			elementName = 'span';
-
-		html = [ '<', elementName ];
-
-		// Assign all defined attributes.
-		var attribs	= styleDefinition.attributes;
-		if ( attribs )
-		{
-			for ( var att in attribs )
-			{
-				html.push( ' ', att, '="', attribs[ att ], '"' );
-			}
-		}
-
-		// Assign the style attribute.
-		var cssStyle = CKEDITOR.style.getStyleText( styleDefinition );
-		if ( cssStyle )
-			html.push( ' style="', cssStyle, '"' );
-
-		html.push( '>', styleDefinition.name, '</', elementName, '>' );
-
-		return html.join( '' );
-	}
-
 	function sortStyles( styleA, styleB )
 	{
Index: CKEditor/branches/versions/3.3.x/_source/plugins/tabletools/dialogs/tableCell.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/tabletools/dialogs/tableCell.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/tabletools/dialogs/tableCell.js	(revision 5388)
@@ -516,7 +516,12 @@
 			onOk : function()
 			{
+				var selection = this._.editor.getSelection(),
+					bookmarks = selection.createBookmarks();
+
 				var cells = this.cells;
 				for ( var i = 0 ; i < cells.length ; i++ )
 					this.commitContent( cells[ i ] );
+
+				selection.selectBookmarks( bookmarks );
 			}
 		};
Index: CKEditor/branches/versions/3.3.x/_source/plugins/tabletools/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/tabletools/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/tabletools/plugin.js	(revision 5388)
@@ -85,4 +85,41 @@
 
 		return retval;
+	}
+
+	function getFocusedCell( cellsToDelete ) {
+		var i = 0,
+			last = cellsToDelete.length - 1,
+			database = {},
+			cell,focusedCell,
+			tr;
+
+		while ( ( cell = cellsToDelete[ i++ ] ) )
+			CKEDITOR.dom.element.setMarker( database, cell, 'delete_cell', true );
+
+		// 1.first we check left or right side focusable cell row by row;
+		i = 0;
+		while ( ( cell = cellsToDelete[ i++ ] ) )
+		{
+			if ( ( focusedCell = cell.getPrevious() ) && !focusedCell.getCustomData( 'delete_cell' )
+			  || ( focusedCell = cell.getNext()     ) && !focusedCell.getCustomData( 'delete_cell' ) )
+			{
+				CKEDITOR.dom.element.clearAllMarkers( database );
+				return focusedCell;
+			}
+		}
+
+		CKEDITOR.dom.element.clearAllMarkers( database );
+
+		// 2. then we check the toppest row (outside the selection area square) focusable cell
+		tr = cellsToDelete[ 0 ].getParent();
+		if ( ( tr = tr.getPrevious() ) )
+			return tr.getLast();
+
+		// 3. last we check the lowerest  row focusable cell
+		tr = cellsToDelete[ last ].getParent();
+		if ( ( tr = tr.getNext() ) )
+			return tr.getChild( 0 );
+
+		return null;
 	}
 
@@ -278,11 +315,20 @@
 		{
 			var cellsToDelete = getSelectedCells( selectionOrCell );
+			var table = cellsToDelete[ 0 ] && cellsToDelete[ 0 ].getAscendant( 'table' );
+			var cellToFocus   = getFocusedCell( cellsToDelete );
+
 			for ( var i = cellsToDelete.length - 1 ; i >= 0 ; i-- )
 				deleteCells( cellsToDelete[ i ] );
+
+			if ( cellToFocus )
+				placeCursorInCell( cellToFocus, true );
+			else if ( table )
+				table.remove();
 		}
 		else if ( selectionOrCell instanceof CKEDITOR.dom.element )
 		{
-			if ( selectionOrCell.getParent().getChildCount() == 1 )
-				selectionOrCell.getParent().remove();
+			var tr = selectionOrCell.getParent();
+			if ( tr.getChildCount() == 1 )
+				tr.remove();
 			else
 				selectionOrCell.remove();
@@ -681,7 +727,8 @@
 						selection.selectRanges( [ range ] );
 
-						// If the table's parent has only one child, remove it as well.
-						if ( table.getParent().getChildCount() == 1 )
-							table.getParent().remove();
+						// If the table's parent has only one child, remove it,except body,as well.( #5416 )
+						var parent = table.getParent();
+						if ( parent.getChildCount() == 1 && parent.getName() != 'body' )
+							parent.remove();
 						else
 							table.remove();
Index: CKEditor/branches/versions/3.3.x/_source/plugins/templates/dialogs/templates.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/templates/dialogs/templates.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/templates/dialogs/templates.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -42,8 +42,8 @@
 
 				// Build the inner HTML of our new item DIV.
-				var html = '<table style="width:350px;" class="cke_tpl_preview"><tr>';
+				var html = '<table style="width:350px;" class="cke_tpl_preview" role="presentation"><tr>';
 
 				if ( template.image && imagesPath )
-					html += '<td class="cke_tpl_preview_img"><img src="' + CKEDITOR.getUrl( imagesPath + template.image ) + '"></td>';
+					html += '<td class="cke_tpl_preview_img"><img src="' + CKEDITOR.getUrl( imagesPath + template.image ) + '"' + ( CKEDITOR.env.ie6Compat? ' onload="this.width=this.width"' : '' ) + ' alt="" title=""></td>';
 
 				html += '<td style="white-space:normal;"><span class="cke_tpl_title">' + template.title + '</span><br/>';
Index: CKEditor/branches/versions/3.3.x/_source/plugins/toolbar/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/toolbar/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/toolbar/plugin.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -414,5 +414,5 @@
  *     '/',
  *     ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
- *     ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
+ *     ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],
  *     ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
  *     ['Link','Unlink','Anchor'],
Index: CKEditor/branches/versions/3.3.x/_source/plugins/wysiwygarea/plugin.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/plugins/wysiwygarea/plugin.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/plugins/wysiwygarea/plugin.js	(revision 5388)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -171,6 +171,4 @@
 	}
 
-	var isNotWhitespace = CKEDITOR.dom.walker.whitespaces( true );
-
 	/**
 	 *  Auto-fixing block-less content by wrapping paragraph (#3190), prevent
@@ -224,4 +222,9 @@
 				}
 			}
+
+			range.select();
+			// Notify non-IE that selection has changed.
+			if ( !CKEDITOR.env.ie )
+				editor.selectionChange();
 		}
 
@@ -255,7 +258,4 @@
 				paddingBlock.appendBogus();
 		}
-
-		range.select();
-		editor.selectionChange();
 	}
 
@@ -652,4 +652,6 @@
 									if ( !(/<head[\s|>]/).test( data ) )
 										data = data.replace( /<html[^>]*>/, '$&<head><title></title></head>' ) ;
+									else if ( !(/<title[\s|>]/).test( data ) )
+										data = data.replace( /<head[^>]*>/, '$&<title></title>' ) ;
 
 									// The base must be the first tag in the HEAD, e.g. to get relative
Index: CKEditor/branches/versions/3.3.x/_source/skins/kama/dialog.css
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/skins/kama/dialog.css	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/skins/kama/dialog.css	(revision 5388)
@@ -688,5 +688,4 @@
 .cke_skin_kama .cke_dialog  #ImagePreviewBox
 {
-	white-space : normal;
 	border : 2px ridge black;
 	overflow : scroll;
@@ -695,4 +694,8 @@
 	padding : 2px;
 	background-color : white;
+}
+
+.cke_skin_kama .cke_dialog #ImagePreviewBox table td {
+	white-space: normal;
 }
 
Index: CKEditor/branches/versions/3.3.x/_source/skins/office2003/dialog.css
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/skins/office2003/dialog.css	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/skins/office2003/dialog.css	(revision 5388)
@@ -613,5 +613,4 @@
 .cke_skin_office2003 .cke_dialog  #ImagePreviewBox
 {
-	white-space : normal;
 	border : 2px ridge black;
 	overflow : scroll;
@@ -620,4 +619,8 @@
 	padding : 2px;
 	background-color : white;
+}
+
+.cke_skin_office2003 .cke_dialog #ImagePreviewBox table td {
+	white-space: normal;
 }
 
Index: CKEditor/branches/versions/3.3.x/_source/skins/office2003/mainui.css
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/skins/office2003/mainui.css	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/skins/office2003/mainui.css	(revision 5388)
@@ -73,10 +73,10 @@
 }
 
-.cke_skin_office2003 .cke_browser_iequirks textarea.cke_source 
-{ 
-    /* For IE6+Quirks only */ 
-    _white-space: normal; 
+.cke_skin_office2003 .cke_browser_iequirks textarea.cke_source
+{
+    /* For IE6+Quirks only */
+    _white-space: normal;
 }
- 
+
 .cke_skin_office2003 .cke_resizer
 {
Index: CKEditor/branches/versions/3.3.x/_source/skins/office2003/menu.css
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/skins/office2003/menu.css	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/skins/office2003/menu.css	(revision 5388)
@@ -60,4 +60,5 @@
 	filter: alpha(opacity=70); /* IE */
 	opacity: 0.70; /* Safari, Opera and Mozilla */
+	clear: both;
 }
 
Index: CKEditor/branches/versions/3.3.x/_source/skins/office2003/toolbar.css
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/skins/office2003/toolbar.css	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/skins/office2003/toolbar.css	(revision 5388)
@@ -241,5 +241,4 @@
 	-moz-border-radius: 3px;
 	-webkit-border-radius: 3px;
-	border: 1px solid transparent;
 }
 
@@ -249,4 +248,5 @@
 	opacity: 1.0;
 	filter: alpha(opacity=100);
+	_border: 1px solid transparent;
 }
 
Index: CKEditor/branches/versions/3.3.x/_source/skins/v2/dialog.css
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/skins/v2/dialog.css	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/skins/v2/dialog.css	(revision 5388)
@@ -615,5 +615,4 @@
 .cke_skin_v2 .cke_dialog  #ImagePreviewBox
 {
-	white-space : normal;
 	border : 2px ridge black;
 	overflow : scroll;
@@ -622,4 +621,8 @@
 	padding : 2px;
 	background-color : white;
+}
+
+.cke_skin_v2 .cke_dialog #ImagePreviewBox table td {
+	white-space: normal;
 }
 
Index: CKEditor/branches/versions/3.3.x/_source/skins/v2/menu.css
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/skins/v2/menu.css	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/skins/v2/menu.css	(revision 5388)
@@ -59,4 +59,5 @@
 	filter: alpha(opacity=70); /* IE */
 	opacity: 0.70; /* Safari, Opera and Mozilla */
+	clear: both;
 }
 
Index: CKEditor/branches/versions/3.3.x/_source/themes/default/theme.js
===================================================================
--- CKEditor/branches/versions/3.3.x/_source/themes/default/theme.js	(revision 5378)
+++ CKEditor/branches/versions/3.3.x/_source/themes/default/theme.js	(revision 5388)
@@ -284,14 +284,5 @@
 		outer = resizeInner ? container.getChild( 1 ) : container;
 
-	// Resize the width first.
-	// WEBKIT BUG: Webkit requires that we put the editor off from display when we
-	// resize it. If we don't, the browser crashes!
-	CKEDITOR.env.webkit && outer.setStyle( 'display', 'none' );
 	outer.setStyle( 'width', width );
-	if ( CKEDITOR.env.webkit )
-	{
-		outer.$.offsetWidth;
-		outer.setStyle( 'display', '' );
-	}
 
 	// Get the height delta between the outer table and the content area.
