Index: /CKEditor/branches/prototype/_dev/packager/fckpackager.php
===================================================================
--- /CKEditor/branches/prototype/_dev/packager/fckpackager.php	(revision 2277)
+++ /CKEditor/branches/prototype/_dev/packager/fckpackager.php	(revision 2278)
@@ -356,5 +356,5 @@
 		// "}" or ")".
 		$script = preg_replace(
-			'/\s*}\s*[\n\r]+\s*(?!\s*(else|catch|finally|while|[}\),;]))/s',
+			'/\s*}\s*[\n\r]+\s*(?!\s*(else|catch|finally|while|[}\),;:]))/s',
 			'};', $script ) ;
 
Index: /CKEditor/branches/prototype/_docs/api/files.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/files.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/files.html	(revision 2278)
@@ -193,4 +193,6 @@
 	<li><a href="symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -240,4 +242,10 @@
 
 	<li><a href="symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -260,4 +268,8 @@
 
 		<li>
+			<a href="symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -353,4 +365,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
@@ -478,4 +502,26 @@
 
 			<div>
+				<h2 style="float:left"><a href="symbols/src/_source_core__commandDefinition.js.html">core/commandDefinition.js</a></h2>
+
+
+					<div style="float:right">
+						<span class="heading">Version:</span>
+							3.0
+					</div>
+
+				<div style="clear:both"></div>
+
+
+Defines the "virtual" <a href="symbols/CKEDITOR.commandDefinition.html#constructor">CKEDITOR.commandDefinition</a> class,
+		which contains the defintion of a command.
+				<dl>
+
+
+
+				</dl>
+			</div>
+			<hr />
+
+			<div>
 				<h2 style="float:left"><a href="symbols/src/_source_core__config.js.html">core/config.js</a></h2>
 
@@ -962,4 +1008,24 @@
 
 			<div>
+				<h2 style="float:left"><a href="symbols/src/_source_core__ui.js.html">../../_source/core/\ui.js</a></h2>
+
+
+					<div style="float:right">
+						<span class="heading">Version:</span>
+							3.0
+					</div>
+
+				<div style="clear:both"></div>
+
+
+				<dl>
+
+
+
+				</dl>
+			</div>
+			<hr />
+
+			<div>
 				<h2 style="float:left"><a href="symbols/src/_source_core__xml.js.html">core/xml.js</a></h2>
 
@@ -985,4 +1051,24 @@
 			<div>
 				<h2 style="float:left"><a href="symbols/src/_source_plugins__basicstyles_plugin.js.html">../../_source/plugins/\basicstyles\plugin.js</a></h2>
+
+
+					<div style="float:right">
+						<span class="heading">Version:</span>
+							3.0
+					</div>
+
+				<div style="clear:both"></div>
+
+
+				<dl>
+
+
+
+				</dl>
+			</div>
+			<hr />
+
+			<div>
+				<h2 style="float:left"><a href="symbols/src/_source_plugins__button_plugin.js.html">../../_source/plugins/\button\plugin.js</a></h2>
 
 
Index: /CKEditor/branches/prototype/_docs/api/index.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/index.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/index.html	(revision 2278)
@@ -193,4 +193,6 @@
 	<li><a href="symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -240,4 +242,10 @@
 
 	<li><a href="symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -260,4 +268,8 @@
 
 		<li>
+			<a href="symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -353,4 +365,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
@@ -391,4 +415,6 @@
 
 
+
+
 			<div>
 				<h2><a href="symbols/CKEDITOR.config.html#constructor">CKEDITOR.config</a></h2>
@@ -513,4 +539,10 @@
 
 
+
+
+
+
+
+
 			<h1 class="classTitle">Class Index</h1>
 
@@ -523,4 +555,12 @@
 
 
+			<div>
+				<h2><a href="symbols/CKEDITOR.commandDefinition.html#constructor">CKEDITOR.commandDefinition</a></h2>
+
+			</div>
+			<hr />
+
+
+
 
 
@@ -640,4 +680,28 @@
 
 
+
+
+
+			<div>
+				<h2><a href="symbols/CKEDITOR.ui.html#constructor">CKEDITOR.ui</a></h2>
+
+			</div>
+			<hr />
+
+
+
+			<div>
+				<h2><a href="symbols/CKEDITOR.ui.button.html#constructor">CKEDITOR.ui.button</a></h2>
+
+			</div>
+			<hr />
+
+
+
+			<div>
+				<h2><a href="symbols/CKEDITOR.ui.handlerDefinition.html#constructor">CKEDITOR.ui.handlerDefinition</a></h2>
+
+			</div>
+			<hr />
 
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ajax.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ajax.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ajax.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.commandDefinition.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.commandDefinition.html	(revision 2278)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.commandDefinition.html	(revision 2278)
@@ -0,0 +1,596 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+
+		<title>JsDoc Reference - CKEDITOR.commandDefinition</title>
+
+		<style type="text/css">
+			/* default.css */
+body
+{
+	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
+	width: 800px;
+}
+
+.header
+{
+	clear: both;
+	background-color: #ccc;
+	padding: 8px;
+}
+
+h1
+{
+	font-size: 150%;
+	font-weight: bold;
+	padding: 0;
+	margin: 1em 0 0 .3em;
+}
+
+hr
+{
+	border: none 0;
+	border-top: 1px solid #7F8FB1;
+	height: 1px;
+}
+
+pre.code
+{
+	display: block;
+	padding: 8px;
+	border: 1px dashed #ccc;
+}
+
+#index
+{
+	margin-top: 24px;
+	float: left;
+	width: 160px;
+	position: absolute;
+	left: 8px;
+	background-color: #F3F3F3;
+	padding: 8px;
+}
+
+#content
+{
+	margin-left: 190px;
+	width: 600px;
+}
+
+.classList
+{
+	list-style-type: none;
+	padding: 0;
+	margin: 0 0 0 8px;
+	font-family: arial, sans-serif;
+	font-size: 1em;
+	overflow: auto;
+}
+
+.classList li
+{
+	padding: 0;
+	margin: 0 0 8px 0;
+}
+
+.summaryTable { width: 100%; }
+
+h1.classTitle
+{
+	font-size:170%;
+	line-height:130%;
+}
+
+h2 { font-size: 110%; }
+caption, div.sectionTitle
+{
+	background-color: #7F8FB1;
+	color: #fff;
+	font-size:130%;
+	text-align: left;
+	padding: 2px 6px 2px 6px;
+	border: 1px #7F8FB1 solid;
+}
+
+div.sectionTitle { margin-bottom: 8px; }
+.summaryTable thead { display: none; }
+
+.summaryTable td
+{
+	vertical-align: top;
+	padding: 4px;
+	border-bottom: 1px #7F8FB1 solid;
+	border-right: 1px #7F8FB1 solid;
+}
+
+/*col#summaryAttributes {}*/
+.summaryTable td.attributes
+{
+	border-left: 1px #7F8FB1 solid;
+	width: 140px;
+	text-align: right;
+}
+
+td.attributes, .fixedFont
+{
+	line-height: 15px;
+	color: #002EBE;
+	font-family: "Courier New",Courier,monospace;
+	font-size: 13px;
+}
+
+.summaryTable td.nameDescription
+{
+	text-align: left;
+	font-size: 13px;
+	line-height: 15px;
+}
+
+.summaryTable td.nameDescription, .description
+{
+	line-height: 15px;
+	padding: 4px;
+	padding-left: 4px;
+}
+
+.summaryTable { margin-bottom: 8px; }
+
+ul.inheritsList
+{
+	list-style: square;
+	margin-left: 20px;
+	padding-left: 0;
+}
+
+.detailList {
+	margin-left: 20px;
+	line-height: 15px;
+}
+.detailList dt { margin-left: 20px; }
+
+.detailList .heading
+{
+	font-weight: bold;
+	padding-bottom: 6px;
+	margin-left: 0;
+}
+
+.light, td.attributes, .light a:link, .light a:visited
+{
+	color: #777;
+	font-style: italic;
+}
+
+.fineprint
+{
+	text-align: right;
+	font-size: 10px;
+}
+
+		</style>
+	</head>
+
+	<body>
+<!-- ============================== header ================================= -->
+		<!-- begin static/header.html -->
+		<div id="header">
+</div>
+
+		<!-- end static/header.html -->
+
+<!-- ============================== classes index ============================ -->
+		<div id="index">
+			<!-- begin publish.classesIndex -->
+			<div align="center"><a href="../index.html">Code Index</a>
+| <a href="../files.html">File Index</a></div>
+<hr />
+<h2>Namespaces</h2>
+<ul class="classList">
+
+	<li><a href="../symbols/_global_.html">_global_</a></li>
+
+	<li><a href="../symbols/CKEDITOR.html">CKEDITOR</a></li>
+
+	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
+
+
+
+	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
+
+	<li><a href="../symbols/CKEDITOR.dom.html">CKEDITOR.dom</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	<li><a href="../symbols/CKEDITOR.env.html">CKEDITOR.env</a></li>
+
+
+
+
+
+	<li><a href="../symbols/CKEDITOR.lang.html">CKEDITOR.lang</a></li>
+
+	<li><a href="../symbols/CKEDITOR.loader.html">CKEDITOR.loader</a></li>
+
+
+
+	<li><a href="../symbols/CKEDITOR.plugins.html">CKEDITOR.plugins</a></li>
+
+	<li><a href="../symbols/CKEDITOR.resourceManager.html">CKEDITOR.resourceManager</a></li>
+
+	<li><a href="../symbols/CKEDITOR.scriptLoader.html">CKEDITOR.scriptLoader</a></li>
+
+	<li><a href="../symbols/CKEDITOR.skins.html">CKEDITOR.skins</a></li>
+
+	<li><a href="../symbols/CKEDITOR.test.html">CKEDITOR.test</a></li>
+
+	<li><a href="../symbols/CKEDITOR.themes.html">CKEDITOR.themes</a></li>
+
+	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
+
+
+
+</ul>
+<h2>Classes</h2>
+<ul class="classList">
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.document.html">CKEDITOR.dom.document</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.domObject.html">CKEDITOR.dom.domObject</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.element.html">CKEDITOR.dom.element</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.event.html">CKEDITOR.dom.event</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.node.html">CKEDITOR.dom.node</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.selection.html">CKEDITOR.dom.selection</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.text.html">CKEDITOR.dom.text</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.window.html">CKEDITOR.dom.window</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.editor.html">CKEDITOR.editor</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.event.html">CKEDITOR.event</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.eventInfo.html">CKEDITOR.eventInfo</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.pluginDefinition.html">CKEDITOR.pluginDefinition</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.xml.html">CKEDITOR.xml</a>
+		</li>
+
+</ul>
+<hr />
+			<!-- end publish.classesIndex -->
+		</div>
+
+		<div id="content">
+<!-- ============================== class title ============================ -->
+			<h1 class="classTitle">
+
+				Class CKEDITOR.commandDefinition
+			</h1>
+
+<!-- ============================== class summary ========================== -->
+			<p class="description">
+
+
+
+
+
+					<br /><i>Defined in: </i> <a href="../symbols/src/_source_core__commandDefinition.js.html">core/commandDefinition.js</a>.
+
+			</p>
+
+<!-- ============================== constructor summary ==================== -->
+
+			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class CKEDITOR.commandDefinition.">
+				<caption>Class Summary</caption>
+				<thead>
+					<tr>
+						<th scope="col">Constructor Attributes</th>
+						<th scope="col">Constructor Name and Description</th>
+					</tr>
+				</thead>
+				<tbody>
+					<tr>
+						<td class="attributes">&nbsp;</td>
+						<td class="nameDescription" >
+							<div class="fixedFont">
+								<b><a href="../symbols/CKEDITOR.commandDefinition.html#constructor">CKEDITOR.commandDefinition</a></b>()
+							</div>
+							<div class="description">(Virtual Class) Do not call this constructor.</div>
+						</td>
+					</tr>
+				</tbody>
+			</table>
+
+
+<!-- ============================== properties summary ===================== -->
+
+
+<!-- ============================== methods summary ======================== -->
+
+
+
+				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class CKEDITOR.commandDefinition.">
+					<caption>Method Summary</caption>
+					<thead>
+						<tr>
+							<th scope="col">Method Attributes</th>
+							<th scope="col">Method Name and Description</th>
+						</tr>
+					</thead>
+					<tbody>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.commandDefinition.html#exec">exec</a></b>(editor, data)
+								</div>
+								<div class="description">Executes the command.</div>
+							</td>
+						</tr>
+
+					</tbody>
+				</table>
+
+
+
+
+
+<!-- ============================== constructor details ==================== -->
+
+			<div class="details"><a name="constructor"> </a>
+				<div class="sectionTitle">
+					Class Detail
+				</div>
+
+				<div class="fixedFont" style="float:left">
+						<b>CKEDITOR.commandDefinition</b>()
+				</div>
+
+
+					<div style="float:right">
+						<span class="heading">Since:</span>
+							3.0
+					</div>
+
+				<div style="clear:both"></div>
+
+				<div class="description">
+					(Virtual Class) Do not call this constructor. This class is not really part
+		of the API. It just illustrates the features of command objects to be
+		passed to the CKEDITOR.editor.prototype.addCommand function.
+
+				</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			</div>
+
+
+<!-- ============================== field details ========================== -->
+
+
+<!-- ============================== method details ========================= -->
+
+				<div class="sectionTitle">
+					Method Detail
+				</div>
+
+					<a name="exec"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{Undefined}</span>
+					<b>exec</b>(editor, data)
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+
+					<div class="description">
+						Executes the command.
+
+
+					</div>
+
+
+
+
+					<pre class="code">editorInstance.addCommand( 'sample',
+{
+    exec : function( editor )
+    {
+        alert( 'Executing a command for the editor name "' + editor.name + '"!' );
+    }
+});</pre>
+
+
+
+
+
+							<dl class="detailList">
+							<dt class="heading">Parameters:</dt>
+
+								<dt>
+									<span class="light fixedFont">{<a href="../symbols/CKEDITOR.editor.html#constructor">CKEDITOR.editor</a>}</span> <b>editor</b>
+
+								</dt>
+								<dd>The editor within which run the command.</dd>
+
+								<dt>
+									<span class="light fixedFont">{Object}</span> <b>data</b>
+									<i>Optional</i>
+								</dt>
+								<dd>Additional data to be used to execute the command.</dd>
+
+							</dl>
+
+
+
+
+
+
+
+
+
+
+
+			<hr />
+		</div>
+
+<!-- ============================== footer ================================= -->
+		<div class="fineprint" style="clear:both">
+
+			Documentation generated by <a rel="nofollow" href="http://www.jsdoctoolkit.org/" target="_blank">JsDoc Toolkit</a>
+		</div>
+	</body>
+</html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.config.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.config.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.config.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
@@ -601,4 +625,14 @@
 							<td class="nameDescription">
 								<div class="fixedFont">
+								CKEDITOR.config.<b><a href="../symbols/CKEDITOR.config.html#.toolbar">toolbar</a></b>
+								</div>
+								<div class="description">The toolbox (alias toolbar) definition.</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="attributes">&lt;static&gt; &nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont">
 								CKEDITOR.config.<b><a href="../symbols/CKEDITOR.config.html#.toolbarLocation">toolbarLocation</a></b>
 								</div>
@@ -1415,4 +1449,49 @@
 					<hr />
 
+					<a name=".toolbar"> </a>
+					<div class="fixedFont" style="float:left">&lt;static&gt;
+
+					<span class="light">{Array}</span>
+					<span class="light">CKEDITOR.config.</span><b>toolbar</b>
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+					<div class="description">
+						The toolbox (alias toolbar) definition. It is an array of toolbars (strips),
+each one being also an array, containing a list of UI items.
+
+							<br />
+							<i>Defined in: </i> <a href="../symbols/src/_source_plugins__toolbar_plugin.js.html">plugins/toolbar/plugin.js</a>.
+
+
+					</div>
+
+
+
+
+					<pre class="code">// Defines a toolbar with only one strip containing the "Source" button, a
+// separator and the "Bold" and "Italic" buttons.
+<b>CKEDITOR.config.toolbar =
+[
+    [ 'Source', '-', 'Bold', 'Italic' ]
+]</b>;</pre>
+
+
+
+
+
+
+
+
+					<hr />
+
 					<a name=".toolbarLocation"> </a>
 					<div class="fixedFont" style="float:left">&lt;static&gt;
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.document.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.document.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.document.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.domObject.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.domObject.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.domObject.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.element.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.element.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.element.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
@@ -688,4 +712,13 @@
 						</tr>
 
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.dom.element.html#unselectable">unselectable</a></b>()
+								</div>
+								<div class="description">Makes the element unselectable.</div>
+							</td>
+						</tr>
+
 					</tbody>
 				</table>
@@ -2161,4 +2194,45 @@
 
 
+					<hr />
+
+					<a name="unselectable"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{Undefined}</span>
+					<b>unselectable</b>()
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+
+					<div class="description">
+						Makes the element unselectable.
+
+
+					</div>
+
+
+
+
+					<pre class="code">var element = CKEDITOR.dom.element.getById( 'myElement' );
+element.unselectable();</pre>
+
+
+
+
+
+
+
+
+
+
+
 
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.event.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.event.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.event.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.node.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.node.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.node.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.selection.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.selection.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.selection.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.text.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.text.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.text.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.window.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.window.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.dom.window.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.editor.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.editor.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.editor.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
@@ -467,4 +491,14 @@
 						</tr>
 
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont">
+								<b><a href="../symbols/CKEDITOR.editor.html#ui">ui</a></b>
+								</div>
+								<div class="description">Namespace containing UI features related to this editor instance.</div>
+							</td>
+						</tr>
+
 					</tbody>
 				</table>
@@ -497,5 +531,5 @@
 								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.editor.html#addCommand">addCommand</a></b>(commandName, commandDefinition)
 								</div>
-								<div class="description"><span style="color:red">NO DOCUMENTATION AVAILABLE</span></div>
+								<div class="description">Adds a command definition to the editor instance.</div>
 							</td>
 						</tr>
@@ -515,5 +549,5 @@
 								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.editor.html#execCommand">execCommand</a></b>(commandName, data)
 								</div>
-								<div class="description"><span style="color:red">NO DOCUMENTATION AVAILABLE</span></div>
+								<div class="description">Executes a command.</div>
 							</td>
 						</tr>
@@ -525,13 +559,4 @@
 								</div>
 								<div class="description">Moves the selection focus to the editing are space in the editor.</div>
-							</td>
-						</tr>
-
-						<tr>
-							<td class="attributes">&nbsp;</td>
-							<td class="nameDescription">
-								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.editor.html#getCommand">getCommand</a></b>(commandName)
-								</div>
-								<div class="description"><span style="color:red">NO DOCUMENTATION AVAILABLE</span></div>
 							</td>
 						</tr>
@@ -813,19 +838,11 @@
 
 
-
-
-
-
-<!-- ============================== method details ========================= -->
-
-				<div class="sectionTitle">
-					Method Detail
-				</div>
-
-					<a name="addCommand"> </a>
+					<hr />
+
+					<a name="ui"> </a>
 					<div class="fixedFont" style="float:left">
 
-					<span class="light">{Undefined}</span>
-					<b>addCommand</b>(commandName, commandDefinition)
+					<span class="light">{<a href="../symbols/CKEDITOR.ui.html#constructor">CKEDITOR.ui</a>}</span>
+					<b>ui</b>
 
 					</div>
@@ -839,50 +856,35 @@
 					<div style="clear:both"></div>
 
-
 					<div class="description">
-						<span style="color:red">NO DOCUMENTATION AVAILABLE</span>
-
-
-					</div>
-
-
-
-
-					<pre class="code"><span style="color:red">NO EXAMPLE AVAILABLE</span></pre>
-
-
-
-
-
-							<dl class="detailList">
-							<dt class="heading">Parameters:</dt>
-
-								<dt>
-									<b>commandName</b>
-
-								</dt>
-								<dd></dd>
-
-								<dt>
-									<b>commandDefinition</b>
-
-								</dt>
-								<dd></dd>
-
-							</dl>
-
-
-
-
-
-
-
-					<hr />
-
-					<a name="addMode"> </a>
+						Namespace containing UI features related to this editor instance.
+
+
+					</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ============================== method details ========================= -->
+
+				<div class="sectionTitle">
+					Method Detail
+				</div>
+
+					<a name="addCommand"> </a>
 					<div class="fixedFont" style="float:left">
 
 					<span class="light">{Undefined}</span>
-					<b>addMode</b>(mode, modeEditor)
+					<b>addCommand</b>(commandName, commandDefinition)
 
 					</div>
@@ -898,14 +900,20 @@
 
 					<div class="description">
-						Registers an editing mode. This function is to be used mainly by plugins.
-
-							<br />
-							<i>Defined in: </i> <a href="../symbols/src/_source_plugins__editingblock_plugin.js.html">plugins/editingblock/plugin.js</a>.
-
-
-					</div>
-
-
-
+						Adds a command definition to the editor instance. Commands added with
+this function can be later executed with <a href="#execCommand">#execCommand</a>.
+
+
+					</div>
+
+
+
+
+					<pre class="code">editorInstance.addCommand( 'sample',
+{
+    exec : function( editor )
+    {
+        alert( 'Executing a command for the editor name "' + editor.name + '"!' );
+    }
+});</pre>
 
 
@@ -917,14 +925,14 @@
 
 								<dt>
-									<span class="light fixedFont">{String}</span> <b>mode</b>
+									<span class="light fixedFont">{String}</span> <b>commandName</b>
 
 								</dt>
-								<dd>The mode name.</dd>
+								<dd>The indentifier name of the command.</dd>
 
 								<dt>
-									<span class="light fixedFont">{Object}</span> <b>modeEditor</b>
+									<span class="light fixedFont">{<a href="../symbols/CKEDITOR.commandDefinition.html#constructor">CKEDITOR.commandDefinition</a>}</span> <b>commandDefinition</b>
 
 								</dt>
-								<dd>The mode editor definition.</dd>
+								<dd>The command definition.</dd>
 
 							</dl>
@@ -938,9 +946,9 @@
 					<hr />
 
-					<a name="execCommand"> </a>
+					<a name="addMode"> </a>
 					<div class="fixedFont" style="float:left">
 
 					<span class="light">{Undefined}</span>
-					<b>execCommand</b>(commandName, data)
+					<b>addMode</b>(mode, modeEditor)
 
 					</div>
@@ -956,13 +964,14 @@
 
 					<div class="description">
-						<span style="color:red">NO DOCUMENTATION AVAILABLE</span>
-
-
-					</div>
-
-
-
-
-					<pre class="code"><span style="color:red">NO EXAMPLE AVAILABLE</span></pre>
+						Registers an editing mode. This function is to be used mainly by plugins.
+
+							<br />
+							<i>Defined in: </i> <a href="../symbols/src/_source_plugins__editingblock_plugin.js.html">plugins/editingblock/plugin.js</a>.
+
+
+					</div>
+
+
+
 
 
@@ -974,14 +983,14 @@
 
 								<dt>
-									<b>commandName</b>
+									<span class="light fixedFont">{String}</span> <b>mode</b>
 
 								</dt>
-								<dd></dd>
+								<dd>The mode name.</dd>
 
 								<dt>
-									<b>data</b>
+									<span class="light fixedFont">{Object}</span> <b>modeEditor</b>
 
 								</dt>
-								<dd></dd>
+								<dd>The mode editor definition.</dd>
 
 							</dl>
@@ -995,9 +1004,9 @@
 					<hr />
 
-					<a name="focus"> </a>
+					<a name="execCommand"> </a>
 					<div class="fixedFont" style="float:left">
 
 					<span class="light">{Undefined}</span>
-					<b>focus</b>()
+					<b>execCommand</b>(commandName, data)
 
 					</div>
@@ -1013,20 +1022,34 @@
 
 					<div class="description">
-						Moves the selection focus to the editing are space in the editor.
-
-							<br />
-							<i>Defined in: </i> <a href="../symbols/src/_source_plugins__editingblock_plugin.js.html">plugins/editingblock/plugin.js</a>.
-
-
-					</div>
-
-
-
-
-					<pre class="code"><span style="color:red">NO EXAMPLE AVAILABLE</span></pre>
-
-
-
-
+						Executes a command.
+
+
+					</div>
+
+
+
+
+					<pre class="code">editorInstance.execCommand( 'Bold' );</pre>
+
+
+
+
+
+							<dl class="detailList">
+							<dt class="heading">Parameters:</dt>
+
+								<dt>
+									<span class="light fixedFont">{String}</span> <b>commandName</b>
+
+								</dt>
+								<dd>The indentifier name of the command.</dd>
+
+								<dt>
+									<span class="light fixedFont">{Object}</span> <b>data</b>
+									<i>Optional</i>
+								</dt>
+								<dd>Data to be passed to the command</dd>
+
+							</dl>
 
 
@@ -1038,9 +1061,9 @@
 					<hr />
 
-					<a name="getCommand"> </a>
+					<a name="focus"> </a>
 					<div class="fixedFont" style="float:left">
 
 					<span class="light">{Undefined}</span>
-					<b>getCommand</b>(commandName)
+					<b>focus</b>()
 
 					</div>
@@ -1056,5 +1079,8 @@
 
 					<div class="description">
-						<span style="color:red">NO DOCUMENTATION AVAILABLE</span>
+						Moves the selection focus to the editing are space in the editor.
+
+							<br />
+							<i>Defined in: </i> <a href="../symbols/src/_source_plugins__editingblock_plugin.js.html">plugins/editingblock/plugin.js</a>.
 
 
@@ -1069,15 +1095,4 @@
 
 
-
-							<dl class="detailList">
-							<dt class="heading">Parameters:</dt>
-
-								<dt>
-									<b>commandName</b>
-
-								</dt>
-								<dd></dd>
-
-							</dl>
 
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.env.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.env.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.env.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.event.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.event.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.event.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.eventInfo.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.eventInfo.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.eventInfo.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
@@ -457,4 +481,14 @@
 
 						<tr>
+							<td class="attributes">&lt;static&gt; &lt;constant&gt; &nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont">
+								CKEDITOR.<b><a href="../symbols/CKEDITOR.html#.UI_BUTTON">UI_BUTTON</a></b>
+								</div>
+								<div class="description">Button UI element.</div>
+							</td>
+						</tr>
+
+						<tr>
 							<td class="attributes">&lt;static&gt; &nbsp;</td>
 							<td class="nameDescription">
@@ -760,4 +794,41 @@
 					<pre class="code">if ( editor.getSelection().getType() == CKEDITOR.SELECTION_TEXT )
     alert( 'Text is selected' );</pre>
+
+
+
+
+
+
+
+
+					<hr />
+
+					<a name=".UI_BUTTON"> </a>
+					<div class="fixedFont" style="float:left">&lt;static&gt; &lt;constant&gt;
+
+					<span class="light">{Undefined}</span>
+					<span class="light">CKEDITOR.</span><b>UI_BUTTON</b>
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+					<div class="description">
+						Button UI element.
+
+							<br />
+							<i>Defined in: </i> <a href="../symbols/src/_source_plugins__button_plugin.js.html">plugins/button/plugin.js</a>.
+
+
+					</div>
+
+
+
 
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.lang.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.lang.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.lang.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.loader.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.loader.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.loader.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.pluginDefinition.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.pluginDefinition.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.pluginDefinition.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
@@ -404,5 +428,5 @@
 								<b><a href="../symbols/CKEDITOR.pluginDefinition.html#constructor">CKEDITOR.pluginDefinition</a></b>()
 							</div>
-							<div class="description">This class is not really part of the API.</div>
+							<div class="description">(Virtual Class) Do not call this constructor.</div>
 						</td>
 					</tr>
@@ -431,4 +455,14 @@
 							<td class="attributes">&nbsp;</td>
 							<td class="nameDescription">
+								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.pluginDefinition.html#beforeInit">beforeInit</a></b>(editor, pluginPath)
+								</div>
+								<div class="description">Function called on initialization of every editor instance created in the
+page before the init() call task.</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
 								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.pluginDefinition.html#init">init</a></b>(editor, pluginPath)
 								</div>
@@ -465,6 +499,7 @@
 
 				<div class="description">
-					This class is not really part of the API. It just illustrates the features
-		of plugin objects to passed to the CKEDITOR.plugins.add function.
+					(Virtual Class) Do not call this constructor. This class is not really part
+		of the API. It just illustrates the features of plugin objects to be
+		passed to the CKEDITOR.plugins.add function.
 
 				</div>
@@ -472,7 +507,4 @@
 
 
-
-				<pre class="code">// Do not do this.
-var myEvent = new CKEDITOR.pluginDefinition();  // Error: CKEDITOR.pluginDefinition is undefined</pre>
 
 
@@ -498,4 +530,71 @@
 					Method Detail
 				</div>
+
+					<a name="beforeInit"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{Undefined}</span>
+					<b>beforeInit</b>(editor, pluginPath)
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+
+					<div class="description">
+						Function called on initialization of every editor instance created in the
+page before the init() call task. The beforeInit function will be called for
+all plugins, after that the init function is called for all of them. This
+feature makes it possible to initialize things that could be used in the
+init function of other plugins.
+
+
+					</div>
+
+
+
+
+					<pre class="code">CKEDITOR.plugins.add( 'sample',
+{
+    beforeInit : function( editor, pluginPath )
+    {
+        alert( 'Editor "' + editor.name + '" is to be initialized!' );
+    }
+});</pre>
+
+
+
+
+
+							<dl class="detailList">
+							<dt class="heading">Parameters:</dt>
+
+								<dt>
+									<span class="light fixedFont">{<a href="../symbols/CKEDITOR.editor.html#constructor">CKEDITOR.editor</a>}</span> <b>editor</b>
+
+								</dt>
+								<dd>The editor instance being initialized.</dd>
+
+								<dt>
+									<span class="light fixedFont">{String}</span> <b>pluginPath</b>
+
+								</dt>
+								<dd>The URL path for the plugin installation folder.</dd>
+
+							</dl>
+
+
+
+
+
+
+
+					<hr />
 
 					<a name="init"> </a>
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.plugins.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.plugins.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.plugins.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
@@ -418,4 +442,28 @@
 
 
+				<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class CKEDITOR.plugins.">
+					<caption>Field Summary</caption>
+					<thead>
+						<tr>
+							<th scope="col">Field Attributes</th>
+							<th scope="col">Field Name and Description</th>
+						</tr>
+					</thead>
+					<tbody>
+
+						<tr>
+							<td class="attributes">&lt;static&gt; &nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont">
+								CKEDITOR.plugins.<b><a href="../symbols/CKEDITOR.plugins.html#.sourcearea">sourcearea</a></b>
+								</div>
+								<div class="description">Holds the definition of commands an UI elements included with the sourcearea
+plugin.</div>
+							</td>
+						</tr>
+
+					</tbody>
+				</table>
+
 
 
@@ -481,4 +529,47 @@
 <!-- ============================== field details ========================== -->
 
+				<div class="sectionTitle">
+					Field Detail
+				</div>
+
+					<a name=".sourcearea"> </a>
+					<div class="fixedFont" style="float:left">&lt;static&gt;
+
+					<span class="light">{Undefined}</span>
+					<span class="light">CKEDITOR.plugins.</span><b>sourcearea</b>
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+					<div class="description">
+						Holds the definition of commands an UI elements included with the sourcearea
+plugin.
+
+							<br />
+							<i>Defined in: </i> <a href="../symbols/src/_source_plugins__sourcearea_plugin.js.html">plugins/sourcearea/plugin.js</a>.
+
+
+					</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 <!-- ============================== method details ========================= -->
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.resourceManager.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.resourceManager.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.resourceManager.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.scriptLoader.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.scriptLoader.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.scriptLoader.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.skins.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.skins.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.skins.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.test.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.test.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.test.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.themes.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.themes.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.themes.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.tools.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.tools.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.tools.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ui.button.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ui.button.html	(revision 2278)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ui.button.html	(revision 2278)
@@ -0,0 +1,850 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+
+		<title>JsDoc Reference - CKEDITOR.ui.button</title>
+
+		<style type="text/css">
+			/* default.css */
+body
+{
+	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
+	width: 800px;
+}
+
+.header
+{
+	clear: both;
+	background-color: #ccc;
+	padding: 8px;
+}
+
+h1
+{
+	font-size: 150%;
+	font-weight: bold;
+	padding: 0;
+	margin: 1em 0 0 .3em;
+}
+
+hr
+{
+	border: none 0;
+	border-top: 1px solid #7F8FB1;
+	height: 1px;
+}
+
+pre.code
+{
+	display: block;
+	padding: 8px;
+	border: 1px dashed #ccc;
+}
+
+#index
+{
+	margin-top: 24px;
+	float: left;
+	width: 160px;
+	position: absolute;
+	left: 8px;
+	background-color: #F3F3F3;
+	padding: 8px;
+}
+
+#content
+{
+	margin-left: 190px;
+	width: 600px;
+}
+
+.classList
+{
+	list-style-type: none;
+	padding: 0;
+	margin: 0 0 0 8px;
+	font-family: arial, sans-serif;
+	font-size: 1em;
+	overflow: auto;
+}
+
+.classList li
+{
+	padding: 0;
+	margin: 0 0 8px 0;
+}
+
+.summaryTable { width: 100%; }
+
+h1.classTitle
+{
+	font-size:170%;
+	line-height:130%;
+}
+
+h2 { font-size: 110%; }
+caption, div.sectionTitle
+{
+	background-color: #7F8FB1;
+	color: #fff;
+	font-size:130%;
+	text-align: left;
+	padding: 2px 6px 2px 6px;
+	border: 1px #7F8FB1 solid;
+}
+
+div.sectionTitle { margin-bottom: 8px; }
+.summaryTable thead { display: none; }
+
+.summaryTable td
+{
+	vertical-align: top;
+	padding: 4px;
+	border-bottom: 1px #7F8FB1 solid;
+	border-right: 1px #7F8FB1 solid;
+}
+
+/*col#summaryAttributes {}*/
+.summaryTable td.attributes
+{
+	border-left: 1px #7F8FB1 solid;
+	width: 140px;
+	text-align: right;
+}
+
+td.attributes, .fixedFont
+{
+	line-height: 15px;
+	color: #002EBE;
+	font-family: "Courier New",Courier,monospace;
+	font-size: 13px;
+}
+
+.summaryTable td.nameDescription
+{
+	text-align: left;
+	font-size: 13px;
+	line-height: 15px;
+}
+
+.summaryTable td.nameDescription, .description
+{
+	line-height: 15px;
+	padding: 4px;
+	padding-left: 4px;
+}
+
+.summaryTable { margin-bottom: 8px; }
+
+ul.inheritsList
+{
+	list-style: square;
+	margin-left: 20px;
+	padding-left: 0;
+}
+
+.detailList {
+	margin-left: 20px;
+	line-height: 15px;
+}
+.detailList dt { margin-left: 20px; }
+
+.detailList .heading
+{
+	font-weight: bold;
+	padding-bottom: 6px;
+	margin-left: 0;
+}
+
+.light, td.attributes, .light a:link, .light a:visited
+{
+	color: #777;
+	font-style: italic;
+}
+
+.fineprint
+{
+	text-align: right;
+	font-size: 10px;
+}
+
+		</style>
+	</head>
+
+	<body>
+<!-- ============================== header ================================= -->
+		<!-- begin static/header.html -->
+		<div id="header">
+</div>
+
+		<!-- end static/header.html -->
+
+<!-- ============================== classes index ============================ -->
+		<div id="index">
+			<!-- begin publish.classesIndex -->
+			<div align="center"><a href="../index.html">Code Index</a>
+| <a href="../files.html">File Index</a></div>
+<hr />
+<h2>Namespaces</h2>
+<ul class="classList">
+
+	<li><a href="../symbols/_global_.html">_global_</a></li>
+
+	<li><a href="../symbols/CKEDITOR.html">CKEDITOR</a></li>
+
+	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
+
+
+
+	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
+
+	<li><a href="../symbols/CKEDITOR.dom.html">CKEDITOR.dom</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	<li><a href="../symbols/CKEDITOR.env.html">CKEDITOR.env</a></li>
+
+
+
+
+
+	<li><a href="../symbols/CKEDITOR.lang.html">CKEDITOR.lang</a></li>
+
+	<li><a href="../symbols/CKEDITOR.loader.html">CKEDITOR.loader</a></li>
+
+
+
+	<li><a href="../symbols/CKEDITOR.plugins.html">CKEDITOR.plugins</a></li>
+
+	<li><a href="../symbols/CKEDITOR.resourceManager.html">CKEDITOR.resourceManager</a></li>
+
+	<li><a href="../symbols/CKEDITOR.scriptLoader.html">CKEDITOR.scriptLoader</a></li>
+
+	<li><a href="../symbols/CKEDITOR.skins.html">CKEDITOR.skins</a></li>
+
+	<li><a href="../symbols/CKEDITOR.test.html">CKEDITOR.test</a></li>
+
+	<li><a href="../symbols/CKEDITOR.themes.html">CKEDITOR.themes</a></li>
+
+	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
+
+
+
+</ul>
+<h2>Classes</h2>
+<ul class="classList">
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.document.html">CKEDITOR.dom.document</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.domObject.html">CKEDITOR.dom.domObject</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.element.html">CKEDITOR.dom.element</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.event.html">CKEDITOR.dom.event</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.node.html">CKEDITOR.dom.node</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.selection.html">CKEDITOR.dom.selection</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.text.html">CKEDITOR.dom.text</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.window.html">CKEDITOR.dom.window</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.editor.html">CKEDITOR.editor</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.event.html">CKEDITOR.event</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.eventInfo.html">CKEDITOR.eventInfo</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.pluginDefinition.html">CKEDITOR.pluginDefinition</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.xml.html">CKEDITOR.xml</a>
+		</li>
+
+</ul>
+<hr />
+			<!-- end publish.classesIndex -->
+		</div>
+
+		<div id="content">
+<!-- ============================== class title ============================ -->
+			<h1 class="classTitle">
+
+				Class CKEDITOR.ui.button
+			</h1>
+
+<!-- ============================== class summary ========================== -->
+			<p class="description">
+
+
+
+
+
+					<br /><i>Defined in: </i> <a href="../symbols/src/_source_plugins__button_plugin.js.html">plugins/button/plugin.js</a>.
+
+			</p>
+
+<!-- ============================== constructor summary ==================== -->
+
+			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class CKEDITOR.ui.button.">
+				<caption>Class Summary</caption>
+				<thead>
+					<tr>
+						<th scope="col">Constructor Attributes</th>
+						<th scope="col">Constructor Name and Description</th>
+					</tr>
+				</thead>
+				<tbody>
+					<tr>
+						<td class="attributes">&nbsp;</td>
+						<td class="nameDescription" >
+							<div class="fixedFont">
+								<b><a href="../symbols/CKEDITOR.ui.button.html#constructor">CKEDITOR.ui.button</a></b>(definition)
+							</div>
+							<div class="description">Represents a button UI element.</div>
+						</td>
+					</tr>
+				</tbody>
+			</table>
+
+
+<!-- ============================== properties summary ===================== -->
+
+
+
+				<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class CKEDITOR.ui.button.">
+					<caption>Field Summary</caption>
+					<thead>
+						<tr>
+							<th scope="col">Field Attributes</th>
+							<th scope="col">Field Name and Description</th>
+						</tr>
+					</thead>
+					<tbody>
+
+						<tr>
+							<td class="attributes">&lt;static&gt; &nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont">
+								CKEDITOR.ui.button.<b><a href="../symbols/CKEDITOR.ui.button.html#.handler">handler</a></b>
+								</div>
+								<div class="description">Transforms a button definition in a <a href="../symbols/CKEDITOR.ui.button.html#constructor">CKEDITOR.ui.button</a> instance.</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont">
+								<b><a href="../symbols/CKEDITOR.ui.button.html#command">command</a></b>
+								</div>
+								<div class="description">The command name associated to the button.</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont">
+								<b><a href="../symbols/CKEDITOR.ui.button.html#label">label</a></b>
+								</div>
+								<div class="description">The button label.</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont">
+								<b><a href="../symbols/CKEDITOR.ui.button.html#title">title</a></b>
+								</div>
+								<div class="description">The button advisory title.</div>
+							</td>
+						</tr>
+
+					</tbody>
+				</table>
+
+
+
+
+
+<!-- ============================== methods summary ======================== -->
+
+
+
+				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class CKEDITOR.ui.button.">
+					<caption>Method Summary</caption>
+					<thead>
+						<tr>
+							<th scope="col">Method Attributes</th>
+							<th scope="col">Method Name and Description</th>
+						</tr>
+					</thead>
+					<tbody>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.ui.button.html#click">click</a></b>()
+								</div>
+								<div class="description">The function to be called when the user clicks the button.</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.ui.button.html#render">render</a></b>(editor, output)
+								</div>
+								<div class="description">Renders the button.</div>
+							</td>
+						</tr>
+
+					</tbody>
+				</table>
+
+
+
+
+
+<!-- ============================== constructor details ==================== -->
+
+			<div class="details"><a name="constructor"> </a>
+				<div class="sectionTitle">
+					Class Detail
+				</div>
+
+				<div class="fixedFont" style="float:left">
+						<b>CKEDITOR.ui.button</b>(definition)
+				</div>
+
+
+					<div style="float:right">
+						<span class="heading">Since:</span>
+							3.0
+					</div>
+
+				<div style="clear:both"></div>
+
+				<div class="description">
+					Represents a button UI element. This class should not be called directly. To
+create new buttons use CKEDITOR.ui.prototype.addButton instead.
+
+				</div>
+
+
+
+
+
+
+
+
+
+						<dl class="detailList">
+						<dt class="heading">Parameters:</dt>
+
+							<dt>
+								<span class="light fixedFont">{Object}</span>  <b>definition</b>
+
+							</dt>
+								<dd>The button definition.</dd>
+
+						</dl>
+
+
+
+
+
+
+
+			</div>
+
+
+<!-- ============================== field details ========================== -->
+
+				<div class="sectionTitle">
+					Field Detail
+				</div>
+
+					<a name=".handler"> </a>
+					<div class="fixedFont" style="float:left">&lt;static&gt;
+
+					<span class="light">{Undefined}</span>
+					<span class="light">CKEDITOR.ui.button.</span><b>handler</b>
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+					<div class="description">
+						Transforms a button definition in a <a href="../symbols/CKEDITOR.ui.button.html#constructor">CKEDITOR.ui.button</a> instance.
+
+
+					</div>
+
+
+
+
+
+
+
+
+
+
+
+					<hr />
+
+					<a name="command"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{String}</span>
+					<b>command</b>
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+					<div class="description">
+						The command name associated to the button. If no command is defined, the
+"click" event is used.
+
+
+					</div>
+
+
+
+
+
+
+
+
+
+
+
+					<hr />
+
+					<a name="label"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{String}</span>
+					<b>label</b>
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+					<div class="description">
+						The button label.
+
+
+					</div>
+
+
+
+
+
+
+
+
+
+
+
+					<hr />
+
+					<a name="title"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{String}</span>
+					<b>title</b>
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+					<div class="description">
+						The button advisory title. It is usually displayed as the button tooltip.
+If not defined, the label is used.
+
+
+					</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ============================== method details ========================= -->
+
+				<div class="sectionTitle">
+					Method Detail
+				</div>
+
+					<a name="click"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{Function}</span>
+					<b>click</b>()
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+
+					<div class="description">
+						The function to be called when the user clicks the button. If not
+defined, the "command" property is required, and the command gets
+executed on click.
+
+
+					</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+					<hr />
+
+					<a name="render"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{Undefined}</span>
+					<b>render</b>(editor, output)
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+
+					<div class="description">
+						Renders the button.
+
+
+					</div>
+
+
+
+
+
+
+
+
+							<dl class="detailList">
+							<dt class="heading">Parameters:</dt>
+
+								<dt>
+									<span class="light fixedFont">{<a href="../symbols/CKEDITOR.editor.html#constructor">CKEDITOR.editor</a>}</span> <b>editor</b>
+
+								</dt>
+								<dd>The editor instance which this button is
+		to be used by.</dd>
+
+								<dt>
+									<span class="light fixedFont">{Array}</span> <b>output</b>
+
+								</dt>
+								<dd>The output array to which append the HTML relative
+		to this button.</dd>
+
+							</dl>
+
+
+
+
+
+
+
+
+
+
+
+			<hr />
+		</div>
+
+<!-- ============================== footer ================================= -->
+		<div class="fineprint" style="clear:both">
+
+			Documentation generated by <a rel="nofollow" href="http://www.jsdoctoolkit.org/" target="_blank">JsDoc Toolkit</a>
+		</div>
+	</body>
+</html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ui.handlerDefinition.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ui.handlerDefinition.html	(revision 2278)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ui.handlerDefinition.html	(revision 2278)
@@ -0,0 +1,501 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+
+		<title>JsDoc Reference - CKEDITOR.ui.handlerDefinition</title>
+
+		<style type="text/css">
+			/* default.css */
+body
+{
+	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
+	width: 800px;
+}
+
+.header
+{
+	clear: both;
+	background-color: #ccc;
+	padding: 8px;
+}
+
+h1
+{
+	font-size: 150%;
+	font-weight: bold;
+	padding: 0;
+	margin: 1em 0 0 .3em;
+}
+
+hr
+{
+	border: none 0;
+	border-top: 1px solid #7F8FB1;
+	height: 1px;
+}
+
+pre.code
+{
+	display: block;
+	padding: 8px;
+	border: 1px dashed #ccc;
+}
+
+#index
+{
+	margin-top: 24px;
+	float: left;
+	width: 160px;
+	position: absolute;
+	left: 8px;
+	background-color: #F3F3F3;
+	padding: 8px;
+}
+
+#content
+{
+	margin-left: 190px;
+	width: 600px;
+}
+
+.classList
+{
+	list-style-type: none;
+	padding: 0;
+	margin: 0 0 0 8px;
+	font-family: arial, sans-serif;
+	font-size: 1em;
+	overflow: auto;
+}
+
+.classList li
+{
+	padding: 0;
+	margin: 0 0 8px 0;
+}
+
+.summaryTable { width: 100%; }
+
+h1.classTitle
+{
+	font-size:170%;
+	line-height:130%;
+}
+
+h2 { font-size: 110%; }
+caption, div.sectionTitle
+{
+	background-color: #7F8FB1;
+	color: #fff;
+	font-size:130%;
+	text-align: left;
+	padding: 2px 6px 2px 6px;
+	border: 1px #7F8FB1 solid;
+}
+
+div.sectionTitle { margin-bottom: 8px; }
+.summaryTable thead { display: none; }
+
+.summaryTable td
+{
+	vertical-align: top;
+	padding: 4px;
+	border-bottom: 1px #7F8FB1 solid;
+	border-right: 1px #7F8FB1 solid;
+}
+
+/*col#summaryAttributes {}*/
+.summaryTable td.attributes
+{
+	border-left: 1px #7F8FB1 solid;
+	width: 140px;
+	text-align: right;
+}
+
+td.attributes, .fixedFont
+{
+	line-height: 15px;
+	color: #002EBE;
+	font-family: "Courier New",Courier,monospace;
+	font-size: 13px;
+}
+
+.summaryTable td.nameDescription
+{
+	text-align: left;
+	font-size: 13px;
+	line-height: 15px;
+}
+
+.summaryTable td.nameDescription, .description
+{
+	line-height: 15px;
+	padding: 4px;
+	padding-left: 4px;
+}
+
+.summaryTable { margin-bottom: 8px; }
+
+ul.inheritsList
+{
+	list-style: square;
+	margin-left: 20px;
+	padding-left: 0;
+}
+
+.detailList {
+	margin-left: 20px;
+	line-height: 15px;
+}
+.detailList dt { margin-left: 20px; }
+
+.detailList .heading
+{
+	font-weight: bold;
+	padding-bottom: 6px;
+	margin-left: 0;
+}
+
+.light, td.attributes, .light a:link, .light a:visited
+{
+	color: #777;
+	font-style: italic;
+}
+
+.fineprint
+{
+	text-align: right;
+	font-size: 10px;
+}
+
+		</style>
+	</head>
+
+	<body>
+<!-- ============================== header ================================= -->
+		<!-- begin static/header.html -->
+		<div id="header">
+</div>
+
+		<!-- end static/header.html -->
+
+<!-- ============================== classes index ============================ -->
+		<div id="index">
+			<!-- begin publish.classesIndex -->
+			<div align="center"><a href="../index.html">Code Index</a>
+| <a href="../files.html">File Index</a></div>
+<hr />
+<h2>Namespaces</h2>
+<ul class="classList">
+
+	<li><a href="../symbols/_global_.html">_global_</a></li>
+
+	<li><a href="../symbols/CKEDITOR.html">CKEDITOR</a></li>
+
+	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
+
+
+
+	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
+
+	<li><a href="../symbols/CKEDITOR.dom.html">CKEDITOR.dom</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	<li><a href="../symbols/CKEDITOR.env.html">CKEDITOR.env</a></li>
+
+
+
+
+
+	<li><a href="../symbols/CKEDITOR.lang.html">CKEDITOR.lang</a></li>
+
+	<li><a href="../symbols/CKEDITOR.loader.html">CKEDITOR.loader</a></li>
+
+
+
+	<li><a href="../symbols/CKEDITOR.plugins.html">CKEDITOR.plugins</a></li>
+
+	<li><a href="../symbols/CKEDITOR.resourceManager.html">CKEDITOR.resourceManager</a></li>
+
+	<li><a href="../symbols/CKEDITOR.scriptLoader.html">CKEDITOR.scriptLoader</a></li>
+
+	<li><a href="../symbols/CKEDITOR.skins.html">CKEDITOR.skins</a></li>
+
+	<li><a href="../symbols/CKEDITOR.test.html">CKEDITOR.test</a></li>
+
+	<li><a href="../symbols/CKEDITOR.themes.html">CKEDITOR.themes</a></li>
+
+	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
+
+
+
+</ul>
+<h2>Classes</h2>
+<ul class="classList">
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.document.html">CKEDITOR.dom.document</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.domObject.html">CKEDITOR.dom.domObject</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.element.html">CKEDITOR.dom.element</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.event.html">CKEDITOR.dom.event</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.node.html">CKEDITOR.dom.node</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.selection.html">CKEDITOR.dom.selection</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.text.html">CKEDITOR.dom.text</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.window.html">CKEDITOR.dom.window</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.editor.html">CKEDITOR.editor</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.event.html">CKEDITOR.event</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.eventInfo.html">CKEDITOR.eventInfo</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.pluginDefinition.html">CKEDITOR.pluginDefinition</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.xml.html">CKEDITOR.xml</a>
+		</li>
+
+</ul>
+<hr />
+			<!-- end publish.classesIndex -->
+		</div>
+
+		<div id="content">
+<!-- ============================== class title ============================ -->
+			<h1 class="classTitle">
+
+				Class CKEDITOR.ui.handlerDefinition
+			</h1>
+
+<!-- ============================== class summary ========================== -->
+			<p class="description">
+
+
+
+
+
+					<br /><i>Defined in: </i> <a href="../symbols/src/_source_core__ui.js.html">core/ui.js</a>.
+
+			</p>
+
+<!-- ============================== constructor summary ==================== -->
+
+			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class CKEDITOR.ui.handlerDefinition.">
+				<caption>Class Summary</caption>
+				<thead>
+					<tr>
+						<th scope="col">Constructor Attributes</th>
+						<th scope="col">Constructor Name and Description</th>
+					</tr>
+				</thead>
+				<tbody>
+					<tr>
+						<td class="attributes">&nbsp;</td>
+						<td class="nameDescription" >
+							<div class="fixedFont">
+								<b><a href="../symbols/CKEDITOR.ui.handlerDefinition.html#constructor">CKEDITOR.ui.handlerDefinition</a></b>()
+							</div>
+							<div class="description">(Virtual Class) Do not call this constructor.</div>
+						</td>
+					</tr>
+				</tbody>
+			</table>
+
+
+<!-- ============================== properties summary ===================== -->
+
+
+<!-- ============================== methods summary ======================== -->
+
+
+<!-- ============================== constructor details ==================== -->
+
+			<div class="details"><a name="constructor"> </a>
+				<div class="sectionTitle">
+					Class Detail
+				</div>
+
+				<div class="fixedFont" style="float:left">
+						<b>CKEDITOR.ui.handlerDefinition</b>()
+				</div>
+
+
+					<div style="float:right">
+						<span class="heading">Since:</span>
+							3.0
+					</div>
+
+				<div style="clear:both"></div>
+
+				<div class="description">
+					(Virtual Class) Do not call this constructor. This class is not really part
+		of the API. It just illustrates the features of hanlder objects to be
+		passed to the CKEDITOR.ui.prototype.addHandler function.
+
+				</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			</div>
+
+
+<!-- ============================== field details ========================== -->
+
+
+<!-- ============================== method details ========================= -->
+
+
+			<hr />
+		</div>
+
+<!-- ============================== footer ================================= -->
+		<div class="fineprint" style="clear:both">
+
+			Documentation generated by <a rel="nofollow" href="http://www.jsdoctoolkit.org/" target="_blank">JsDoc Toolkit</a>
+		</div>
+	</body>
+</html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ui.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ui.html	(revision 2278)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.ui.html	(revision 2278)
@@ -0,0 +1,878 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+
+		<title>JsDoc Reference - CKEDITOR.ui</title>
+
+		<style type="text/css">
+			/* default.css */
+body
+{
+	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
+	width: 800px;
+}
+
+.header
+{
+	clear: both;
+	background-color: #ccc;
+	padding: 8px;
+}
+
+h1
+{
+	font-size: 150%;
+	font-weight: bold;
+	padding: 0;
+	margin: 1em 0 0 .3em;
+}
+
+hr
+{
+	border: none 0;
+	border-top: 1px solid #7F8FB1;
+	height: 1px;
+}
+
+pre.code
+{
+	display: block;
+	padding: 8px;
+	border: 1px dashed #ccc;
+}
+
+#index
+{
+	margin-top: 24px;
+	float: left;
+	width: 160px;
+	position: absolute;
+	left: 8px;
+	background-color: #F3F3F3;
+	padding: 8px;
+}
+
+#content
+{
+	margin-left: 190px;
+	width: 600px;
+}
+
+.classList
+{
+	list-style-type: none;
+	padding: 0;
+	margin: 0 0 0 8px;
+	font-family: arial, sans-serif;
+	font-size: 1em;
+	overflow: auto;
+}
+
+.classList li
+{
+	padding: 0;
+	margin: 0 0 8px 0;
+}
+
+.summaryTable { width: 100%; }
+
+h1.classTitle
+{
+	font-size:170%;
+	line-height:130%;
+}
+
+h2 { font-size: 110%; }
+caption, div.sectionTitle
+{
+	background-color: #7F8FB1;
+	color: #fff;
+	font-size:130%;
+	text-align: left;
+	padding: 2px 6px 2px 6px;
+	border: 1px #7F8FB1 solid;
+}
+
+div.sectionTitle { margin-bottom: 8px; }
+.summaryTable thead { display: none; }
+
+.summaryTable td
+{
+	vertical-align: top;
+	padding: 4px;
+	border-bottom: 1px #7F8FB1 solid;
+	border-right: 1px #7F8FB1 solid;
+}
+
+/*col#summaryAttributes {}*/
+.summaryTable td.attributes
+{
+	border-left: 1px #7F8FB1 solid;
+	width: 140px;
+	text-align: right;
+}
+
+td.attributes, .fixedFont
+{
+	line-height: 15px;
+	color: #002EBE;
+	font-family: "Courier New",Courier,monospace;
+	font-size: 13px;
+}
+
+.summaryTable td.nameDescription
+{
+	text-align: left;
+	font-size: 13px;
+	line-height: 15px;
+}
+
+.summaryTable td.nameDescription, .description
+{
+	line-height: 15px;
+	padding: 4px;
+	padding-left: 4px;
+}
+
+.summaryTable { margin-bottom: 8px; }
+
+ul.inheritsList
+{
+	list-style: square;
+	margin-left: 20px;
+	padding-left: 0;
+}
+
+.detailList {
+	margin-left: 20px;
+	line-height: 15px;
+}
+.detailList dt { margin-left: 20px; }
+
+.detailList .heading
+{
+	font-weight: bold;
+	padding-bottom: 6px;
+	margin-left: 0;
+}
+
+.light, td.attributes, .light a:link, .light a:visited
+{
+	color: #777;
+	font-style: italic;
+}
+
+.fineprint
+{
+	text-align: right;
+	font-size: 10px;
+}
+
+		</style>
+	</head>
+
+	<body>
+<!-- ============================== header ================================= -->
+		<!-- begin static/header.html -->
+		<div id="header">
+</div>
+
+		<!-- end static/header.html -->
+
+<!-- ============================== classes index ============================ -->
+		<div id="index">
+			<!-- begin publish.classesIndex -->
+			<div align="center"><a href="../index.html">Code Index</a>
+| <a href="../files.html">File Index</a></div>
+<hr />
+<h2>Namespaces</h2>
+<ul class="classList">
+
+	<li><a href="../symbols/_global_.html">_global_</a></li>
+
+	<li><a href="../symbols/CKEDITOR.html">CKEDITOR</a></li>
+
+	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
+
+
+
+	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
+
+	<li><a href="../symbols/CKEDITOR.dom.html">CKEDITOR.dom</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	<li><a href="../symbols/CKEDITOR.env.html">CKEDITOR.env</a></li>
+
+
+
+
+
+	<li><a href="../symbols/CKEDITOR.lang.html">CKEDITOR.lang</a></li>
+
+	<li><a href="../symbols/CKEDITOR.loader.html">CKEDITOR.loader</a></li>
+
+
+
+	<li><a href="../symbols/CKEDITOR.plugins.html">CKEDITOR.plugins</a></li>
+
+	<li><a href="../symbols/CKEDITOR.resourceManager.html">CKEDITOR.resourceManager</a></li>
+
+	<li><a href="../symbols/CKEDITOR.scriptLoader.html">CKEDITOR.scriptLoader</a></li>
+
+	<li><a href="../symbols/CKEDITOR.skins.html">CKEDITOR.skins</a></li>
+
+	<li><a href="../symbols/CKEDITOR.test.html">CKEDITOR.test</a></li>
+
+	<li><a href="../symbols/CKEDITOR.themes.html">CKEDITOR.themes</a></li>
+
+	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
+
+
+
+</ul>
+<h2>Classes</h2>
+<ul class="classList">
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.document.html">CKEDITOR.dom.document</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.domObject.html">CKEDITOR.dom.domObject</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.element.html">CKEDITOR.dom.element</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.event.html">CKEDITOR.dom.event</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.node.html">CKEDITOR.dom.node</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.selection.html">CKEDITOR.dom.selection</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.text.html">CKEDITOR.dom.text</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.dom.window.html">CKEDITOR.dom.window</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.editor.html">CKEDITOR.editor</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.event.html">CKEDITOR.event</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.eventInfo.html">CKEDITOR.eventInfo</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.pluginDefinition.html">CKEDITOR.pluginDefinition</a>
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.xml.html">CKEDITOR.xml</a>
+		</li>
+
+</ul>
+<hr />
+			<!-- end publish.classesIndex -->
+		</div>
+
+		<div id="content">
+<!-- ============================== class title ============================ -->
+			<h1 class="classTitle">
+
+				Class CKEDITOR.ui
+			</h1>
+
+<!-- ============================== class summary ========================== -->
+			<p class="description">
+
+
+
+
+
+					<br /><i>Defined in: </i> <a href="../symbols/src/_source_core__ui.js.html">core/ui.js</a>.
+
+			</p>
+
+<!-- ============================== constructor summary ==================== -->
+
+			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class CKEDITOR.ui.">
+				<caption>Class Summary</caption>
+				<thead>
+					<tr>
+						<th scope="col">Constructor Attributes</th>
+						<th scope="col">Constructor Name and Description</th>
+					</tr>
+				</thead>
+				<tbody>
+					<tr>
+						<td class="attributes">&nbsp;</td>
+						<td class="nameDescription" >
+							<div class="fixedFont">
+								<b><a href="../symbols/CKEDITOR.ui.html#constructor">CKEDITOR.ui</a></b>(editor)
+							</div>
+							<div class="description">Contains UI features related to an editor instance.</div>
+						</td>
+					</tr>
+				</tbody>
+			</table>
+
+
+<!-- ============================== properties summary ===================== -->
+
+
+
+				<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class CKEDITOR.ui.">
+					<caption>Field Summary</caption>
+					<thead>
+						<tr>
+							<th scope="col">Field Attributes</th>
+							<th scope="col">Field Name and Description</th>
+						</tr>
+					</thead>
+					<tbody>
+
+						<tr>
+							<td class="attributes">&lt;static&gt; &nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont">
+								CKEDITOR.ui.<b><a href="../symbols/CKEDITOR.ui.html#.separator">separator</a></b>
+								</div>
+								<div class="description">The UI element that renders a toolbar separator.</div>
+							</td>
+						</tr>
+
+					</tbody>
+				</table>
+
+
+
+
+
+<!-- ============================== methods summary ======================== -->
+
+
+
+				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class CKEDITOR.ui.">
+					<caption>Method Summary</caption>
+					<thead>
+						<tr>
+							<th scope="col">Method Attributes</th>
+							<th scope="col">Method Name and Description</th>
+						</tr>
+					</thead>
+					<tbody>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.ui.html#add">add</a></b>(name, type, definition)
+								</div>
+								<div class="description">Adds a UI item to the items collection.</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.ui.html#addButton">addButton</a></b>(The, The)
+								</div>
+								<div class="description">Adds a button definition to the UI elements list.</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.ui.html#addHandler">addHandler</a></b>(type, handler)
+								</div>
+								<div class="description">Adds a handler for a UI item type.</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="attributes">&nbsp;</td>
+							<td class="nameDescription">
+								<div class="fixedFont"><b><a href="../symbols/CKEDITOR.ui.html#get">get</a></b>(name)
+								</div>
+								<div class="description">Gets a UI object.</div>
+							</td>
+						</tr>
+
+					</tbody>
+				</table>
+
+
+
+
+
+<!-- ============================== constructor details ==================== -->
+
+			<div class="details"><a name="constructor"> </a>
+				<div class="sectionTitle">
+					Class Detail
+				</div>
+
+				<div class="fixedFont" style="float:left">
+						<b>CKEDITOR.ui</b>(editor)
+				</div>
+
+
+					<div style="float:right">
+						<span class="heading">Since:</span>
+							3.0
+					</div>
+
+				<div style="clear:both"></div>
+
+				<div class="description">
+					Contains UI features related to an editor instance.
+
+				</div>
+
+
+
+
+
+
+
+
+
+						<dl class="detailList">
+						<dt class="heading">Parameters:</dt>
+
+							<dt>
+								<span class="light fixedFont">{<a href="../symbols/CKEDITOR.editor.html#constructor">CKEDITOR.editor</a>}</span>  <b>editor</b>
+
+							</dt>
+								<dd>The editor instance.</dd>
+
+						</dl>
+
+
+
+
+
+
+
+			</div>
+
+
+<!-- ============================== field details ========================== -->
+
+				<div class="sectionTitle">
+					Field Detail
+				</div>
+
+					<a name=".separator"> </a>
+					<div class="fixedFont" style="float:left">&lt;static&gt;
+
+					<span class="light">{Object}</span>
+					<span class="light">CKEDITOR.ui.</span><b>separator</b>
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+					<div class="description">
+						The UI element that renders a toolbar separator.
+
+							<br />
+							<i>Defined in: </i> <a href="../symbols/src/_source_plugins__toolbar_plugin.js.html">plugins/toolbar/plugin.js</a>.
+
+
+					</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ============================== method details ========================= -->
+
+				<div class="sectionTitle">
+					Method Detail
+				</div>
+
+					<a name="add"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{Undefined}</span>
+					<b>add</b>(name, type, definition)
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+
+					<div class="description">
+						Adds a UI item to the items collection. These items can be later used in
+the interface.
+
+
+					</div>
+
+
+
+
+					<pre class="code">// Add a new button named "MyBold".
+editorInstance.ui.add( 'MyBold', CKEDITOR.UI_BUTTON,
+    {
+        label : 'My Bold',
+        command : 'bold'
+    });</pre>
+
+
+
+
+
+							<dl class="detailList">
+							<dt class="heading">Parameters:</dt>
+
+								<dt>
+									<span class="light fixedFont">{String}</span> <b>name</b>
+
+								</dt>
+								<dd>The UI item name.</dd>
+
+								<dt>
+									<span class="light fixedFont">{Object}</span> <b>type</b>
+
+								</dt>
+								<dd>The item type.</dd>
+
+								<dt>
+									<span class="light fixedFont">{Object}</span> <b>definition</b>
+
+								</dt>
+								<dd>The item definition. The properties of this
+		object depend on the item type.</dd>
+
+							</dl>
+
+
+
+
+
+
+
+					<hr />
+
+					<a name="addButton"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{Undefined}</span>
+					<b>addButton</b>(The, The)
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+
+					<div class="description">
+						Adds a button definition to the UI elements list.
+
+							<br />
+							<i>Defined in: </i> <a href="../symbols/src/_source_plugins__button_plugin.js.html">plugins/button/plugin.js</a>.
+
+
+					</div>
+
+
+
+
+					<pre class="code">editorInstance.ui.addButton( 'MyBold',
+    {
+        label : 'My Bold',
+        command : 'bold'
+    });</pre>
+
+
+
+
+
+							<dl class="detailList">
+							<dt class="heading">Parameters:</dt>
+
+								<dt>
+									<span class="light fixedFont">{String}</span> <b>The</b>
+
+								</dt>
+								<dd>button name.</dd>
+
+								<dt>
+									<span class="light fixedFont">{Object}</span> <b>The</b>
+
+								</dt>
+								<dd>button definition.</dd>
+
+							</dl>
+
+
+
+
+
+
+
+					<hr />
+
+					<a name="addHandler"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{Undefined}</span>
+					<b>addHandler</b>(type, handler)
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+
+					<div class="description">
+						Adds a handler for a UI item type. The handler is responsible for
+transforming UI item definitions in UI objects.
+
+
+					</div>
+
+
+
+
+
+
+
+
+							<dl class="detailList">
+							<dt class="heading">Parameters:</dt>
+
+								<dt>
+									<span class="light fixedFont">{Object}</span> <b>type</b>
+
+								</dt>
+								<dd>The item type.</dd>
+
+								<dt>
+									<span class="light fixedFont">{Object}</span> <b>handler</b>
+
+								</dt>
+								<dd>The handler definition.</dd>
+
+							</dl>
+
+
+
+
+
+
+
+					<hr />
+
+					<a name="get"> </a>
+					<div class="fixedFont" style="float:left">
+
+					<span class="light">{Undefined}</span>
+					<b>get</b>(name)
+
+					</div>
+
+
+						<div style="float:right">
+							<span class="heading">Since:</span>
+								3.0
+						</div>
+
+					<div style="clear:both"></div>
+
+
+					<div class="description">
+						Gets a UI object.
+
+
+					</div>
+
+
+
+
+
+
+
+
+							<dl class="detailList">
+							<dt class="heading">Parameters:</dt>
+
+								<dt>
+									<span class="light fixedFont">{String}</span> <b>name</b>
+
+								</dt>
+								<dd>The UI item hame.</dd>
+
+							</dl>
+
+
+
+
+
+
+
+
+
+
+
+			<hr />
+		</div>
+
+<!-- ============================== footer ================================= -->
+		<div class="fineprint" style="clear:both">
+
+			Documentation generated by <a rel="nofollow" href="http://www.jsdoctoolkit.org/" target="_blank">JsDoc Toolkit</a>
+		</div>
+	</body>
+</html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.xml.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.xml.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/CKEDITOR.xml.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/_global_.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/_global_.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/_global_.html	(revision 2278)
@@ -198,4 +198,6 @@
 	<li><a href="../symbols/CKEDITOR.ajax.html">CKEDITOR.ajax</a></li>
 
+
+
 	<li><a href="../symbols/CKEDITOR.config.html">CKEDITOR.config</a></li>
 
@@ -245,4 +247,10 @@
 
 	<li><a href="../symbols/CKEDITOR.tools.html">CKEDITOR.tools</a></li>
+
+
+
+
+
+
 
 
@@ -265,4 +273,8 @@
 
 		<li>
+			<a href="../symbols/CKEDITOR.commandDefinition.html">CKEDITOR.commandDefinition</a>
+		</li>
+
+		<li>
 
 		</li>
@@ -358,4 +370,16 @@
 		<li>
 
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.html">CKEDITOR.ui</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.button.html">CKEDITOR.ui.button</a>
+		</li>
+
+		<li>
+			<a href="../symbols/CKEDITOR.ui.handlerDefinition.html">CKEDITOR.ui.handlerDefinition</a>
 		</li>
 
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__commandDefinition.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__commandDefinition.js.html	(revision 2278)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__commandDefinition.js.html	(revision 2278)
@@ -0,0 +1,59 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
+	.KEYW {color: #933;}
+	.COMM {color: #bbb; font-style: italic;}
+	.NUMB {color: #393;}
+	.STRN {color: #393;}
+	.REGX {color: #339;}
+	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
+	</style></head><body><pre><span class='line'>  1</span> <span class="TOKN">﻿</span><span class="COMM">/*
+<span class='line'>  2</span>  * CKEditor - The text editor for Internet - http://ckeditor.com
+<span class='line'>  3</span>  * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+<span class='line'>  4</span>  *
+<span class='line'>  5</span>  * == BEGIN LICENSE ==
+<span class='line'>  6</span>  *
+<span class='line'>  7</span>  * Licensed under the terms of any of the following licenses at your
+<span class='line'>  8</span>  * choice:
+<span class='line'>  9</span>  *
+<span class='line'> 10</span>  *  - GNU General Public License Version 2 or later (the "GPL")
+<span class='line'> 11</span>  *    http://www.gnu.org/licenses/gpl.html
+<span class='line'> 12</span>  *
+<span class='line'> 13</span>  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+<span class='line'> 14</span>  *    http://www.gnu.org/licenses/lgpl.html
+<span class='line'> 15</span>  *
+<span class='line'> 16</span>  *  - Mozilla Public License Version 1.1 or later (the "MPL")
+<span class='line'> 17</span>  *    http://www.mozilla.org/MPL/MPL-1.1.html
+<span class='line'> 18</span>  *
+<span class='line'> 19</span>  * == END LICENSE ==
+<span class='line'> 20</span>  */</span><span class="WHIT">
+<span class='line'> 21</span>
+<span class='line'> 22</span> </span><span class="COMM">/**
+<span class='line'> 23</span>  * @fileOverview Defines the "virtual" {@link CKEDITOR.commandDefinition} class,
+<span class='line'> 24</span>  *		which contains the defintion of a command. This file is for
+<span class='line'> 25</span>  *		documentation purposes only.
+<span class='line'> 26</span>  */</span><span class="WHIT">
+<span class='line'> 27</span>
+<span class='line'> 28</span> </span><span class="COMM">/**
+<span class='line'> 29</span>  * (Virtual Class) Do not call this constructor. This class is not really part
+<span class='line'> 30</span>  *		of the API. It just illustrates the features of command objects to be
+<span class='line'> 31</span>  *		passed to the {@link CKEDITOR.editor.prototype.addCommand} function.
+<span class='line'> 32</span>  * @name CKEDITOR.commandDefinition
+<span class='line'> 33</span>  * @constructor
+<span class='line'> 34</span>  * @example
+<span class='line'> 35</span>  */</span><span class="WHIT">
+<span class='line'> 36</span>
+<span class='line'> 37</span> </span><span class="WHIT"> </span><span class="COMM">/**
+<span class='line'> 38</span>  * Executes the command.
+<span class='line'> 39</span>  * @name CKEDITOR.commandDefinition.prototype.exec
+<span class='line'> 40</span>  * @function
+<span class='line'> 41</span>  * @param {CKEDITOR.editor} editor The editor within which run the command.
+<span class='line'> 42</span>  * @param {Object} [data] Additional data to be used to execute the command.
+<span class='line'> 43</span>  * @example
+<span class='line'> 44</span>  * editorInstance.addCommand( 'sample',
+<span class='line'> 45</span>  * {
+<span class='line'> 46</span>  *     exec : function( editor )
+<span class='line'> 47</span>  *     {
+<span class='line'> 48</span>  *         alert( 'Executing a command for the editor name "' + editor.name + '"!' );
+<span class='line'> 49</span>  *     }
+<span class='line'> 50</span>  * });
+<span class='line'> 51</span>  */</span><span class="WHIT">
+<span class='line'> 52</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__config.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__config.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__config.js.html	(revision 2278)
@@ -143,5 +143,5 @@
 <span class='line'>136</span> 	 * config.plugins = 'editingblock,toolbar,wysiwygarea';
 <span class='line'>137</span> 	 */</span><span class="WHIT">
-<span class='line'>138</span> </span><span class="WHIT">	</span><span class="NAME">plugins</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'basicstyles,editingblock,elementspath,htmldataprocessor,selection,sourcearea,toolbar,wysiwygarea'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>138</span> </span><span class="WHIT">	</span><span class="NAME">plugins</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'basicstyles,button,editingblock,elementspath,htmldataprocessor,selection,sourcearea,toolbar,wysiwygarea'</span><span class="PUNC">,</span><span class="WHIT">
 <span class='line'>139</span>
 <span class='line'>140</span> </span><span class="WHIT">	</span><span class="COMM">/**
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__dom_element.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__dom_element.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__dom_element.js.html	(revision 2278)
@@ -501,5 +501,51 @@
 <span class='line'>494</span> </span><span class="WHIT">				</span><span class="NAME">this.setStyle</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">stylesPairs</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
 <span class='line'>495</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>496</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>497</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>498</span> </span></pre></body></html>
+<span class='line'>496</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>497</span>
+<span class='line'>498</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>499</span> 		 * Makes the element unselectable.
+<span class='line'>500</span> 		 * @function
+<span class='line'>501</span> 		 * @example
+<span class='line'>502</span> 		 * var element = CKEDITOR.dom.element.getById( 'myElement' );
+<span class='line'>503</span> 		 * element.unselectable();
+<span class='line'>504</span> 		 */</span><span class="WHIT">
+<span class='line'>505</span> </span><span class="WHIT">		</span><span class="NAME">unselectable</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>506</span> </span><span class="WHIT">			</span><span class="NAME">CKEDITOR.env.gecko</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
+<span class='line'>507</span> </span><span class="WHIT">				</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>508</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>509</span> </span><span class="WHIT">					</span><span class="NAME">this.$.style.MozUserSelect</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>510</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>511</span> </span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.webkit</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
+<span class='line'>512</span> </span><span class="WHIT">				</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>513</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>514</span> </span><span class="WHIT">					</span><span class="NAME">this.$.style.KhtmlUserSelect</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>515</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>516</span> </span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>517</span> </span><span class="WHIT">				</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>518</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>519</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.opera</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>520</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>521</span> </span><span class="WHIT">						</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.$</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>522</span> </span><span class="WHIT">							</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>523</span> </span><span class="WHIT">							</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>524</span>
+<span class='line'>525</span> </span><span class="WHIT">						</span><span class="NAME">element.unselectable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'on'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>526</span>
+<span class='line'>527</span> </span><span class="WHIT">						</span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.all</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>528</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>529</span> </span><span class="WHIT">							</span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.tagName.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>530</span> </span><span class="WHIT">							</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>531</span> </span><span class="WHIT">								</span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">'iframe'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>532</span> </span><span class="WHIT">								</span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">'textarea'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>533</span> </span><span class="WHIT">								</span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">'input'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>534</span> </span><span class="WHIT">								</span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">'select'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>535</span> </span><span class="WHIT">									</span><span class="COMM">/* Ignore the above tags */</span><span class="WHIT">
+<span class='line'>536</span> </span><span class="WHIT">									</span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>537</span> </span><span class="WHIT">								</span><span class="KEYW">default</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>538</span> </span><span class="WHIT">									</span><span class="NAME">e.unselectable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'on'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>539</span> </span><span class="WHIT">							</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>540</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>541</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>542</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>543</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>544</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__editor.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__editor.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__editor.js.html	(revision 2278)
@@ -155,172 +155,200 @@
 <span class='line'>148</span> </span><span class="WHIT">				</span><span class="NAME">editor.plugins</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">plugins</span><span class="PUNC">;</span><span class="WHIT">
 <span class='line'>149</span>
-<span class='line'>150</span> </span><span class="WHIT">				</span><span class="COMM">// Initialize all plugins that have the "init" method defined.</span><span class="WHIT">
-<span class='line'>151</span> </span><span class="WHIT">				</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">plugins.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>152</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>153</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">pluginName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">plugins</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>154</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">plugin</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.plugins.get</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">pluginName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>155</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">plugin</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">plugin.init</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>156</span> </span><span class="WHIT">						</span><span class="NAME">plugin.init</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.plugins.getPath</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">pluginName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>157</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>158</span>
-<span class='line'>159</span> </span><span class="WHIT">				</span><span class="COMM">// Load the editor skin and theme.</span><span class="WHIT">
-<span class='line'>160</span> </span><span class="WHIT">				</span><span class="NAME">loadSkinTheme</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>161</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>162</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>163</span>
-<span class='line'>164</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">loadSkinTheme</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>165</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>166</span> </span><span class="WHIT">		</span><span class="COMM">// Load the skin.</span><span class="WHIT">
-<span class='line'>167</span> </span><span class="WHIT">		</span><span class="NAME">CKEDITOR.skins.load</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor.config.skin</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'editor'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>168</span>
-<span class='line'>169</span> </span><span class="WHIT">		</span><span class="COMM">// Load the theme.</span><span class="WHIT">
-<span class='line'>170</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">theme</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor.config.theme</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>171</span> </span><span class="WHIT">		</span><span class="NAME">CKEDITOR.themes.load</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">theme</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>172</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>173</span> </span><span class="WHIT">				</span><span class="NAME">CKEDITOR.themes.get</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">theme</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">build</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.themes.getPath</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">theme</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>174</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>175</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>176</span>
-<span class='line'>177</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">instanceConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>178</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>179</span> </span><span class="WHIT">		</span><span class="NAME">this._</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
-<span class='line'>180</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>181</span> </span><span class="WHIT">			</span><span class="NAME">commands</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>182</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>183</span>
-<span class='line'>184</span> </span><span class="WHIT">		</span><span class="COMM">// Call the base constructor.</span><span class="WHIT">
-<span class='line'>185</span> </span><span class="WHIT">		</span><span class="NAME">CKEDITOR.event.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>186</span>
-<span class='line'>187</span> </span><span class="WHIT">		</span><span class="COMM">/**
-<span class='line'>188</span> 		 * The DOM element that has been replaced by this editor instance. This
-<span class='line'>189</span> 		 * element holds the editor data on load and post.
-<span class='line'>190</span> 		 * @name CKEDITOR.editor.prototype.element
-<span class='line'>191</span> 		 * @type CKEDITOR.dom.element
-<span class='line'>192</span> 		 * @example
-<span class='line'>193</span> 		 * var editor = CKEDITOR.instances.editor1;
-<span class='line'>194</span> 		 * alert( &lt;b>editor.element&lt;/b>.getName() );  "textarea"
-<span class='line'>195</span> 		 */</span><span class="WHIT">
-<span class='line'>196</span> </span><span class="WHIT">		</span><span class="NAME">this.element</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>197</span>
-<span class='line'>198</span> </span><span class="WHIT">		</span><span class="COMM">/**
-<span class='line'>199</span> 		 * The editor instance name. It hay be the replaced element id, name or
-<span class='line'>200</span> 		 * a default name using a progressive counter (editor1, editor2, ...).
-<span class='line'>201</span> 		 * @name CKEDITOR.editor.prototype.name
-<span class='line'>202</span> 		 * @type String
-<span class='line'>203</span> 		 * @example
-<span class='line'>204</span> 		 * var editor = CKEDITOR.instances.editor1;
-<span class='line'>205</span> 		 * alert( &lt;b>editor.name&lt;/b> );  "editor1"
-<span class='line'>206</span> 		 */</span><span class="WHIT">
-<span class='line'>207</span> </span><span class="WHIT">		</span><span class="NAME">this.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">element.getNameAtt</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">getNewName</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>208</span>
-<span class='line'>209</span> </span><span class="WHIT">		</span><span class="COMM">/**
-<span class='line'>210</span> 		 * The configurations for this editor instance. It inherits all
-<span class='line'>211</span> 		 * settings defined in (@link CKEDITOR.config}, combined with settings
-<span class='line'>212</span> 		 * loaded from custom configuration files and those defined inline in
-<span class='line'>213</span> 		 * the page when creating the editor.
-<span class='line'>214</span> 		 * @name CKEDITOR.editor.prototype.config
-<span class='line'>215</span> 		 * @type Object
-<span class='line'>216</span> 		 * @example
-<span class='line'>217</span> 		 * var editor = CKEDITOR.instances.editor1;
-<span class='line'>218</span> 		 * alert( &lt;b>editor.config.theme&lt;/b> );  "default" e.g.
-<span class='line'>219</span> 		 */</span><span class="WHIT">
-<span class='line'>220</span> </span><span class="WHIT">		</span><span class="NAME">this.config</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>221</span>
-<span class='line'>222</span> </span><span class="WHIT">		</span><span class="COMM">// Call initConfig using events, to be sure that instanceCreated is</span><span class="WHIT">
-<span class='line'>223</span> </span><span class="WHIT">		</span><span class="COMM">// fired first.</span><span class="WHIT">
-<span class='line'>224</span> </span><span class="WHIT">		</span><span class="NAME">this.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'instanceCreated'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>225</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>226</span> </span><span class="WHIT">				</span><span class="NAME">initConfig</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">instanceConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>227</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>228</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>229</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>230</span>
-<span class='line'>231</span> </span><span class="NAME">CKEDITOR.editor.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
-<span class='line'>232</span> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>233</span> </span><span class="WHIT">	</span><span class="NAME">addCommand</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">commandDefinition</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>234</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>235</span> </span><span class="WHIT">		</span><span class="NAME">this._.commands</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">commandDefinition</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>236</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>237</span>
-<span class='line'>238</span> </span><span class="WHIT">	</span><span class="NAME">execCommand</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>239</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>240</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">command</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>241</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">command</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>242</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">command.exec</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>243</span>
-<span class='line'>244</span> </span><span class="WHIT">		</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">'Unknown command name "'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'"'</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>245</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>246</span>
-<span class='line'>247</span> </span><span class="WHIT">	</span><span class="NAME">getCommand</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>248</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>249</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._.commands</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>250</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>251</span>
-<span class='line'>252</span> </span><span class="WHIT">	</span><span class="COMM">// Both fire and fireOnce will always pass this editor instance as the</span><span class="WHIT">
-<span class='line'>253</span> </span><span class="WHIT">	</span><span class="COMM">// "editor" param in CKEDITOR.event.fire. So, we override it to do that</span><span class="WHIT">
-<span class='line'>254</span> </span><span class="WHIT">	</span><span class="COMM">// automaticaly.</span><span class="WHIT">
-<span class='line'>255</span>
-<span class='line'>256</span> </span><span class="WHIT">	</span><span class="COMM">/** @ignore */</span><span class="WHIT">
-<span class='line'>257</span> </span><span class="WHIT">	</span><span class="NAME">fire</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">eventName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>258</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>259</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.event.prototype.fire.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">eventName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>260</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>261</span>
-<span class='line'>262</span> </span><span class="WHIT">	</span><span class="COMM">/** @ignore */</span><span class="WHIT">
-<span class='line'>263</span> </span><span class="WHIT">	</span><span class="NAME">fireOnce</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">eventName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>264</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>265</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.event.prototype.fireOnce.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">eventName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>266</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>267</span>
-<span class='line'>268</span> </span><span class="WHIT">	</span><span class="COMM">/**
-<span class='line'>269</span> 	 * Gets the editor data. The data will be in raw format. It is the same
-<span class='line'>270</span> 	 * data that is posted by the editor.
-<span class='line'>271</span> 	 * @type String
-<span class='line'>272</span> 	 * @returns (String) The editor data.
-<span class='line'>273</span> 	 * @example
-<span class='line'>274</span> 	 * if ( CKEDITOR.instances.editor1.&lt;b>getData()&lt;/b> == '' )
-<span class='line'>275</span> 	 *     alert( 'There is no data available' );
-<span class='line'>276</span> 	 */</span><span class="WHIT">
-<span class='line'>277</span> </span><span class="WHIT">	</span><span class="NAME">getData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>278</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>279</span> </span><span class="WHIT">		</span><span class="NAME">this.fire</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'beforeGetData'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>280</span>
-<span class='line'>281</span> </span><span class="WHIT">		</span><span class="COMM">// Fire "getData" so data manipulation may happen.</span><span class="WHIT">
-<span class='line'>282</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">eventData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">dataValue</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this._.data</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.element.$.value</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>283</span> </span><span class="WHIT">		</span><span class="NAME">this.fire</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'getData'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">eventData</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>284</span>
-<span class='line'>285</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">eventData.dataValue</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>286</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>287</span>
-<span class='line'>288</span> </span><span class="WHIT">	</span><span class="COMM">/**
-<span class='line'>289</span> 	 * Sets the editor data. The data must be provided in raw format.
-<span class='line'>290</span> 	 * @example
-<span class='line'>291</span> 	 * CKEDITOR.instances.editor1.&lt;b>setData( '&lt;p&gt;This is the editor data.&lt;/p&gt;' )&lt;/b>;
-<span class='line'>292</span> 	 */</span><span class="WHIT">
-<span class='line'>293</span> </span><span class="WHIT">	</span><span class="NAME">setData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>294</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>295</span> </span><span class="WHIT">		</span><span class="COMM">// Fire "setData" so data manipulation may happen.</span><span class="WHIT">
-<span class='line'>296</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">eventData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">dataValue</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>297</span> </span><span class="WHIT">		</span><span class="NAME">this.fire</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'setData'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">eventData</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>298</span>
-<span class='line'>299</span> </span><span class="WHIT">		</span><span class="NAME">this._.data</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">eventData.dataValue</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>300</span>
-<span class='line'>301</span> </span><span class="WHIT">		</span><span class="NAME">this.fire</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'afterSetData'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>302</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>303</span>
-<span class='line'>304</span> </span><span class="WHIT">	</span><span class="COMM">/**
-<span class='line'>305</span> 	 * Updates the &lt;textarea&gt; element that has been replaced by the editor with
-<span class='line'>306</span> 	 * the current data available in the editor.
-<span class='line'>307</span> 	 * @example
-<span class='line'>308</span> 	 * CKEDITOR.instances.editor1.updateElement();
-<span class='line'>309</span> 	 * alert( document.getElementById( 'editor1' ).value );  // The current editor data.
-<span class='line'>310</span> 	 */</span><span class="WHIT">
-<span class='line'>311</span> </span><span class="WHIT">	</span><span class="NAME">updateElement</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>312</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>313</span> </span><span class="WHIT">		</span><span class="NAME">this.element.$.value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getData</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>314</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>315</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>316</span>
-<span class='line'>317</span> </span><span class="COMM">// "Inherit" (copy actually) from CKEDITOR.event.</span><span class="WHIT">
-<span class='line'>318</span> </span><span class="NAME">CKEDITOR.event.implementOn</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.editor.prototype</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>319</span> </span></pre></body></html>
+<span class='line'>150</span> </span><span class="WHIT">				</span><span class="COMM">// Initialize all plugins that have the "beforeInit" and "init" methods defined.</span><span class="WHIT">
+<span class='line'>151</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">methods</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'beforeInit'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'init'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>152</span> </span><span class="WHIT">				</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">methods.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">m</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>153</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>154</span> </span><span class="WHIT">					</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">plugins.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>155</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>156</span> </span><span class="WHIT">						</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">pluginName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">plugins</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>157</span> </span><span class="WHIT">						</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">plugin</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.plugins.get</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">pluginName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>158</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">plugin</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">plugin</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">methods</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>159</span> </span><span class="WHIT">							</span><span class="NAME">plugin</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">methods</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.plugins.getPath</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">pluginName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>160</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>161</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>162</span>
+<span class='line'>163</span> </span><span class="WHIT">				</span><span class="COMM">// Load the editor skin and theme.</span><span class="WHIT">
+<span class='line'>164</span> </span><span class="WHIT">				</span><span class="NAME">loadSkinTheme</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>165</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>166</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>167</span>
+<span class='line'>168</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">loadSkinTheme</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>169</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>170</span> </span><span class="WHIT">		</span><span class="COMM">// Load the skin.</span><span class="WHIT">
+<span class='line'>171</span> </span><span class="WHIT">		</span><span class="NAME">CKEDITOR.skins.load</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor.config.skin</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'editor'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>172</span>
+<span class='line'>173</span> </span><span class="WHIT">		</span><span class="COMM">// Load the theme.</span><span class="WHIT">
+<span class='line'>174</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">theme</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor.config.theme</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>175</span> </span><span class="WHIT">		</span><span class="NAME">CKEDITOR.themes.load</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">theme</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>176</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>177</span> </span><span class="WHIT">				</span><span class="NAME">CKEDITOR.themes.get</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">theme</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">build</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.themes.getPath</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">theme</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>178</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>179</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>180</span>
+<span class='line'>181</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">instanceConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>182</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>183</span> </span><span class="WHIT">		</span><span class="NAME">this._</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'>184</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>185</span> </span><span class="WHIT">			</span><span class="NAME">commands</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>186</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>187</span>
+<span class='line'>188</span> </span><span class="WHIT">		</span><span class="COMM">// Call the base constructor.</span><span class="WHIT">
+<span class='line'>189</span> </span><span class="WHIT">		</span><span class="NAME">CKEDITOR.event.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>190</span>
+<span class='line'>191</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>192</span> 		 * The DOM element that has been replaced by this editor instance. This
+<span class='line'>193</span> 		 * element holds the editor data on load and post.
+<span class='line'>194</span> 		 * @name CKEDITOR.editor.prototype.element
+<span class='line'>195</span> 		 * @type CKEDITOR.dom.element
+<span class='line'>196</span> 		 * @example
+<span class='line'>197</span> 		 * var editor = CKEDITOR.instances.editor1;
+<span class='line'>198</span> 		 * alert( &lt;b>editor.element&lt;/b>.getName() );  "textarea"
+<span class='line'>199</span> 		 */</span><span class="WHIT">
+<span class='line'>200</span> </span><span class="WHIT">		</span><span class="NAME">this.element</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>201</span>
+<span class='line'>202</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>203</span> 		 * The editor instance name. It hay be the replaced element id, name or
+<span class='line'>204</span> 		 * a default name using a progressive counter (editor1, editor2, ...).
+<span class='line'>205</span> 		 * @name CKEDITOR.editor.prototype.name
+<span class='line'>206</span> 		 * @type String
+<span class='line'>207</span> 		 * @example
+<span class='line'>208</span> 		 * var editor = CKEDITOR.instances.editor1;
+<span class='line'>209</span> 		 * alert( &lt;b>editor.name&lt;/b> );  "editor1"
+<span class='line'>210</span> 		 */</span><span class="WHIT">
+<span class='line'>211</span> </span><span class="WHIT">		</span><span class="NAME">this.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">element.getNameAtt</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">getNewName</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>212</span>
+<span class='line'>213</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>214</span> 		 * The configurations for this editor instance. It inherits all
+<span class='line'>215</span> 		 * settings defined in (@link CKEDITOR.config}, combined with settings
+<span class='line'>216</span> 		 * loaded from custom configuration files and those defined inline in
+<span class='line'>217</span> 		 * the page when creating the editor.
+<span class='line'>218</span> 		 * @name CKEDITOR.editor.prototype.config
+<span class='line'>219</span> 		 * @type Object
+<span class='line'>220</span> 		 * @example
+<span class='line'>221</span> 		 * var editor = CKEDITOR.instances.editor1;
+<span class='line'>222</span> 		 * alert( &lt;b>editor.config.theme&lt;/b> );  "default" e.g.
+<span class='line'>223</span> 		 */</span><span class="WHIT">
+<span class='line'>224</span> </span><span class="WHIT">		</span><span class="NAME">this.config</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>225</span>
+<span class='line'>226</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>227</span> 		 * Namespace containing UI features related to this editor instance.
+<span class='line'>228</span> 		 * @name CKEDITOR.editor.prototype.ui
+<span class='line'>229</span> 		 * @type CKEDITOR.ui
+<span class='line'>230</span> 		 * @example
+<span class='line'>231</span> 		 */</span><span class="WHIT">
+<span class='line'>232</span> </span><span class="WHIT">		</span><span class="NAME">this.ui</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.ui</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>233</span>
+<span class='line'>234</span> </span><span class="WHIT">		</span><span class="COMM">// Call initConfig using events, to be sure that instanceCreated is</span><span class="WHIT">
+<span class='line'>235</span> </span><span class="WHIT">		</span><span class="COMM">// fired first.</span><span class="WHIT">
+<span class='line'>236</span> </span><span class="WHIT">		</span><span class="NAME">this.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'instanceCreated'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>237</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>238</span> </span><span class="WHIT">				</span><span class="NAME">initConfig</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">instanceConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>239</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>240</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>241</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>242</span>
+<span class='line'>243</span> </span><span class="NAME">CKEDITOR.editor.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'>244</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>245</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'>246</span> 	 * Adds a command definition to the editor instance. Commands added with
+<span class='line'>247</span> 	 * this function can be later executed with {@link #execCommand}.
+<span class='line'>248</span> 	 * @param {String} commandName The indentifier name of the command.
+<span class='line'>249</span> 	 * @param {CKEDITOR.commandDefinition} commandDefinition The command definition.
+<span class='line'>250</span> 	 * @example
+<span class='line'>251</span> 	 * editorInstance.addCommand( 'sample',
+<span class='line'>252</span> 	 * {
+<span class='line'>253</span> 	 *     exec : function( editor )
+<span class='line'>254</span> 	 *     {
+<span class='line'>255</span> 	 *         alert( 'Executing a command for the editor name "' + editor.name + '"!' );
+<span class='line'>256</span> 	 *     }
+<span class='line'>257</span> 	 * });
+<span class='line'>258</span> 	 */</span><span class="WHIT">
+<span class='line'>259</span> </span><span class="WHIT">	</span><span class="NAME">addCommand</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">commandDefinition</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>260</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>261</span> </span><span class="WHIT">		</span><span class="NAME">this._.commands</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">commandDefinition</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>262</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>263</span>
+<span class='line'>264</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'>265</span> 	 * Executes a command.
+<span class='line'>266</span> 	 * @param {String} commandName The indentifier name of the command.
+<span class='line'>267</span> 	 * @param {Object} [data] Data to be passed to the command
+<span class='line'>268</span> 	 * @example
+<span class='line'>269</span> 	 * editorInstance.execCommand( 'Bold' );
+<span class='line'>270</span> 	 */</span><span class="WHIT">
+<span class='line'>271</span> </span><span class="WHIT">	</span><span class="NAME">execCommand</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>272</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>273</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">command</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._.commands</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>274</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">command</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>275</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">command.exec</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>276</span>
+<span class='line'>277</span> </span><span class="WHIT">		</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">'Unknown command name "'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">commandName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'"'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>278</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>279</span>
+<span class='line'>280</span> </span><span class="WHIT">	</span><span class="COMM">// Both fire and fireOnce will always pass this editor instance as the</span><span class="WHIT">
+<span class='line'>281</span> </span><span class="WHIT">	</span><span class="COMM">// "editor" param in CKEDITOR.event.fire. So, we override it to do that</span><span class="WHIT">
+<span class='line'>282</span> </span><span class="WHIT">	</span><span class="COMM">// automaticaly.</span><span class="WHIT">
+<span class='line'>283</span>
+<span class='line'>284</span> </span><span class="WHIT">	</span><span class="COMM">/** @ignore */</span><span class="WHIT">
+<span class='line'>285</span> </span><span class="WHIT">	</span><span class="NAME">fire</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">eventName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>286</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>287</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.event.prototype.fire.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">eventName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>288</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>289</span>
+<span class='line'>290</span> </span><span class="WHIT">	</span><span class="COMM">/** @ignore */</span><span class="WHIT">
+<span class='line'>291</span> </span><span class="WHIT">	</span><span class="NAME">fireOnce</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">eventName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>292</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>293</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.event.prototype.fireOnce.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">eventName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>294</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>295</span>
+<span class='line'>296</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'>297</span> 	 * Gets the editor data. The data will be in raw format. It is the same
+<span class='line'>298</span> 	 * data that is posted by the editor.
+<span class='line'>299</span> 	 * @type String
+<span class='line'>300</span> 	 * @returns (String) The editor data.
+<span class='line'>301</span> 	 * @example
+<span class='line'>302</span> 	 * if ( CKEDITOR.instances.editor1.&lt;b>getData()&lt;/b> == '' )
+<span class='line'>303</span> 	 *     alert( 'There is no data available' );
+<span class='line'>304</span> 	 */</span><span class="WHIT">
+<span class='line'>305</span> </span><span class="WHIT">	</span><span class="NAME">getData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>306</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>307</span> </span><span class="WHIT">		</span><span class="NAME">this.fire</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'beforeGetData'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>308</span>
+<span class='line'>309</span> </span><span class="WHIT">		</span><span class="COMM">// Fire "getData" so data manipulation may happen.</span><span class="WHIT">
+<span class='line'>310</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">eventData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">dataValue</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this._.data</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.element.$.value</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>311</span> </span><span class="WHIT">		</span><span class="NAME">this.fire</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'getData'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">eventData</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>312</span>
+<span class='line'>313</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">eventData.dataValue</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>314</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>315</span>
+<span class='line'>316</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'>317</span> 	 * Sets the editor data. The data must be provided in raw format.
+<span class='line'>318</span> 	 * @example
+<span class='line'>319</span> 	 * CKEDITOR.instances.editor1.&lt;b>setData( '&lt;p&gt;This is the editor data.&lt;/p&gt;' )&lt;/b>;
+<span class='line'>320</span> 	 */</span><span class="WHIT">
+<span class='line'>321</span> </span><span class="WHIT">	</span><span class="NAME">setData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>322</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>323</span> </span><span class="WHIT">		</span><span class="COMM">// Fire "setData" so data manipulation may happen.</span><span class="WHIT">
+<span class='line'>324</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">eventData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">dataValue</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>325</span> </span><span class="WHIT">		</span><span class="NAME">this.fire</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'setData'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">eventData</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>326</span>
+<span class='line'>327</span> </span><span class="WHIT">		</span><span class="NAME">this._.data</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">eventData.dataValue</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>328</span>
+<span class='line'>329</span> </span><span class="WHIT">		</span><span class="NAME">this.fire</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'afterSetData'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>330</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>331</span>
+<span class='line'>332</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'>333</span> 	 * Updates the &lt;textarea&gt; element that has been replaced by the editor with
+<span class='line'>334</span> 	 * the current data available in the editor.
+<span class='line'>335</span> 	 * @example
+<span class='line'>336</span> 	 * CKEDITOR.instances.editor1.updateElement();
+<span class='line'>337</span> 	 * alert( document.getElementById( 'editor1' ).value );  // The current editor data.
+<span class='line'>338</span> 	 */</span><span class="WHIT">
+<span class='line'>339</span> </span><span class="WHIT">	</span><span class="NAME">updateElement</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>340</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>341</span> </span><span class="WHIT">		</span><span class="NAME">this.element.$.value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getData</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>342</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>343</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>344</span>
+<span class='line'>345</span> </span><span class="COMM">// "Inherit" (copy actually) from CKEDITOR.event.</span><span class="WHIT">
+<span class='line'>346</span> </span><span class="NAME">CKEDITOR.event.implementOn</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.editor.prototype</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>347</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__loader.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__loader.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__loader.js.html	(revision 2278)
@@ -61,5 +61,5 @@
 <span class='line'> 54</span> </span><span class="WHIT">		</span><span class="STRN">'core/dom/text'</span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'core/dom/node'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/dom/domobject'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
 <span class='line'> 55</span> </span><span class="WHIT">		</span><span class="STRN">'core/dom/window'</span><span class="WHIT">		</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'core/dom/domobject'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 56</span> </span><span class="WHIT">		</span><span class="STRN">'core/editor'</span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'core/config'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/event'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/plugins'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/skins'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/themes'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/tools'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 56</span> </span><span class="WHIT">		</span><span class="STRN">'core/editor'</span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'core/config'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/event'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/plugins'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/skins'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/themes'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/tools'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/ui'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
 <span class='line'> 57</span> </span><span class="WHIT">		</span><span class="STRN">'core/env'</span><span class="WHIT">				</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
 <span class='line'> 58</span> </span><span class="WHIT">		</span><span class="STRN">'core/event'</span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
@@ -70,123 +70,124 @@
 <span class='line'> 63</span> </span><span class="WHIT">		</span><span class="STRN">'core/themes'</span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'lang/en'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'core/resourceManager'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
 <span class='line'> 64</span> </span><span class="WHIT">		</span><span class="STRN">'core/tools'</span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'core/env'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 65</span> </span><span class="WHIT">		</span><span class="STRN">'core/xml'</span><span class="WHIT">				</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'core/env'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT">
-<span class='line'> 66</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 67</span>
-<span class='line'> 68</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">basePath</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 69</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 70</span> </span><span class="WHIT">		</span><span class="COMM">// This is a copy of CKEDITOR.basePath, but requires the script having</span><span class="WHIT">
-<span class='line'> 71</span> </span><span class="WHIT">		</span><span class="COMM">// "_source/core/loader.js".</span><span class="WHIT">
-<span class='line'> 72</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.basePath</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 73</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.basePath</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 74</span>
-<span class='line'> 75</span> </span><span class="WHIT">		</span><span class="COMM">// Find out the editor directory path, based on its &lt;script> tag.</span><span class="WHIT">
-<span class='line'> 76</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 77</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">scripts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementsByTagName</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'script'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 78</span>
-<span class='line'> 79</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">scripts.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 80</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 81</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">match</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scripts</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">src.match</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="REGX">/(^|.*[\\\/])core\/loader.js(?:\?.*)?$/i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 82</span>
-<span class='line'> 83</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">match</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 84</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 85</span> </span><span class="WHIT">				</span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">match</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 86</span> </span><span class="WHIT">				</span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 87</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 88</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 89</span>
-<span class='line'> 90</span> </span><span class="WHIT">		</span><span class="COMM">// In IE (only) the script.src string is the raw valued entered in the</span><span class="WHIT">
-<span class='line'> 91</span> </span><span class="WHIT">		</span><span class="COMM">// HTML. Other browsers return the full resolved URL instead.</span><span class="WHIT">
-<span class='line'> 92</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">path.indexOf</span><span class="PUNC">(</span><span class="STRN">'://'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 93</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 94</span> </span><span class="WHIT">			</span><span class="COMM">// Absolute path.</span><span class="WHIT">
-<span class='line'> 95</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">path.indexOf</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'/'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 96</span> </span><span class="WHIT">				</span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">location.href.match</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="REGX">/^.*?:\/\/[^\/]*/</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 97</span> </span><span class="WHIT">			</span><span class="COMM">// Relative path.</span><span class="WHIT">
-<span class='line'> 98</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
-<span class='line'> 99</span> </span><span class="WHIT">				</span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">location.href.match</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="REGX">/^[^\?]*\//</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>100</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>101</span>
-<span class='line'>102</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>103</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>104</span>
-<span class='line'>105</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">timestamp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.timestamp</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Date</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">valueOf</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">	</span><span class="COMM">// @Packager.RemoveLine</span><span class="WHIT">
-<span class='line'>106</span> </span><span class="WHIT">	</span><span class="COMM">/*																				// @Packager.RemoveLine
-<span class='line'>107</span> 	 * The production implementation contains a fixed timestamp						// @Packager.RemoveLine
-<span class='line'>108</span> 	 * generated by the releaser													// @Packager.RemoveLine
-<span class='line'>109</span> 	var timestamp = '%TIMESTAMP%';
-<span class='line'>110</span> 	 */</span><span class="WHIT">																				</span><span class="COMM">// @Packager.RemoveLine</span><span class="WHIT">
-<span class='line'>111</span>
-<span class='line'>112</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">getUrl</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">resource</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>113</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>114</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.getUrl</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>115</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.getUrl</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">resource</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>116</span>
-<span class='line'>117</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">basePath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">resource</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
-<span class='line'>118</span> </span><span class="WHIT">			</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">resource.indexOf</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'?'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'&'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'?'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
-<span class='line'>119</span> </span><span class="WHIT">			</span><span class="STRN">'t='</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">timestamp</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>120</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>121</span>
-<span class='line'>122</span> </span><span class="WHIT">	</span><span class="COMM">/** @lends CKEDITOR.loader */</span><span class="WHIT">
-<span class='line'>123</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>124</span> </span><span class="WHIT">		</span><span class="COMM">/**
-<span class='line'>125</span> 		 * The list of loaded scripts in their loading order.
-<span class='line'>126</span> 		 * @type Array
-<span class='line'>127</span> 		 * @example
-<span class='line'>128</span> 		 * // Alert the loaded script names.
-<span class='line'>129</span> 		 * alert( &lt;b>CKEDITOR.loader.loadedScripts&lt;/b> );
-<span class='line'>130</span> 		 */</span><span class="WHIT">
-<span class='line'>131</span> </span><span class="WHIT">		</span><span class="NAME">loadedScripts</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>132</span>
-<span class='line'>133</span> </span><span class="WHIT">		</span><span class="COMM">/**
-<span class='line'>134</span> 		 * Loads a specific script, including its dependencies. This is not a
-<span class='line'>135</span> 		 * synchronous loading, which means that the code the be loaded will
-<span class='line'>136</span> 		 * not necessarily be available after this call.
-<span class='line'>137</span> 		 * @example
-<span class='line'>138</span> 		 * CKEDITOR.loader.load( 'core/dom/element' );
-<span class='line'>139</span> 		 */</span><span class="WHIT">
-<span class='line'>140</span> </span><span class="WHIT">		</span><span class="NAME">load</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>141</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>142</span> </span><span class="WHIT">			</span><span class="COMM">// Check if the script has already been loaded.</span><span class="WHIT">
-<span class='line'>143</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">this.loadedScripts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>144</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>145</span>
-<span class='line'>146</span> </span><span class="WHIT">			</span><span class="COMM">// Get the script dependencies list.</span><span class="WHIT">
-<span class='line'>147</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dependencies</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scripts</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>148</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">dependencies</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>149</span> </span><span class="WHIT">				</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">'The script name"'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'" is not defined.'</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>150</span>
-<span class='line'>151</span> </span><span class="WHIT">			</span><span class="COMM">// Mark the script as loaded, even before really loading it, to</span><span class="WHIT">
-<span class='line'>152</span> </span><span class="WHIT">			</span><span class="COMM">// avoid cross references recursion.</span><span class="WHIT">
-<span class='line'>153</span> </span><span class="WHIT">			</span><span class="NAME">this.loadedScripts</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>154</span>
-<span class='line'>155</span> </span><span class="WHIT">			</span><span class="COMM">// Load all dependencies first.</span><span class="WHIT">
-<span class='line'>156</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">dependencies.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>157</span> </span><span class="WHIT">				</span><span class="NAME">this.load</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">dependencies</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>158</span>
-<span class='line'>159</span> </span><span class="WHIT">			</span><span class="COMM">// Append this script to the list of loaded scripts.</span><span class="WHIT">
-<span class='line'>160</span> </span><span class="WHIT">			</span><span class="NAME">this.loadedScripts.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>161</span>
-<span class='line'>162</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">scriptSrc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">getUrl</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'_source/'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'.js'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>163</span>
-<span class='line'>164</span> </span><span class="WHIT">			</span><span class="COMM">// Append the &lt;script> element to the DOM.</span><span class="WHIT">
-<span class='line'>165</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">document.body</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>166</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>167</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">script</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'script'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>168</span> </span><span class="WHIT">				</span><span class="NAME">script.type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'text/javascript'</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>169</span> </span><span class="WHIT">				</span><span class="NAME">script.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scriptSrc</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>170</span>
-<span class='line'>171</span> </span><span class="WHIT">				</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">script</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>172</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>173</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
-<span class='line'>174</span> </span><span class="WHIT">				</span><span class="NAME">document.write</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;script src="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">scriptSrc</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'" type="text/javascript">&lt;\/script>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>175</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>176</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>177</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>178</span>
-<span class='line'>179</span> </span><span class="COMM">// Check if any script has been defined for autoload.</span><span class="WHIT">
-<span class='line'>180</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR._autoLoad</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>181</span> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>182</span> </span><span class="WHIT">	</span><span class="NAME">CKEDITOR.loader.load</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR._autoLoad</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>183</span> </span><span class="WHIT">	</span><span class="KEYW">delete</span><span class="WHIT"> </span><span class="NAME">CKEDITOR._autoLoad</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>184</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>185</span> </span></pre></body></html>
+<span class='line'> 65</span> </span><span class="WHIT">		</span><span class="STRN">'core/ui'</span><span class="WHIT">				</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 66</span> </span><span class="WHIT">		</span><span class="STRN">'core/xml'</span><span class="WHIT">				</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'core/env'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT">
+<span class='line'> 67</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 68</span>
+<span class='line'> 69</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">basePath</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 70</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 71</span> </span><span class="WHIT">		</span><span class="COMM">// This is a copy of CKEDITOR.basePath, but requires the script having</span><span class="WHIT">
+<span class='line'> 72</span> </span><span class="WHIT">		</span><span class="COMM">// "_source/core/loader.js".</span><span class="WHIT">
+<span class='line'> 73</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.basePath</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 74</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.basePath</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 75</span>
+<span class='line'> 76</span> </span><span class="WHIT">		</span><span class="COMM">// Find out the editor directory path, based on its &lt;script> tag.</span><span class="WHIT">
+<span class='line'> 77</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">scripts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementsByTagName</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'script'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 79</span>
+<span class='line'> 80</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">scripts.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 81</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 82</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">match</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scripts</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">src.match</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="REGX">/(^|.*[\\\/])core\/loader.js(?:\?.*)?$/i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 83</span>
+<span class='line'> 84</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">match</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 85</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 86</span> </span><span class="WHIT">				</span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">match</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 87</span> </span><span class="WHIT">				</span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 88</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 89</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 90</span>
+<span class='line'> 91</span> </span><span class="WHIT">		</span><span class="COMM">// In IE (only) the script.src string is the raw valued entered in the</span><span class="WHIT">
+<span class='line'> 92</span> </span><span class="WHIT">		</span><span class="COMM">// HTML. Other browsers return the full resolved URL instead.</span><span class="WHIT">
+<span class='line'> 93</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">path.indexOf</span><span class="PUNC">(</span><span class="STRN">'://'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 94</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 95</span> </span><span class="WHIT">			</span><span class="COMM">// Absolute path.</span><span class="WHIT">
+<span class='line'> 96</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">path.indexOf</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'/'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 97</span> </span><span class="WHIT">				</span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">location.href.match</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="REGX">/^.*?:\/\/[^\/]*/</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 98</span> </span><span class="WHIT">			</span><span class="COMM">// Relative path.</span><span class="WHIT">
+<span class='line'> 99</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>100</span> </span><span class="WHIT">				</span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">location.href.match</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="REGX">/^[^\?]*\//</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>101</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>102</span>
+<span class='line'>103</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>104</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>105</span>
+<span class='line'>106</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">timestamp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.timestamp</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Date</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">valueOf</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">	</span><span class="COMM">// @Packager.RemoveLine</span><span class="WHIT">
+<span class='line'>107</span> </span><span class="WHIT">	</span><span class="COMM">/*																				// @Packager.RemoveLine
+<span class='line'>108</span> 	 * The production implementation contains a fixed timestamp						// @Packager.RemoveLine
+<span class='line'>109</span> 	 * generated by the releaser													// @Packager.RemoveLine
+<span class='line'>110</span> 	var timestamp = '%TIMESTAMP%';
+<span class='line'>111</span> 	 */</span><span class="WHIT">																				</span><span class="COMM">// @Packager.RemoveLine</span><span class="WHIT">
+<span class='line'>112</span>
+<span class='line'>113</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">getUrl</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">resource</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>114</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>115</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.getUrl</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>116</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.getUrl</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">resource</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>117</span>
+<span class='line'>118</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">basePath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">resource</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>119</span> </span><span class="WHIT">			</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">resource.indexOf</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'?'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'&'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'?'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>120</span> </span><span class="WHIT">			</span><span class="STRN">'t='</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">timestamp</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>121</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>122</span>
+<span class='line'>123</span> </span><span class="WHIT">	</span><span class="COMM">/** @lends CKEDITOR.loader */</span><span class="WHIT">
+<span class='line'>124</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>125</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>126</span> 		 * The list of loaded scripts in their loading order.
+<span class='line'>127</span> 		 * @type Array
+<span class='line'>128</span> 		 * @example
+<span class='line'>129</span> 		 * // Alert the loaded script names.
+<span class='line'>130</span> 		 * alert( &lt;b>CKEDITOR.loader.loadedScripts&lt;/b> );
+<span class='line'>131</span> 		 */</span><span class="WHIT">
+<span class='line'>132</span> </span><span class="WHIT">		</span><span class="NAME">loadedScripts</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>133</span>
+<span class='line'>134</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>135</span> 		 * Loads a specific script, including its dependencies. This is not a
+<span class='line'>136</span> 		 * synchronous loading, which means that the code the be loaded will
+<span class='line'>137</span> 		 * not necessarily be available after this call.
+<span class='line'>138</span> 		 * @example
+<span class='line'>139</span> 		 * CKEDITOR.loader.load( 'core/dom/element' );
+<span class='line'>140</span> 		 */</span><span class="WHIT">
+<span class='line'>141</span> </span><span class="WHIT">		</span><span class="NAME">load</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>142</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>143</span> </span><span class="WHIT">			</span><span class="COMM">// Check if the script has already been loaded.</span><span class="WHIT">
+<span class='line'>144</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">this.loadedScripts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>145</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>146</span>
+<span class='line'>147</span> </span><span class="WHIT">			</span><span class="COMM">// Get the script dependencies list.</span><span class="WHIT">
+<span class='line'>148</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dependencies</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scripts</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>149</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">dependencies</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>150</span> </span><span class="WHIT">				</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">'The script name"'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'" is not defined.'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>151</span>
+<span class='line'>152</span> </span><span class="WHIT">			</span><span class="COMM">// Mark the script as loaded, even before really loading it, to</span><span class="WHIT">
+<span class='line'>153</span> </span><span class="WHIT">			</span><span class="COMM">// avoid cross references recursion.</span><span class="WHIT">
+<span class='line'>154</span> </span><span class="WHIT">			</span><span class="NAME">this.loadedScripts</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>155</span>
+<span class='line'>156</span> </span><span class="WHIT">			</span><span class="COMM">// Load all dependencies first.</span><span class="WHIT">
+<span class='line'>157</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">dependencies.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>158</span> </span><span class="WHIT">				</span><span class="NAME">this.load</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">dependencies</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>159</span>
+<span class='line'>160</span> </span><span class="WHIT">			</span><span class="COMM">// Append this script to the list of loaded scripts.</span><span class="WHIT">
+<span class='line'>161</span> </span><span class="WHIT">			</span><span class="NAME">this.loadedScripts.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>162</span>
+<span class='line'>163</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">scriptSrc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">getUrl</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'_source/'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">scriptName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'.js'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>164</span>
+<span class='line'>165</span> </span><span class="WHIT">			</span><span class="COMM">// Append the &lt;script> element to the DOM.</span><span class="WHIT">
+<span class='line'>166</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">document.body</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>167</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>168</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">script</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'script'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>169</span> </span><span class="WHIT">				</span><span class="NAME">script.type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'text/javascript'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>170</span> </span><span class="WHIT">				</span><span class="NAME">script.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scriptSrc</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>171</span>
+<span class='line'>172</span> </span><span class="WHIT">				</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">script</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>173</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>174</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>175</span> </span><span class="WHIT">				</span><span class="NAME">document.write</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;script src="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">scriptSrc</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'" type="text/javascript">&lt;\/script>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>176</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>177</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>178</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>179</span>
+<span class='line'>180</span> </span><span class="COMM">// Check if any script has been defined for autoload.</span><span class="WHIT">
+<span class='line'>181</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR._autoLoad</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>182</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>183</span> </span><span class="WHIT">	</span><span class="NAME">CKEDITOR.loader.load</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR._autoLoad</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>184</span> </span><span class="WHIT">	</span><span class="KEYW">delete</span><span class="WHIT"> </span><span class="NAME">CKEDITOR._autoLoad</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>185</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>186</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__pluginDefinition.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__pluginDefinition.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__pluginDefinition.js.html	(revision 2278)
@@ -34,28 +34,47 @@
 <span class='line'> 27</span>
 <span class='line'> 28</span> </span><span class="COMM">/**
-<span class='line'> 29</span>  * This class is not really part of the API. It just illustrates the features
-<span class='line'> 30</span>  *		of plugin objects to passed to the {@link CKEDITOR.plugins.add} function.
-<span class='line'> 31</span>  * @name CKEDITOR.pluginDefinition
-<span class='line'> 32</span>  * @constructor
-<span class='line'> 33</span>  * @example
-<span class='line'> 34</span>  * // Do not do this.
-<span class='line'> 35</span>  * var myEvent = new CKEDITOR.pluginDefinition();  // Error: CKEDITOR.pluginDefinition is undefined
-<span class='line'> 36</span>  */</span><span class="WHIT">
-<span class='line'> 37</span>
-<span class='line'> 38</span> </span><span class="WHIT"> </span><span class="COMM">/**
-<span class='line'> 39</span>  * Function called on initialization of every editor instance created in the
-<span class='line'> 40</span>  * page.
-<span class='line'> 41</span>  * @name CKEDITOR.pluginDefinition.prototype.init
-<span class='line'> 42</span>  * @function
-<span class='line'> 43</span>  * @param {CKEDITOR.editor} editor The editor instance being initialized.
-<span class='line'> 44</span>  * @param {String} pluginPath The URL path for the plugin installation folder.
-<span class='line'> 45</span>  * @example
-<span class='line'> 46</span>  * CKEDITOR.plugins.add( 'sample',
-<span class='line'> 47</span>  * {
-<span class='line'> 48</span>  *     init : function( editor, pluginPath )
-<span class='line'> 49</span>  *     {
-<span class='line'> 50</span>  *         alert( 'Editor "' + editor.name + '" is being initialized!' );
-<span class='line'> 51</span>  *     }
-<span class='line'> 52</span>  * });
-<span class='line'> 53</span>  */</span><span class="WHIT">
-<span class='line'> 54</span> </span></pre></body></html>
+<span class='line'> 29</span>  * (Virtual Class) Do not call this constructor. This class is not really part
+<span class='line'> 30</span>  *		of the API. It just illustrates the features of plugin objects to be
+<span class='line'> 31</span>  *		passed to the {@link CKEDITOR.plugins.add} function.
+<span class='line'> 32</span>  * @name CKEDITOR.pluginDefinition
+<span class='line'> 33</span>  * @constructor
+<span class='line'> 34</span>  * @example
+<span class='line'> 35</span>  */</span><span class="WHIT">
+<span class='line'> 36</span>
+<span class='line'> 37</span> </span><span class="WHIT"> </span><span class="COMM">/**
+<span class='line'> 38</span>  * Function called on initialization of every editor instance created in the
+<span class='line'> 39</span>  * page before the init() call task. The beforeInit function will be called for
+<span class='line'> 40</span>  * all plugins, after that the init function is called for all of them. This
+<span class='line'> 41</span>  * feature makes it possible to initialize things that could be used in the
+<span class='line'> 42</span>  * init function of other plugins.
+<span class='line'> 43</span>  * @name CKEDITOR.pluginDefinition.prototype.beforeInit
+<span class='line'> 44</span>  * @function
+<span class='line'> 45</span>  * @param {CKEDITOR.editor} editor The editor instance being initialized.
+<span class='line'> 46</span>  * @param {String} pluginPath The URL path for the plugin installation folder.
+<span class='line'> 47</span>  * @example
+<span class='line'> 48</span>  * CKEDITOR.plugins.add( 'sample',
+<span class='line'> 49</span>  * {
+<span class='line'> 50</span>  *     beforeInit : function( editor, pluginPath )
+<span class='line'> 51</span>  *     {
+<span class='line'> 52</span>  *         alert( 'Editor "' + editor.name + '" is to be initialized!' );
+<span class='line'> 53</span>  *     }
+<span class='line'> 54</span>  * });
+<span class='line'> 55</span>  */</span><span class="WHIT">
+<span class='line'> 56</span>
+<span class='line'> 57</span> </span><span class="WHIT"> </span><span class="COMM">/**
+<span class='line'> 58</span>  * Function called on initialization of every editor instance created in the
+<span class='line'> 59</span>  * page.
+<span class='line'> 60</span>  * @name CKEDITOR.pluginDefinition.prototype.init
+<span class='line'> 61</span>  * @function
+<span class='line'> 62</span>  * @param {CKEDITOR.editor} editor The editor instance being initialized.
+<span class='line'> 63</span>  * @param {String} pluginPath The URL path for the plugin installation folder.
+<span class='line'> 64</span>  * @example
+<span class='line'> 65</span>  * CKEDITOR.plugins.add( 'sample',
+<span class='line'> 66</span>  * {
+<span class='line'> 67</span>  *     init : function( editor, pluginPath )
+<span class='line'> 68</span>  *     {
+<span class='line'> 69</span>  *         alert( 'Editor "' + editor.name + '" is being initialized!' );
+<span class='line'> 70</span>  *     }
+<span class='line'> 71</span>  * });
+<span class='line'> 72</span>  */</span><span class="WHIT">
+<span class='line'> 73</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__ui.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__ui.js.html	(revision 2278)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_core__ui.js.html	(revision 2278)
@@ -0,0 +1,119 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
+	.KEYW {color: #933;}
+	.COMM {color: #bbb; font-style: italic;}
+	.NUMB {color: #393;}
+	.STRN {color: #393;}
+	.REGX {color: #339;}
+	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
+	</style></head><body><pre><span class='line'>  1</span> <span class="TOKN">﻿</span><span class="COMM">/*
+<span class='line'>  2</span>  * CKEditor - The text editor for Internet - http://ckeditor.com
+<span class='line'>  3</span>  * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+<span class='line'>  4</span>  *
+<span class='line'>  5</span>  * == BEGIN LICENSE ==
+<span class='line'>  6</span>  *
+<span class='line'>  7</span>  * Licensed under the terms of any of the following licenses at your
+<span class='line'>  8</span>  * choice:
+<span class='line'>  9</span>  *
+<span class='line'> 10</span>  *  - GNU General Public License Version 2 or later (the "GPL")
+<span class='line'> 11</span>  *    http://www.gnu.org/licenses/gpl.html
+<span class='line'> 12</span>  *
+<span class='line'> 13</span>  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+<span class='line'> 14</span>  *    http://www.gnu.org/licenses/lgpl.html
+<span class='line'> 15</span>  *
+<span class='line'> 16</span>  *  - Mozilla Public License Version 1.1 or later (the "MPL")
+<span class='line'> 17</span>  *    http://www.mozilla.org/MPL/MPL-1.1.html
+<span class='line'> 18</span>  *
+<span class='line'> 19</span>  * == END LICENSE ==
+<span class='line'> 20</span>  */</span><span class="WHIT">
+<span class='line'> 21</span>
+<span class='line'> 22</span> </span><span class="COMM">/**
+<span class='line'> 23</span>  * Contains UI features related to an editor instance.
+<span class='line'> 24</span>  * @constructor
+<span class='line'> 25</span>  * @param {CKEDITOR.editor} editor The editor instance.
+<span class='line'> 26</span>  * @example
+<span class='line'> 27</span>  */</span><span class="WHIT">
+<span class='line'> 28</span> </span><span class="NAME">CKEDITOR.ui</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 29</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 30</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor.ui</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 31</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">editor.ui</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 32</span>
+<span class='line'> 33</span> </span><span class="WHIT">	</span><span class="NAME">this._</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'> 34</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">		</span><span class="NAME">handlers</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 36</span> </span><span class="WHIT">		</span><span class="NAME">items</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 37</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 38</span>
+<span class='line'> 39</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 40</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 41</span>
+<span class='line'> 42</span> </span><span class="NAME">CKEDITOR.ui.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'> 43</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 44</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'> 45</span> 	 * Adds a UI item to the items collection. These items can be later used in
+<span class='line'> 46</span> 	 * the interface.
+<span class='line'> 47</span> 	 * @param {String} name The UI item name.
+<span class='line'> 48</span> 	 * @param {Object} type The item type.
+<span class='line'> 49</span> 	 * @param {Object} definition The item definition. The properties of this
+<span class='line'> 50</span> 	 *		object depend on the item type.
+<span class='line'> 51</span> 	 * @example
+<span class='line'> 52</span> 	 * // Add a new button named "MyBold".
+<span class='line'> 53</span> 	 * editorInstance.ui.add( 'MyBold', CKEDITOR.UI_BUTTON,
+<span class='line'> 54</span> 	 *     {
+<span class='line'> 55</span> 	 *         label : 'My Bold',
+<span class='line'> 56</span> 	 *         command : 'bold'
+<span class='line'> 57</span> 	 *     });
+<span class='line'> 58</span> 	 */</span><span class="WHIT">
+<span class='line'> 59</span> </span><span class="WHIT">	</span><span class="NAME">add</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">type</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">definition</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 60</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 61</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">item</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._.handlers</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">create</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">definition</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 62</span> </span><span class="WHIT">		</span><span class="NAME">item.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 63</span> </span><span class="WHIT">		</span><span class="NAME">this._.items</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">item</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 64</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 65</span>
+<span class='line'> 66</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'> 67</span> 	 * Gets a UI object.
+<span class='line'> 68</span> 	 * @param {String} name The UI item hame.
+<span class='line'> 69</span> 	 * @example
+<span class='line'> 70</span> 	 */</span><span class="WHIT">
+<span class='line'> 71</span> </span><span class="WHIT">	</span><span class="NAME">get</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 72</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 73</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._.items</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 74</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 75</span>
+<span class='line'> 76</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'> 77</span> 	 * Adds a handler for a UI item type. The handler is responsible for
+<span class='line'> 78</span> 	 * transforming UI item definitions in UI objects.
+<span class='line'> 79</span> 	 * @param {Object} type The item type.
+<span class='line'> 80</span> 	 * @param {Object} handler The handler definition.
+<span class='line'> 81</span> 	 * @example
+<span class='line'> 82</span> 	 */</span><span class="WHIT">
+<span class='line'> 83</span> </span><span class="WHIT">	</span><span class="NAME">addHandler</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">type</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">handler</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 84</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 85</span> </span><span class="WHIT">		</span><span class="NAME">this._.handlers</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">handler</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 86</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 87</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 88</span>
+<span class='line'> 89</span> </span><span class="COMM">/**
+<span class='line'> 90</span>  * (Virtual Class) Do not call this constructor. This class is not really part
+<span class='line'> 91</span>  *		of the API. It just illustrates the features of hanlder objects to be
+<span class='line'> 92</span>  *		passed to the {@link CKEDITOR.ui.prototype.addHandler} function.
+<span class='line'> 93</span>  * @name CKEDITOR.ui.handlerDefinition
+<span class='line'> 94</span>  * @constructor
+<span class='line'> 95</span>  * @example
+<span class='line'> 96</span>  */</span><span class="WHIT">
+<span class='line'> 97</span>
+<span class='line'> 98</span> </span><span class="WHIT"> </span><span class="COMM">/**
+<span class='line'> 99</span>  * Transforms an item definition into an UI item object.
+<span class='line'>100</span>  * @name CKEDITOR.handlerDefinition.prototype.create
+<span class='line'>101</span>  * @function
+<span class='line'>102</span>  * @param {Object} definition The item definition.
+<span class='line'>103</span>  * @example
+<span class='line'>104</span>  * editorInstance.ui.addHandler( CKEDITOR.UI_BUTTON,
+<span class='line'>105</span>  *     {
+<span class='line'>106</span>  *         create : function( definition )
+<span class='line'>107</span>  *         {
+<span class='line'>108</span>  *             return new CKEDITOR.ui.button( definition );
+<span class='line'>109</span>  *         }
+<span class='line'>110</span>  *     });
+<span class='line'>111</span>  */</span><span class="WHIT">
+<span class='line'>112</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__basicstyles_plugin.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__basicstyles_plugin.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__basicstyles_plugin.js.html	(revision 2278)
@@ -31,29 +31,61 @@
 <span class='line'> 24</span> </span><span class="WHIT">	</span><span class="NAME">init</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pluginPath</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
 <span class='line'> 25</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 26</span> </span><span class="WHIT">		</span><span class="NAME">editor.addCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'bold'</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 27</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 28</span> </span><span class="WHIT">				</span><span class="NAME">exec</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 29</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 30</span> </span><span class="WHIT">					</span><span class="NAME">editor.focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 31</span>
-<span class='line'> 32</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor.document</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 33</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 34</span> </span><span class="WHIT">						</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">doc.$.execCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'bold'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 35</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 36</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 37</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 38</span>
-<span class='line'> 39</span> </span><span class="WHIT">		</span><span class="NAME">editor.addCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'italic'</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 40</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 41</span> </span><span class="WHIT">				</span><span class="NAME">exec</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 42</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 43</span> </span><span class="WHIT">					</span><span class="NAME">editor.focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 44</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor.document</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 45</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 46</span> </span><span class="WHIT">						</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">doc.$.execCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'italic'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 47</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 48</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 49</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 50</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 51</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 52</span> </span></pre></body></html>
+<span class='line'> 26</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">basicstyles</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.plugins.basicstyles</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 27</span> </span><span class="WHIT">			</span><span class="NAME">commands</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">basicstyles.commands</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 28</span> </span><span class="WHIT">			</span><span class="NAME">ui</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">basicstyles.ui</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 29</span>
+<span class='line'> 30</span> </span><span class="WHIT">		</span><span class="NAME">editor.addCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'bold'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">commands.bold</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 31</span> </span><span class="WHIT">		</span><span class="NAME">editor.addCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'italic'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">commands.italic</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 32</span>
+<span class='line'> 33</span> </span><span class="WHIT">		</span><span class="NAME">editor.ui.addButton</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'Bold'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ui.bold</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 34</span> </span><span class="WHIT">		</span><span class="NAME">editor.ui.addButton</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'Italic'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ui.italic</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 36</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 37</span>
+<span class='line'> 38</span> </span><span class="NAME">CKEDITOR.plugins.basicstyles</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'> 39</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 40</span> </span><span class="WHIT">	</span><span class="NAME">commands</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'> 41</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 42</span> </span><span class="WHIT">		</span><span class="NAME">bold</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'> 43</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 44</span> </span><span class="WHIT">			</span><span class="NAME">exec</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 45</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 46</span> </span><span class="WHIT">				</span><span class="NAME">editor.focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 47</span>
+<span class='line'> 48</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor.document</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 49</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 50</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">doc.$.execCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'bold'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 51</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 52</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 53</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 54</span>
+<span class='line'> 55</span> </span><span class="WHIT">		</span><span class="NAME">italic</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'> 56</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 57</span> </span><span class="WHIT">			</span><span class="NAME">exec</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 58</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 59</span> </span><span class="WHIT">				</span><span class="NAME">editor.focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 60</span>
+<span class='line'> 61</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor.document</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 62</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 63</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">doc.$.execCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'italic'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 64</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 65</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 66</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 67</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 68</span>
+<span class='line'> 69</span> </span><span class="WHIT">	</span><span class="NAME">ui</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'> 70</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 71</span> </span><span class="WHIT">		</span><span class="NAME">bold</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'> 72</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 73</span> </span><span class="WHIT">			</span><span class="NAME">label</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'Bold'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 74</span> </span><span class="WHIT">			</span><span class="NAME">command</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'bold'</span><span class="WHIT">
+<span class='line'> 75</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 76</span>
+<span class='line'> 77</span> </span><span class="WHIT">		</span><span class="NAME">italic</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 79</span> </span><span class="WHIT">			</span><span class="NAME">label</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'Italic'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 80</span> </span><span class="WHIT">			</span><span class="NAME">command</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'italic'</span><span class="WHIT">
+<span class='line'> 81</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 82</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 83</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 84</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__button_plugin.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__button_plugin.js.html	(revision 2278)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__button_plugin.js.html	(revision 2278)
@@ -0,0 +1,159 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
+	.KEYW {color: #933;}
+	.COMM {color: #bbb; font-style: italic;}
+	.NUMB {color: #393;}
+	.STRN {color: #393;}
+	.REGX {color: #339;}
+	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
+	</style></head><body><pre><span class='line'>  1</span> <span class="TOKN">﻿</span><span class="COMM">/*
+<span class='line'>  2</span>  * CKEditor - The text editor for Internet - http://ckeditor.com
+<span class='line'>  3</span>  * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+<span class='line'>  4</span>  *
+<span class='line'>  5</span>  * == BEGIN LICENSE ==
+<span class='line'>  6</span>  *
+<span class='line'>  7</span>  * Licensed under the terms of any of the following licenses at your
+<span class='line'>  8</span>  * choice:
+<span class='line'>  9</span>  *
+<span class='line'> 10</span>  *  - GNU General Public License Version 2 or later (the "GPL")
+<span class='line'> 11</span>  *    http://www.gnu.org/licenses/gpl.html
+<span class='line'> 12</span>  *
+<span class='line'> 13</span>  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+<span class='line'> 14</span>  *    http://www.gnu.org/licenses/lgpl.html
+<span class='line'> 15</span>  *
+<span class='line'> 16</span>  *  - Mozilla Public License Version 1.1 or later (the "MPL")
+<span class='line'> 17</span>  *    http://www.mozilla.org/MPL/MPL-1.1.html
+<span class='line'> 18</span>  *
+<span class='line'> 19</span>  * == END LICENSE ==
+<span class='line'> 20</span>  */</span><span class="WHIT">
+<span class='line'> 21</span>
+<span class='line'> 22</span> </span><span class="NAME">CKEDITOR.plugins.add</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'button'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 23</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 24</span> </span><span class="WHIT">	</span><span class="NAME">beforeInit</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 25</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 26</span> </span><span class="WHIT">		</span><span class="NAME">editor.ui.addHandler</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.UI_BUTTON</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.ui.button.handler</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 27</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 28</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 29</span>
+<span class='line'> 30</span> </span><span class="COMM">/**
+<span class='line'> 31</span>  * Button UI element.
+<span class='line'> 32</span>  * @constant
+<span class='line'> 33</span>  * @example
+<span class='line'> 34</span>  */</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="NAME">CKEDITOR.UI_BUTTON</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 36</span>
+<span class='line'> 37</span> </span><span class="COMM">/**
+<span class='line'> 38</span>  * Represents a button UI element. This class should not be called directly. To
+<span class='line'> 39</span>  * create new buttons use {@link CKEDITOR.ui.prototype.addButton} instead.
+<span class='line'> 40</span>  * @constructor
+<span class='line'> 41</span>  * @param {Object} definition The button definition.
+<span class='line'> 42</span>  * @example
+<span class='line'> 43</span>  */</span><span class="WHIT">
+<span class='line'> 44</span> </span><span class="NAME">CKEDITOR.ui.button</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">definition</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 45</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 46</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'> 47</span> 	 * The button label.
+<span class='line'> 48</span> 	 * @name CKEDITOR.ui.button.prototype.label
+<span class='line'> 49</span> 	 * @type String
+<span class='line'> 50</span> 	 * @example
+<span class='line'> 51</span> 	 */</span><span class="WHIT">
+<span class='line'> 52</span> </span><span class="WHIT">	</span><span class="NAME">this.label</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">definition.label</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 53</span>
+<span class='line'> 54</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'> 55</span> 	 * The command name associated to the button. If no command is defined, the
+<span class='line'> 56</span> 	 * "click" event is used.
+<span class='line'> 57</span> 	 * @name CKEDITOR.ui.button.prototype.command
+<span class='line'> 58</span> 	 * @type String
+<span class='line'> 59</span> 	 * @example
+<span class='line'> 60</span> 	 */</span><span class="WHIT">
+<span class='line'> 61</span> </span><span class="WHIT">	</span><span class="NAME">this.command</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">definition.command</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 62</span>
+<span class='line'> 63</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'> 64</span> 	 * The button advisory title. It is usually displayed as the button tooltip.
+<span class='line'> 65</span> 	 * If not defined, the label is used.
+<span class='line'> 66</span> 	 * @name CKEDITOR.ui.button.prototype.title
+<span class='line'> 67</span> 	 * @type String
+<span class='line'> 68</span> 	 * @example
+<span class='line'> 69</span> 	 */</span><span class="WHIT">
+<span class='line'> 70</span> </span><span class="WHIT">	</span><span class="NAME">this.title</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">definition.title</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.label</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 71</span>
+<span class='line'> 72</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'> 73</span> 	 * The function to be called when the user clicks the button. If not
+<span class='line'> 74</span> 	 * defined, the "command" property is required, and the command gets
+<span class='line'> 75</span> 	 * executed on click.
+<span class='line'> 76</span> 	 * @function
+<span class='line'> 77</span> 	 * @name CKEDITOR.ui.button.prototype.click
+<span class='line'> 78</span> 	 * @type Function
+<span class='line'> 79</span> 	 * @example
+<span class='line'> 80</span> 	 */</span><span class="WHIT">
+<span class='line'> 81</span> </span><span class="WHIT">	</span><span class="NAME">this.click</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">definition.click</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 82</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 83</span> </span><span class="WHIT">			</span><span class="NAME">editor.execCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">definition.command</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 84</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 85</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 86</span>
+<span class='line'> 87</span> </span><span class="COMM">/**
+<span class='line'> 88</span>  * Transforms a button definition in a {@link CKEDITOR.ui.button} instance.
+<span class='line'> 89</span>  * @example
+<span class='line'> 90</span>  */</span><span class="WHIT">
+<span class='line'> 91</span> </span><span class="NAME">CKEDITOR.ui.button.handler</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'> 92</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 93</span> </span><span class="WHIT">	</span><span class="NAME">create</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">definition</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 94</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 95</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.ui.button</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">definition</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 96</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 97</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 98</span>
+<span class='line'> 99</span> </span><span class="NAME">CKEDITOR.ui.button.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'>100</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>101</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'>102</span> 	 * Renders the button.
+<span class='line'>103</span> 	 * @param {CKEDITOR.editor} editor The editor instance which this button is
+<span class='line'>104</span> 	 *		to be used by.
+<span class='line'>105</span> 	 * @param {Array} output The output array to which append the HTML relative
+<span class='line'>106</span> 	 *		to this button.
+<span class='line'>107</span> 	 * @example
+<span class='line'>108</span> 	 */</span><span class="WHIT">
+<span class='line'>109</span> </span><span class="WHIT">	</span><span class="NAME">render</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">output</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>110</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>111</span> </span><span class="WHIT">		</span><span class="NAME">output.push</span><span class="PUNC">(</span><span class="WHIT">
+<span class='line'>112</span> </span><span class="WHIT">			</span><span class="STRN">'&lt;a id="cke_'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.tools.getNextNumber</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>113</span> </span><span class="WHIT">				</span><span class="STRN">'" class="cke_button" href="do:'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.label</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>114</span> </span><span class="WHIT">				</span><span class="STRN">'" title="'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.title</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>115</span> </span><span class="WHIT">				</span><span class="STRN">'" onclick="return CKEDITOR.ui.button._.click(\''</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">editor.name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'\',\''</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'\', this.id);">'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>116</span> </span><span class="WHIT">			</span><span class="NAME">this.label</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'&lt;/a>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>117</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>118</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>119</span>
+<span class='line'>120</span> </span><span class="COMM">/**
+<span class='line'>121</span>  * Handles a button click.
+<span class='line'>122</span>  * @private
+<span class='line'>123</span>  */</span><span class="WHIT">
+<span class='line'>124</span> </span><span class="NAME">CKEDITOR.ui.button._</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'>125</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>126</span> </span><span class="WHIT">	</span><span class="NAME">click</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">instanceName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">uiItemName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">elementId</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>127</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>128</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.instances</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">instanceName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>129</span> </span><span class="WHIT">		</span><span class="NAME">editor.focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>130</span>
+<span class='line'>131</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">uiItem</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor.ui.get</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">uiItemName</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">elementId</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>132</span>
+<span class='line'>133</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>134</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>135</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>136</span>
+<span class='line'>137</span> </span><span class="COMM">/**
+<span class='line'>138</span>  * Adds a button definition to the UI elements list.
+<span class='line'>139</span>  * @param {String} The button name.
+<span class='line'>140</span>  * @param {Object} The button definition.
+<span class='line'>141</span>  * @example
+<span class='line'>142</span>  * editorInstance.ui.addButton( 'MyBold',
+<span class='line'>143</span>  *     {
+<span class='line'>144</span>  *         label : 'My Bold',
+<span class='line'>145</span>  *         command : 'bold'
+<span class='line'>146</span>  *     });
+<span class='line'>147</span>  */</span><span class="WHIT">
+<span class='line'>148</span> </span><span class="NAME">CKEDITOR.ui.prototype.addButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">definition</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>149</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>150</span> </span><span class="WHIT">	</span><span class="NAME">this.add</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.UI_BUTTON</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">definition</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>151</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>152</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__elementspath_plugin.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__elementspath_plugin.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__elementspath_plugin.js.html	(revision 2278)
@@ -36,11 +36,61 @@
 <span class='line'> 29</span> </span><span class="WHIT">	</span><span class="NAME">init</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pluginPath</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
 <span class='line'> 30</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 31</span> </span><span class="WHIT">		</span><span class="NAME">editor.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'themeSpace'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">event</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 32</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 33</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">event.data.space</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'bottom'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 34</span> </span><span class="WHIT">					</span><span class="NAME">event.data.html</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT">
-<span class='line'> 35</span> </span><span class="WHIT">						</span><span class="STRN">'&lt;div>Elements Path!&lt;/div>'</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 36</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 37</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 38</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 39</span> </span></pre></body></html>
+<span class='line'> 31</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">spaceId</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'cke_path_'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">editor.name</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 32</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">spaceElement</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 33</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">getSpaceElement</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 34</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">spaceElement</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 36</span> </span><span class="WHIT">				</span><span class="NAME">spaceElement</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.document.getById</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">spaceId</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 37</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">spaceElement</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 38</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 39</span>
+<span class='line'> 40</span> </span><span class="WHIT">		</span><span class="NAME">editor.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'themeSpace'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">event</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 41</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 42</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">event.data.space</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'bottom'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 43</span> </span><span class="WHIT">					</span><span class="NAME">event.data.html</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'&lt;div id="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">spaceId</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'" class="cke_path">&lt;br>&lt;/div>'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 44</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 45</span>
+<span class='line'> 46</span> </span><span class="WHIT">		</span><span class="NAME">editor.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'selectionChange'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 47</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 48</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getSelection</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">getStartElement</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 49</span> </span><span class="WHIT">					</span><span class="NAME">html</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 50</span> </span><span class="WHIT">					</span><span class="NAME">elementsList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._.elementsPathList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 51</span>
+<span class='line'> 52</span> </span><span class="WHIT">				</span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 53</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 54</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">index</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">elementsList.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 55</span> </span><span class="WHIT">						</span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.getName</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 56</span>
+<span class='line'> 57</span> </span><span class="WHIT">					</span><span class="NAME">html.unshift</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;a href="element:'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'" onclick="return CKEDITOR._.elementsPathClick( \''</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'\','</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">index</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">');">'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'&lt;/a>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 58</span>
+<span class='line'> 59</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'body'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 60</span> </span><span class="WHIT">						</span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 61</span>
+<span class='line'> 62</span> </span><span class="WHIT">					</span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.getParent</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 63</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 64</span>
+<span class='line'> 65</span> </span><span class="WHIT">				</span><span class="NAME">getSpaceElement</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">setHtml</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">html.join</span><span class="PUNC">(</span><span class="STRN">''</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 66</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 67</span>
+<span class='line'> 68</span> </span><span class="WHIT">		</span><span class="NAME">editor.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'contentDomUnload'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 69</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 70</span> </span><span class="WHIT">				</span><span class="NAME">getSpaceElement</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">setHtml</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;br>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 71</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 72</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 73</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 74</span>
+<span class='line'> 75</span> </span><span class="COMM">/**
+<span class='line'> 76</span>  * Handles the click on an element in the element path.
+<span class='line'> 77</span>  * @private
+<span class='line'> 78</span>  */</span><span class="WHIT">
+<span class='line'> 79</span> </span><span class="NAME">CKEDITOR._.elementsPathClick</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">instanceName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">elementIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 80</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 81</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.instances</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">instanceName</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 82</span> </span><span class="WHIT">	</span><span class="NAME">editor.focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 83</span>
+<span class='line'> 84</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor._.elementsPathList</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">elementIndex</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 85</span> </span><span class="WHIT">	</span><span class="NAME">editor.getSelection</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">selectElement</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 86</span>
+<span class='line'> 87</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 88</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 89</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__selection_plugin.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__selection_plugin.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__selection_plugin.js.html	(revision 2278)
@@ -67,279 +67,330 @@
 <span class='line'> 60</span>
 <span class='line'> 61</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimer</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 62</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeout</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 63</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 64</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 65</span> </span><span class="WHIT">			</span><span class="NAME">window.clearTimeout</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 66</span>
-<span class='line'> 67</span> </span><span class="WHIT">		</span><span class="NAME">checkSelectionChangeTimer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.tools.setTimeout</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">checkSelectionChange</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">100</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 68</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 69</span>
-<span class='line'> 70</span> </span><span class="WHIT">	</span><span class="COMM">// #### checkSelectionChange : END</span><span class="WHIT">
-<span class='line'> 71</span>
-<span class='line'> 72</span> </span><span class="WHIT">	</span><span class="NAME">CKEDITOR.plugins.add</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'selection'</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 73</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 74</span> </span><span class="WHIT">		</span><span class="NAME">init</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pluginPath</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 75</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 76</span> </span><span class="WHIT">			</span><span class="NAME">editor.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'contentDom'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 77</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 78</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 79</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 80</span> </span><span class="WHIT">						</span><span class="COMM">// IE is the only to provide the "selectionchange"</span><span class="WHIT">
-<span class='line'> 81</span> </span><span class="WHIT">						</span><span class="COMM">// event.</span><span class="WHIT">
-<span class='line'> 82</span> </span><span class="WHIT">						</span><span class="NAME">editor.document.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'selectionchange'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">checkSelectionChange</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 83</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 84</span> </span><span class="WHIT">					</span><span class="KEYW">else</span><span class="WHIT">
-<span class='line'> 85</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 86</span> </span><span class="WHIT">						</span><span class="COMM">// In other browsers, we make the selection change</span><span class="WHIT">
-<span class='line'> 87</span> </span><span class="WHIT">						</span><span class="COMM">// check based on other events, like clicks or keys</span><span class="WHIT">
-<span class='line'> 88</span> </span><span class="WHIT">						</span><span class="COMM">// press.</span><span class="WHIT">
-<span class='line'> 89</span>
-<span class='line'> 90</span> </span><span class="WHIT">						</span><span class="NAME">editor.document.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'mouseup'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">checkSelectionChange</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 91</span>
-<span class='line'> 92</span> </span><span class="WHIT">						</span><span class="COMM">// Firing the "OnSelectionChange" event on every key</span><span class="WHIT">
-<span class='line'> 93</span> </span><span class="WHIT">						</span><span class="COMM">// press started to be too slow. So, a timer has been</span><span class="WHIT">
-<span class='line'> 94</span> </span><span class="WHIT">						</span><span class="COMM">// implemented to solve performance issues when typing</span><span class="WHIT">
-<span class='line'> 95</span> </span><span class="WHIT">						</span><span class="COMM">// to quickly.</span><span class="WHIT">
-<span class='line'> 96</span> </span><span class="WHIT">						</span><span class="NAME">editor.document.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'keyup'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeout</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 97</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 98</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 99</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>100</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>101</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>102</span>
-<span class='line'>103</span> </span><span class="COMM">/**
-<span class='line'>104</span>  * Gets the current selection from the editing area when in WYSIWYG mode.
-<span class='line'>105</span>  * @returns {CKEDITOR.dom.selection} A selection object or null if not on
-<span class='line'>106</span>  *		WYSIWYG mode or no selection is available.
-<span class='line'>107</span>  * @example
-<span class='line'>108</span>  * var selection = CKEDITOR.instances.editor1.&lt;b>getSelection()&lt;/b>;
-<span class='line'>109</span>  * alert( selection.getType() );
-<span class='line'>110</span>  */</span><span class="WHIT">
-<span class='line'>111</span> </span><span class="NAME">CKEDITOR.editor.prototype.getSelection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>112</span> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>113</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.document</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">this.document.getSelection</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>114</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>115</span>
-<span class='line'>116</span> </span><span class="COMM">/**
-<span class='line'>117</span>  * Gets the current selection from the document.
-<span class='line'>118</span>  * @returns {CKEDITOR.dom.selection} A selection object.
-<span class='line'>119</span>  * @example
-<span class='line'>120</span>  * var selection = CKEDITOR.instances.editor1.document.&lt;b>getSelection()&lt;/b>;
-<span class='line'>121</span>  * alert( selection.getType() );
-<span class='line'>122</span>  */</span><span class="WHIT">
-<span class='line'>123</span> </span><span class="NAME">CKEDITOR.dom.document.prototype.getSelection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>124</span> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>125</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.dom.selection</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>126</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>127</span>
-<span class='line'>128</span> </span><span class="COMM">/**
-<span class='line'>129</span>  * No selection.
-<span class='line'>130</span>  * @constant
-<span class='line'>131</span>  * @example
-<span class='line'>132</span>  * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_NONE )
-<span class='line'>133</span>  *     alert( 'Nothing is selected' );
-<span class='line'>134</span>  */</span><span class="WHIT">
-<span class='line'>135</span> </span><span class="NAME">CKEDITOR.SELECTION_NONE</span><span class="WHIT">		</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>136</span>
-<span class='line'>137</span> </span><span class="COMM">/**
-<span class='line'>138</span>  * Text or collapsed selection.
-<span class='line'>139</span>  * @constant
-<span class='line'>140</span>  * @example
-<span class='line'>141</span>  * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_TEXT )
-<span class='line'>142</span>  *     alert( 'Text is selected' );
-<span class='line'>143</span>  */</span><span class="WHIT">
-<span class='line'>144</span> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="WHIT">		</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>145</span>
-<span class='line'>146</span> </span><span class="COMM">/**
-<span class='line'>147</span>  * Element selection.
-<span class='line'>148</span>  * @constant
-<span class='line'>149</span>  * @example
-<span class='line'>150</span>  * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_ELEMENT )
-<span class='line'>151</span>  *     alert( 'An element is selected' );
-<span class='line'>152</span>  */</span><span class="WHIT">
-<span class='line'>153</span> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="WHIT">	</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>154</span>
-<span class='line'>155</span> </span><span class="COMM">/**
-<span class='line'>156</span>  * Manipulates the selection in a DOM document.
-<span class='line'>157</span>  * @constructor
-<span class='line'>158</span>  * @example
-<span class='line'>159</span>  */</span><span class="WHIT">
-<span class='line'>160</span> </span><span class="NAME">CKEDITOR.dom.selection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">document</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>161</span> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>162</span> </span><span class="WHIT">	</span><span class="NAME">this.document</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>163</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>164</span>
-<span class='line'>165</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>166</span> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>167</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">styleObjectElements</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">img</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">hr</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">li</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">table</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">tr</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">td</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">embed</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">object</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">ol</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">ul</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>168</span>
-<span class='line'>169</span> </span><span class="WHIT">	</span><span class="NAME">CKEDITOR.dom.selection.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
-<span class='line'>170</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>171</span> </span><span class="WHIT">		</span><span class="COMM">/**
-<span class='line'>172</span> 		 * Gets the native selection object from the browser.
-<span class='line'>173</span> 		 * @returns {Object} The native selection object.
-<span class='line'>174</span> 		 * @example
-<span class='line'>175</span> 		 * var selection = editor.getSelection().&lt;b>getNative()&lt;/b>;
-<span class='line'>176</span> 		 */</span><span class="WHIT">
-<span class='line'>177</span> </span><span class="WHIT">		</span><span class="NAME">getNative</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>178</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>179</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>180</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>181</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>182</span> </span><span class="WHIT">						</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.document.$.selection</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>183</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>184</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
-<span class='line'>185</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>186</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>187</span> </span><span class="WHIT">						</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.document.getWindow</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">$.getSelection</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>188</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>189</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>190</span>
+<span class='line'> 62</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeoutPending</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 63</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeout</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 64</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 65</span> </span><span class="WHIT">		</span><span class="COMM">// Firing the "OnSelectionChange" event on every key press started to</span><span class="WHIT">
+<span class='line'> 66</span> </span><span class="WHIT">		</span><span class="COMM">// be too slow. This function guarantees that there will be at least</span><span class="WHIT">
+<span class='line'> 67</span> </span><span class="WHIT">		</span><span class="COMM">// 200ms delay between selection checks.</span><span class="WHIT">
+<span class='line'> 68</span>
+<span class='line'> 69</span> </span><span class="WHIT">		</span><span class="NAME">checkSelectionChangeTimeoutPending</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 70</span>
+<span class='line'> 71</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 72</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 73</span>
+<span class='line'> 74</span> </span><span class="WHIT">		</span><span class="NAME">checkSelectionChangeTimeoutExec.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 75</span>
+<span class='line'> 76</span> </span><span class="WHIT">		</span><span class="NAME">checkSelectionChangeTimer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.tools.setTimeout</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeoutExec</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">200</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 77</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 78</span>
+<span class='line'> 79</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeoutExec</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 80</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 81</span> </span><span class="WHIT">		</span><span class="NAME">checkSelectionChangeTimer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 82</span>
+<span class='line'> 83</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeoutPending</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 84</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 85</span> </span><span class="WHIT">			</span><span class="COMM">// Call this with a timeout so the browser properly moves the</span><span class="WHIT">
+<span class='line'> 86</span> </span><span class="WHIT">			</span><span class="COMM">// selection after the mouseup. It happened that the selection was</span><span class="WHIT">
+<span class='line'> 87</span> </span><span class="WHIT">			</span><span class="COMM">// being moved after the mouseup when clicking inside selected text</span><span class="WHIT">
+<span class='line'> 88</span> </span><span class="WHIT">			</span><span class="COMM">// with Firefox.</span><span class="WHIT">
+<span class='line'> 89</span> </span><span class="WHIT">			</span><span class="NAME">CKEDITOR.tools.setTimeout</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">checkSelectionChange</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 90</span>
+<span class='line'> 91</span> </span><span class="WHIT">			</span><span class="NAME">checkSelectionChangeTimeoutPending</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 92</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 93</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 94</span>
+<span class='line'> 95</span> </span><span class="WHIT">	</span><span class="COMM">// #### checkSelectionChange : END</span><span class="WHIT">
+<span class='line'> 96</span>
+<span class='line'> 97</span> </span><span class="WHIT">	</span><span class="NAME">CKEDITOR.plugins.add</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'selection'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 98</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 99</span> </span><span class="WHIT">		</span><span class="NAME">init</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pluginPath</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>100</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>101</span> </span><span class="WHIT">			</span><span class="NAME">editor.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'contentDom'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>102</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>103</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>104</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>105</span> </span><span class="WHIT">						</span><span class="COMM">// IE is the only to provide the "selectionchange"</span><span class="WHIT">
+<span class='line'>106</span> </span><span class="WHIT">						</span><span class="COMM">// event.</span><span class="WHIT">
+<span class='line'>107</span> </span><span class="WHIT">						</span><span class="NAME">editor.document.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'selectionchange'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeout</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>108</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>109</span> </span><span class="WHIT">					</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>110</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>111</span> </span><span class="WHIT">						</span><span class="COMM">// In other browsers, we make the selection change</span><span class="WHIT">
+<span class='line'>112</span> </span><span class="WHIT">						</span><span class="COMM">// check based on other events, like clicks or keys</span><span class="WHIT">
+<span class='line'>113</span> </span><span class="WHIT">						</span><span class="COMM">// press.</span><span class="WHIT">
+<span class='line'>114</span>
+<span class='line'>115</span> </span><span class="WHIT">						</span><span class="NAME">editor.document.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'mouseup'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeout</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>116</span> </span><span class="WHIT">						</span><span class="NAME">editor.document.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'keyup'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">checkSelectionChangeTimeout</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>117</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>118</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>119</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>120</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>121</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>122</span>
+<span class='line'>123</span> </span><span class="COMM">/**
+<span class='line'>124</span>  * Gets the current selection from the editing area when in WYSIWYG mode.
+<span class='line'>125</span>  * @returns {CKEDITOR.dom.selection} A selection object or null if not on
+<span class='line'>126</span>  *		WYSIWYG mode or no selection is available.
+<span class='line'>127</span>  * @example
+<span class='line'>128</span>  * var selection = CKEDITOR.instances.editor1.&lt;b>getSelection()&lt;/b>;
+<span class='line'>129</span>  * alert( selection.getType() );
+<span class='line'>130</span>  */</span><span class="WHIT">
+<span class='line'>131</span> </span><span class="NAME">CKEDITOR.editor.prototype.getSelection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>132</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>133</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.document</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">this.document.getSelection</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>134</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>135</span>
+<span class='line'>136</span> </span><span class="COMM">/**
+<span class='line'>137</span>  * Gets the current selection from the document.
+<span class='line'>138</span>  * @returns {CKEDITOR.dom.selection} A selection object.
+<span class='line'>139</span>  * @example
+<span class='line'>140</span>  * var selection = CKEDITOR.instances.editor1.document.&lt;b>getSelection()&lt;/b>;
+<span class='line'>141</span>  * alert( selection.getType() );
+<span class='line'>142</span>  */</span><span class="WHIT">
+<span class='line'>143</span> </span><span class="NAME">CKEDITOR.dom.document.prototype.getSelection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>144</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>145</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.dom.selection</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>146</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>147</span>
+<span class='line'>148</span> </span><span class="COMM">/**
+<span class='line'>149</span>  * No selection.
+<span class='line'>150</span>  * @constant
+<span class='line'>151</span>  * @example
+<span class='line'>152</span>  * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_NONE )
+<span class='line'>153</span>  *     alert( 'Nothing is selected' );
+<span class='line'>154</span>  */</span><span class="WHIT">
+<span class='line'>155</span> </span><span class="NAME">CKEDITOR.SELECTION_NONE</span><span class="WHIT">		</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>156</span>
+<span class='line'>157</span> </span><span class="COMM">/**
+<span class='line'>158</span>  * Text or collapsed selection.
+<span class='line'>159</span>  * @constant
+<span class='line'>160</span>  * @example
+<span class='line'>161</span>  * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_TEXT )
+<span class='line'>162</span>  *     alert( 'Text is selected' );
+<span class='line'>163</span>  */</span><span class="WHIT">
+<span class='line'>164</span> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="WHIT">		</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>165</span>
+<span class='line'>166</span> </span><span class="COMM">/**
+<span class='line'>167</span>  * Element selection.
+<span class='line'>168</span>  * @constant
+<span class='line'>169</span>  * @example
+<span class='line'>170</span>  * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_ELEMENT )
+<span class='line'>171</span>  *     alert( 'An element is selected' );
+<span class='line'>172</span>  */</span><span class="WHIT">
+<span class='line'>173</span> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="WHIT">	</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>174</span>
+<span class='line'>175</span> </span><span class="COMM">/**
+<span class='line'>176</span>  * Manipulates the selection in a DOM document.
+<span class='line'>177</span>  * @constructor
+<span class='line'>178</span>  * @example
+<span class='line'>179</span>  */</span><span class="WHIT">
+<span class='line'>180</span> </span><span class="NAME">CKEDITOR.dom.selection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">document</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>181</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>182</span> </span><span class="WHIT">	</span><span class="NAME">this.document</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>183</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>184</span>
+<span class='line'>185</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>186</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>187</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">styleObjectElements</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">img</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">hr</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">li</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">table</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">tr</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">td</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">embed</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">object</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">ol</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NAME">ul</span><span class="PUNC">:</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>188</span>
+<span class='line'>189</span> </span><span class="WHIT">	</span><span class="NAME">CKEDITOR.dom.selection.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'>190</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
 <span class='line'>191</span> </span><span class="WHIT">		</span><span class="COMM">/**
-<span class='line'>192</span> 		 * Gets the type of the current selection. The following values are
-<span class='line'>193</span> 		 * available:
-<span class='line'>194</span> 		 * &lt;ul>
-<span class='line'>195</span> 		 *		&lt;li>{@link CKEDITOR.SELECTION_NONE} (1): No selection.&lt;/li>
-<span class='line'>196</span> 		 *		&lt;li>{@link CKEDITOR.SELECTION_TEXT} (2): Text is selected or
-<span class='line'>197</span> 		 *			collapsed selection.&lt;/li>
-<span class='line'>198</span> 		 *		&lt;li>{@link CKEDITOR.SELECTION_ELEMENT} (3): A element
-<span class='line'>199</span> 		 *			selection.&lt;/li>
-<span class='line'>200</span> 		 * &lt;/ul>
-<span class='line'>201</span> 		 * @returns {Number} One of the following constant values:
-<span class='line'>202</span> 		 *		{@link CKEDITOR.SELECTION_NONE}, {@link CKEDITOR.SELECTION_TEXT} or
-<span class='line'>203</span> 		 *		{@link CKEDITOR.SELECTION_ELEMENT}.
-<span class='line'>204</span> 		 * @example
-<span class='line'>205</span> 		 * if ( editor.getSelection().&lt;b>getType()&lt;/b> == CKEDITOR.SELECTION_TEXT )
-<span class='line'>206</span> 		 *     alert( 'Text is selected' );
-<span class='line'>207</span> 		 */</span><span class="WHIT">
-<span class='line'>208</span> </span><span class="WHIT">		</span><span class="NAME">getType</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>209</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>210</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>211</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>212</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>213</span> </span><span class="WHIT">						</span><span class="KEYW">try</span><span class="WHIT">
-<span class='line'>214</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>215</span> </span><span class="WHIT">							</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>216</span> </span><span class="WHIT">								</span><span class="NAME">ieType</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.type</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>217</span>
-<span class='line'>218</span> </span><span class="WHIT">							</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">ieType</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'Text'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>219</span> </span><span class="WHIT">								</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>220</span>
-<span class='line'>221</span> </span><span class="WHIT">							</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">ieType</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'Control'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>222</span> </span><span class="WHIT">								</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>223</span>
-<span class='line'>224</span> </span><span class="WHIT">							</span><span class="COMM">// It is possible that we can still get a text range</span><span class="WHIT">
-<span class='line'>225</span> </span><span class="WHIT">							</span><span class="COMM">// object even when type == 'None' is returned by IE.</span><span class="WHIT">
-<span class='line'>226</span> </span><span class="WHIT">							</span><span class="COMM">// So we'd better check the object returned by</span><span class="WHIT">
-<span class='line'>227</span> </span><span class="WHIT">							</span><span class="COMM">// createRange() rather than by looking at the type.</span><span class="WHIT">
-<span class='line'>228</span> </span><span class="WHIT">							</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sel.createRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">parentElement</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>229</span> </span><span class="WHIT">								</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>230</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>231</span> </span><span class="WHIT">						</span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>232</span>
-<span class='line'>233</span> </span><span class="WHIT">						</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_NONE</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>234</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>235</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
-<span class='line'>236</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>237</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>238</span> </span><span class="WHIT">						</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>239</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>240</span> </span><span class="WHIT">							</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_NONE</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>241</span>
-<span class='line'>242</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sel.rangeCount</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>243</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>244</span> </span><span class="WHIT">							</span><span class="COMM">// Check if the actual selection is a control (IMG,</span><span class="WHIT">
-<span class='line'>245</span> </span><span class="WHIT">							</span><span class="COMM">// TABLE, HR, etc...).</span><span class="WHIT">
-<span class='line'>246</span>
-<span class='line'>247</span> </span><span class="WHIT">							</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.getRangeAt</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>248</span> </span><span class="WHIT">								</span><span class="NAME">startContainer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range.startContainer</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>192</span> 		 * Gets the native selection object from the browser.
+<span class='line'>193</span> 		 * @returns {Object} The native selection object.
+<span class='line'>194</span> 		 * @example
+<span class='line'>195</span> 		 * var selection = editor.getSelection().&lt;b>getNative()&lt;/b>;
+<span class='line'>196</span> 		 */</span><span class="WHIT">
+<span class='line'>197</span> </span><span class="WHIT">		</span><span class="NAME">getNative</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>198</span> </span><span class="WHIT">			</span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
+<span class='line'>199</span> </span><span class="WHIT">				</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>200</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>201</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.document.$.selection</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>202</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>203</span> </span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>204</span> </span><span class="WHIT">				</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>205</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>206</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.document.getWindow</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">$.getSelection</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>207</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>208</span>
+<span class='line'>209</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>210</span> 		 * Gets the type of the current selection. The following values are
+<span class='line'>211</span> 		 * available:
+<span class='line'>212</span> 		 * &lt;ul>
+<span class='line'>213</span> 		 *		&lt;li>{@link CKEDITOR.SELECTION_NONE} (1): No selection.&lt;/li>
+<span class='line'>214</span> 		 *		&lt;li>{@link CKEDITOR.SELECTION_TEXT} (2): Text is selected or
+<span class='line'>215</span> 		 *			collapsed selection.&lt;/li>
+<span class='line'>216</span> 		 *		&lt;li>{@link CKEDITOR.SELECTION_ELEMENT} (3): A element
+<span class='line'>217</span> 		 *			selection.&lt;/li>
+<span class='line'>218</span> 		 * &lt;/ul>
+<span class='line'>219</span> 		 * @returns {Number} One of the following constant values:
+<span class='line'>220</span> 		 *		{@link CKEDITOR.SELECTION_NONE}, {@link CKEDITOR.SELECTION_TEXT} or
+<span class='line'>221</span> 		 *		{@link CKEDITOR.SELECTION_ELEMENT}.
+<span class='line'>222</span> 		 * @example
+<span class='line'>223</span> 		 * if ( editor.getSelection().&lt;b>getType()&lt;/b> == CKEDITOR.SELECTION_TEXT )
+<span class='line'>224</span> 		 *     alert( 'Text is selected' );
+<span class='line'>225</span> 		 */</span><span class="WHIT">
+<span class='line'>226</span> </span><span class="WHIT">		</span><span class="NAME">getType</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>227</span> </span><span class="WHIT">			</span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
+<span class='line'>228</span> </span><span class="WHIT">				</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>229</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>230</span> </span><span class="WHIT">					</span><span class="KEYW">try</span><span class="WHIT">
+<span class='line'>231</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>232</span> </span><span class="WHIT">						</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>233</span> </span><span class="WHIT">							</span><span class="NAME">ieType</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.type</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>234</span>
+<span class='line'>235</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">ieType</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'Text'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>236</span> </span><span class="WHIT">							</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>237</span>
+<span class='line'>238</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">ieType</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'Control'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>239</span> </span><span class="WHIT">							</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>240</span>
+<span class='line'>241</span> </span><span class="WHIT">						</span><span class="COMM">// It is possible that we can still get a text range</span><span class="WHIT">
+<span class='line'>242</span> </span><span class="WHIT">						</span><span class="COMM">// object even when type == 'None' is returned by IE.</span><span class="WHIT">
+<span class='line'>243</span> </span><span class="WHIT">						</span><span class="COMM">// So we'd better check the object returned by</span><span class="WHIT">
+<span class='line'>244</span> </span><span class="WHIT">						</span><span class="COMM">// createRange() rather than by looking at the type.</span><span class="WHIT">
+<span class='line'>245</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sel.createRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">parentElement</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>246</span> </span><span class="WHIT">							</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>247</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>248</span> </span><span class="WHIT">					</span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
 <span class='line'>249</span>
-<span class='line'>250</span> </span><span class="WHIT">							</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">startContainer</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">range.endContainer</span><span class="WHIT">
-<span class='line'>251</span> </span><span class="WHIT">								</span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">startContainer.nodeType</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT">
-<span class='line'>252</span> </span><span class="WHIT">								</span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">range.endOffset</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">range.startOffset</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT">
-<span class='line'>253</span> </span><span class="WHIT">								</span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">styleObjectElements</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">startContainer.childNodes</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">range.startOffset</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeName.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>254</span> </span><span class="WHIT">							</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>255</span> </span><span class="WHIT">								</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>256</span> </span><span class="WHIT">							</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>257</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>250</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_NONE</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>251</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>252</span> </span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>253</span> </span><span class="WHIT">				</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>254</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>255</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>256</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>257</span> </span><span class="WHIT">						</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_NONE</span><span class="PUNC">;</span><span class="WHIT">
 <span class='line'>258</span>
-<span class='line'>259</span> </span><span class="WHIT">						</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>260</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>261</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>262</span>
-<span class='line'>263</span> </span><span class="WHIT">		</span><span class="COMM">/**
-<span class='line'>264</span> 		 * Gets the DOM element in which the selection starts.
-<span class='line'>265</span> 		 * @returns {CKEDITOR.dom.element} The element at the beginning of the
-<span class='line'>266</span> 		 *		selection.
-<span class='line'>267</span> 		 * @example
-<span class='line'>268</span> 		 * var element = editor.getSelection().&lt;b>getStartElement()&lt;/b>;
-<span class='line'>269</span> 		 * alert( element.getName() );
-<span class='line'>270</span> 		 */</span><span class="WHIT">
-<span class='line'>271</span> </span><span class="WHIT">		</span><span class="NAME">getStartElement</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>272</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>273</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>274</span> </span><span class="WHIT">				</span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>259</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sel.rangeCount</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>260</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>261</span> </span><span class="WHIT">						</span><span class="COMM">// Check if the actual selection is a control (IMG,</span><span class="WHIT">
+<span class='line'>262</span> </span><span class="WHIT">						</span><span class="COMM">// TABLE, HR, etc...).</span><span class="WHIT">
+<span class='line'>263</span>
+<span class='line'>264</span> </span><span class="WHIT">						</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.getRangeAt</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>265</span> </span><span class="WHIT">							</span><span class="NAME">startContainer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range.startContainer</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>266</span>
+<span class='line'>267</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">startContainer</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">range.endContainer</span><span class="WHIT">
+<span class='line'>268</span> </span><span class="WHIT">							</span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">startContainer.nodeType</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT">
+<span class='line'>269</span> </span><span class="WHIT">							</span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">range.endOffset</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">range.startOffset</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT">
+<span class='line'>270</span> </span><span class="WHIT">							</span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">styleObjectElements</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">startContainer.childNodes</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">range.startOffset</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeName.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>271</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>272</span> </span><span class="WHIT">							</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>273</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>274</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
 <span class='line'>275</span>
-<span class='line'>276</span> </span><span class="WHIT">			</span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.getType</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>277</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>278</span> </span><span class="WHIT">				</span><span class="KEYW">case</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
-<span class='line'>279</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.getSelectedElement</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>280</span>
-<span class='line'>281</span> </span><span class="WHIT">				</span><span class="KEYW">case</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
-<span class='line'>282</span>
-<span class='line'>283</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>284</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>285</span> </span><span class="WHIT">						</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.createRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>286</span> </span><span class="WHIT">						</span><span class="NAME">range.collapse</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>287</span>
-<span class='line'>288</span> </span><span class="WHIT">						</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range.parentElement</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>289</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>290</span> </span><span class="WHIT">					</span><span class="KEYW">else</span><span class="WHIT">
-<span class='line'>291</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>292</span> </span><span class="WHIT">						</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.anchorNode</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>293</span>
-<span class='line'>294</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node.nodeType</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>295</span> </span><span class="WHIT">							</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">node.parentNode</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>296</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>297</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>276</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>277</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>278</span>
+<span class='line'>279</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>280</span> 		 * Gets the DOM element in which the selection starts.
+<span class='line'>281</span> 		 * @returns {CKEDITOR.dom.element} The element at the beginning of the
+<span class='line'>282</span> 		 *		selection.
+<span class='line'>283</span> 		 * @example
+<span class='line'>284</span> 		 * var element = editor.getSelection().&lt;b>getStartElement()&lt;/b>;
+<span class='line'>285</span> 		 * alert( element.getName() );
+<span class='line'>286</span> 		 */</span><span class="WHIT">
+<span class='line'>287</span> </span><span class="WHIT">		</span><span class="NAME">getStartElement</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>288</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>289</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>290</span> </span><span class="WHIT">				</span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>291</span>
+<span class='line'>292</span> </span><span class="WHIT">			</span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.getType</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>293</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>294</span> </span><span class="WHIT">				</span><span class="KEYW">case</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>295</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.getSelectedElement</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>296</span>
+<span class='line'>297</span> </span><span class="WHIT">				</span><span class="KEYW">case</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_TEXT</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
 <span class='line'>298</span>
-<span class='line'>299</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.dom.element</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>300</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'>301</span>
-<span class='line'>302</span> </span><span class="WHIT">		</span><span class="COMM">/**
-<span class='line'>303</span> 		 * Gets the current selected element.
-<span class='line'>304</span> 		 * @returns {CKEDITOR.dom.element} The selected element. Null if no
-<span class='line'>305</span> 		 *		selection is available or the selection type is not
-<span class='line'>306</span> 		 *		{@link CKEDITOR.SELECTION_ELEMENT}.
-<span class='line'>307</span> 		 * @example
-<span class='line'>308</span> 		 * var element = editor.getSelection().&lt;b>getSelectedElement()&lt;/b>;
-<span class='line'>309</span> 		 * alert( element.getName() );
-<span class='line'>310</span> 		 */</span><span class="WHIT">
-<span class='line'>311</span> </span><span class="WHIT">		</span><span class="NAME">getSelectedElement</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>312</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>313</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>299</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>300</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>301</span> </span><span class="WHIT">						</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.createRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>302</span> </span><span class="WHIT">						</span><span class="NAME">range.collapse</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>303</span>
+<span class='line'>304</span> </span><span class="WHIT">						</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range.parentElement</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>305</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>306</span> </span><span class="WHIT">					</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>307</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>308</span> </span><span class="WHIT">						</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.anchorNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>309</span>
+<span class='line'>310</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node.nodeType</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>311</span> </span><span class="WHIT">							</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">node.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>312</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>313</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
 <span class='line'>314</span>
-<span class='line'>315</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.getType</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>316</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>317</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>318</span>
-<span class='line'>319</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'>320</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>321</span> </span><span class="WHIT">					</span><span class="KEYW">try</span><span class="WHIT">
-<span class='line'>322</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>323</span> </span><span class="WHIT">						</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.createRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">item</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>324</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>325</span> </span><span class="WHIT">					</span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>326</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>327</span> </span><span class="WHIT">				</span><span class="KEYW">else</span><span class="WHIT">
-<span class='line'>328</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>329</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.getRangeAt</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>330</span> </span><span class="WHIT">					</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range.startContainer.childNodes</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">range.startOffset</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>331</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>332</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>333</span>
-<span class='line'>334</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.dom.element</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>335</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>336</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>337</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>338</span> </span></pre></body></html>
+<span class='line'>315</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.dom.element</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>316</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>317</span>
+<span class='line'>318</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>319</span> 		 * Gets the current selected element.
+<span class='line'>320</span> 		 * @returns {CKEDITOR.dom.element} The selected element. Null if no
+<span class='line'>321</span> 		 *		selection is available or the selection type is not
+<span class='line'>322</span> 		 *		{@link CKEDITOR.SELECTION_ELEMENT}.
+<span class='line'>323</span> 		 * @example
+<span class='line'>324</span> 		 * var element = editor.getSelection().&lt;b>getSelectedElement()&lt;/b>;
+<span class='line'>325</span> 		 * alert( element.getName() );
+<span class='line'>326</span> 		 */</span><span class="WHIT">
+<span class='line'>327</span> </span><span class="WHIT">		</span><span class="NAME">getSelectedElement</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>328</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>329</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>330</span>
+<span class='line'>331</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.getType</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.SELECTION_ELEMENT</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>332</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>333</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>334</span>
+<span class='line'>335</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>336</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>337</span> </span><span class="WHIT">					</span><span class="KEYW">try</span><span class="WHIT">
+<span class='line'>338</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>339</span> </span><span class="WHIT">						</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.createRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">item</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>340</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>341</span> </span><span class="WHIT">					</span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>342</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>343</span> </span><span class="WHIT">				</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>344</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>345</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.getRangeAt</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>346</span> </span><span class="WHIT">					</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">range.startContainer.childNodes</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">range.startOffset</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>347</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>348</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>349</span>
+<span class='line'>350</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.dom.element</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>351</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>352</span>
+<span class='line'>353</span> </span><span class="WHIT">		</span><span class="NAME">selectElement</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>354</span> </span><span class="WHIT">			</span><span class="NAME">CKEDITOR.env.ie</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
+<span class='line'>355</span> </span><span class="WHIT">				</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>356</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>357</span> </span><span class="WHIT">					</span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">empty</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>358</span>
+<span class='line'>359</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>360</span> </span><span class="WHIT">					</span><span class="KEYW">try</span><span class="WHIT">
+<span class='line'>361</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>362</span> </span><span class="WHIT">						</span><span class="COMM">// Try to select the node as a control.</span><span class="WHIT">
+<span class='line'>363</span> </span><span class="WHIT">						</span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.document.$.body.createControlRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>364</span> </span><span class="WHIT">						</span><span class="NAME">range.addElement</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element.$</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>365</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>366</span> </span><span class="WHIT">					</span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>367</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>368</span> </span><span class="WHIT">						</span><span class="COMM">// If failed, select it as a text range.</span><span class="WHIT">
+<span class='line'>369</span> </span><span class="WHIT">						</span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.document.$.body.createTextRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>370</span> </span><span class="WHIT">						</span><span class="NAME">range.moveToElementText</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element.$</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>371</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>372</span>
+<span class='line'>373</span> </span><span class="WHIT">					</span><span class="NAME">range.select</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>374</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>375</span> </span><span class="WHIT">			</span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>376</span> </span><span class="WHIT">				</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>377</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>378</span> </span><span class="WHIT">					</span><span class="COMM">// Create the range for the element.</span><span class="WHIT">
+<span class='line'>379</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.document.$.createRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>380</span> </span><span class="WHIT">					</span><span class="NAME">range.selectNode</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">element.$</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>381</span>
+<span class='line'>382</span> </span><span class="WHIT">					</span><span class="COMM">// Select the range.</span><span class="WHIT">
+<span class='line'>383</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNative</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>384</span> </span><span class="WHIT">					</span><span class="NAME">sel.removeAllRanges</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>385</span> </span><span class="WHIT">					</span><span class="NAME">sel.addRange</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">range</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>386</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>387</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>388</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>389</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__sourcearea_plugin.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__sourcearea_plugin.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__sourcearea_plugin.js.html	(revision 2278)
@@ -36,59 +36,92 @@
 <span class='line'> 29</span> </span><span class="WHIT">	</span><span class="NAME">init</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pluginPath</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
 <span class='line'> 30</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 31</span> </span><span class="WHIT">		</span><span class="NAME">editor.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'editingBlockReady'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 32</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 33</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">textarea</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 34</span>
-<span class='line'> 35</span> </span><span class="WHIT">				</span><span class="NAME">editor.addMode</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'source'</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 36</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 37</span> </span><span class="WHIT">						</span><span class="NAME">load</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">holderElement</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 38</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 39</span> </span><span class="WHIT">							</span><span class="COMM">// Create the source area &lt;textarea>.</span><span class="WHIT">
-<span class='line'> 40</span> </span><span class="WHIT">							</span><span class="NAME">textarea</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.dom.element</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'textarea'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 41</span> </span><span class="WHIT">							</span><span class="NAME">textarea.setAttribute</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'dir'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'ltr'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 42</span> </span><span class="WHIT">							</span><span class="NAME">textarea.addClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'cke_source'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 43</span> </span><span class="WHIT">							</span><span class="NAME">textarea.setStyles</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 44</span> </span><span class="WHIT">								</span><span class="NAME">width</span><span class="WHIT">	</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'100%'</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 45</span> </span><span class="WHIT">								</span><span class="NAME">height</span><span class="WHIT">	</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'100%'</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 46</span> </span><span class="WHIT">								</span><span class="NAME">resize</span><span class="WHIT">	</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 47</span> </span><span class="WHIT">								</span><span class="NAME">outline</span><span class="WHIT">	</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 48</span> </span><span class="WHIT">								</span><span class="STRN">'text-align'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'left'</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 49</span>
-<span class='line'> 50</span> </span><span class="WHIT">							</span><span class="COMM">// Set the &lt;textarea> value.</span><span class="WHIT">
-<span class='line'> 51</span> </span><span class="WHIT">							</span><span class="NAME">this.loadData</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 52</span>
-<span class='line'> 53</span> </span><span class="WHIT">							</span><span class="COMM">// Reset the holder element and append the</span><span class="WHIT">
-<span class='line'> 54</span> </span><span class="WHIT">							</span><span class="COMM">// &lt;textarea> to it.</span><span class="WHIT">
-<span class='line'> 55</span> </span><span class="WHIT">							</span><span class="NAME">holderElement.setHtml</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 56</span> </span><span class="WHIT">							</span><span class="NAME">holderElement.append</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">textarea</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 57</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 58</span>
-<span class='line'> 59</span> </span><span class="WHIT">						</span><span class="NAME">loadData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 60</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 61</span> </span><span class="WHIT">							</span><span class="NAME">textarea.setValue</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 62</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 63</span>
-<span class='line'> 64</span> </span><span class="WHIT">						</span><span class="NAME">getData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 65</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 66</span> </span><span class="WHIT">							</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">textarea.getValue</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 67</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 68</span>
-<span class='line'> 69</span> </span><span class="WHIT">						</span><span class="NAME">getSnapshotData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 70</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 71</span> </span><span class="WHIT">							</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">textarea.getValue</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 72</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 73</span>
-<span class='line'> 74</span> </span><span class="WHIT">						</span><span class="NAME">unload</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">holderElement</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 75</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 76</span> </span><span class="WHIT">							</span><span class="NAME">textarea</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 77</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
-<span class='line'> 78</span>
-<span class='line'> 79</span> </span><span class="WHIT">						</span><span class="NAME">focus</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 80</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 81</span> </span><span class="WHIT">							</span><span class="NAME">textarea.focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 82</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 83</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 84</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 85</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 86</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 87</span> </span></pre></body></html>
+<span class='line'> 31</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sourcearea</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.plugins.sourcearea</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 32</span>
+<span class='line'> 33</span> </span><span class="WHIT">		</span><span class="NAME">editor.on</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'editingBlockReady'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 34</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">textarea</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 36</span>
+<span class='line'> 37</span> </span><span class="WHIT">				</span><span class="NAME">editor.addMode</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'source'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 38</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 39</span> </span><span class="WHIT">						</span><span class="NAME">load</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">holderElement</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 40</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 41</span> </span><span class="WHIT">							</span><span class="COMM">// Create the source area &lt;textarea>.</span><span class="WHIT">
+<span class='line'> 42</span> </span><span class="WHIT">							</span><span class="NAME">textarea</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.dom.element</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'textarea'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 43</span> </span><span class="WHIT">							</span><span class="NAME">textarea.setAttribute</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'dir'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'ltr'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 44</span> </span><span class="WHIT">							</span><span class="NAME">textarea.addClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'cke_source'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 45</span> </span><span class="WHIT">							</span><span class="NAME">textarea.setStyles</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 46</span> </span><span class="WHIT">								</span><span class="NAME">width</span><span class="WHIT">	</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'100%'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 47</span> </span><span class="WHIT">								</span><span class="NAME">height</span><span class="WHIT">	</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'100%'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 48</span> </span><span class="WHIT">								</span><span class="NAME">resize</span><span class="WHIT">	</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 49</span> </span><span class="WHIT">								</span><span class="NAME">outline</span><span class="WHIT">	</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 50</span> </span><span class="WHIT">								</span><span class="STRN">'text-align'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'left'</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 51</span>
+<span class='line'> 52</span> </span><span class="WHIT">							</span><span class="COMM">// Set the &lt;textarea> value.</span><span class="WHIT">
+<span class='line'> 53</span> </span><span class="WHIT">							</span><span class="NAME">this.loadData</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 54</span>
+<span class='line'> 55</span> </span><span class="WHIT">							</span><span class="COMM">// Reset the holder element and append the</span><span class="WHIT">
+<span class='line'> 56</span> </span><span class="WHIT">							</span><span class="COMM">// &lt;textarea> to it.</span><span class="WHIT">
+<span class='line'> 57</span> </span><span class="WHIT">							</span><span class="NAME">holderElement.setHtml</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 58</span> </span><span class="WHIT">							</span><span class="NAME">holderElement.append</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">textarea</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 59</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 60</span>
+<span class='line'> 61</span> </span><span class="WHIT">						</span><span class="NAME">loadData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 62</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 63</span> </span><span class="WHIT">							</span><span class="NAME">textarea.setValue</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">data</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 64</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 65</span>
+<span class='line'> 66</span> </span><span class="WHIT">						</span><span class="NAME">getData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 67</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 68</span> </span><span class="WHIT">							</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">textarea.getValue</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 69</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 70</span>
+<span class='line'> 71</span> </span><span class="WHIT">						</span><span class="NAME">getSnapshotData</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 72</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 73</span> </span><span class="WHIT">							</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">textarea.getValue</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 74</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 75</span>
+<span class='line'> 76</span> </span><span class="WHIT">						</span><span class="NAME">unload</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">holderElement</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 77</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="WHIT">							</span><span class="NAME">textarea</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 79</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 80</span>
+<span class='line'> 81</span> </span><span class="WHIT">						</span><span class="NAME">focus</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 82</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 83</span> </span><span class="WHIT">							</span><span class="NAME">textarea.focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 84</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 85</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 86</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 87</span>
+<span class='line'> 88</span> </span><span class="WHIT">		</span><span class="NAME">editor.addCommand</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'source'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sourcearea.commands.source</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 89</span> </span><span class="WHIT">		</span><span class="NAME">editor.ui.addButton</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'Source'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sourcearea.ui.source</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 90</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 91</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 92</span>
+<span class='line'> 93</span> </span><span class="COMM">/**
+<span class='line'> 94</span>  * Holds the definition of commands an UI elements included with the sourcearea
+<span class='line'> 95</span>  * plugin.
+<span class='line'> 96</span>  * @example
+<span class='line'> 97</span>  */</span><span class="WHIT">
+<span class='line'> 98</span> </span><span class="NAME">CKEDITOR.plugins.sourcearea</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'> 99</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>100</span> </span><span class="WHIT">	</span><span class="NAME">commands</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>101</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>102</span> </span><span class="WHIT">		</span><span class="NAME">source</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>103</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>104</span> </span><span class="WHIT">			</span><span class="NAME">exec</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>105</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>106</span> </span><span class="WHIT">				</span><span class="NAME">editor.setMode</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor.mode</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'source'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'wysiwyg'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'source'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>107</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>108</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>109</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>110</span>
+<span class='line'>111</span> </span><span class="WHIT">	</span><span class="NAME">ui</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>112</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>113</span> </span><span class="WHIT">		</span><span class="NAME">source</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>114</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>115</span> </span><span class="WHIT">			</span><span class="NAME">label</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'Source'</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>116</span> </span><span class="WHIT">			</span><span class="NAME">command</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'source'</span><span class="WHIT">
+<span class='line'>117</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>118</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>119</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>120</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__toolbar_plugin.js.html
===================================================================
--- /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__toolbar_plugin.js.html	(revision 2277)
+++ /CKEditor/branches/prototype/_docs/api/symbols/src/_source_plugins__toolbar_plugin.js.html	(revision 2278)
@@ -39,19 +39,79 @@
 <span class='line'> 32</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
 <span class='line'> 33</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">event.data.space</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">editor.config.toolbarLocation</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
-<span class='line'> 34</span> </span><span class="WHIT">					</span><span class="NAME">event.data.html</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT">
-<span class='line'> 35</span> </span><span class="WHIT">						</span><span class="STRN">'&lt;div>Toolbar!&lt;/div>'</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 36</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 37</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 38</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 39</span>
-<span class='line'> 40</span> </span><span class="COMM">/**
-<span class='line'> 41</span>  * The "theme space" to which rendering the toolbar. For the default theme,
-<span class='line'> 42</span>  * the recommended options are "top" and "bottom".
-<span class='line'> 43</span>  * @type String
-<span class='line'> 44</span>  * @default 'top'
-<span class='line'> 45</span>  * @see CKEDITOR.config.theme
-<span class='line'> 46</span>  * @example
-<span class='line'> 47</span>  * config.toolbarLocation = 'bottom';
-<span class='line'> 48</span>  */</span><span class="WHIT">
-<span class='line'> 49</span> </span><span class="NAME">CKEDITOR.config.toolbarLocation</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'top'</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 50</span> </span></pre></body></html>
+<span class='line'> 34</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">output</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'&lt;div class="cke_toolbox">'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 36</span>
+<span class='line'> 37</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">toolbar</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor.config.toolbar</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 38</span>
+<span class='line'> 39</span> </span><span class="WHIT">					</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">r</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">toolbar.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 40</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 41</span> </span><span class="WHIT">						</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">row</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">toolbar</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">r</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 42</span>
+<span class='line'> 43</span> </span><span class="WHIT">						</span><span class="NAME">output.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;div class="cke_toolbar">'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 44</span>
+<span class='line'> 45</span> </span><span class="WHIT">						</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">row.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 46</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 47</span> </span><span class="WHIT">							</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">item</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 48</span> </span><span class="WHIT">								</span><span class="NAME">itemName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">row</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 49</span>
+<span class='line'> 50</span> </span><span class="WHIT">							</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">itemName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'-'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 51</span> </span><span class="WHIT">								</span><span class="NAME">item</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CKEDITOR.ui.separator</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 52</span> </span><span class="WHIT">							</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'> 53</span> </span><span class="WHIT">								</span><span class="NAME">item</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">editor.ui.get</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">row</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 54</span>
+<span class='line'> 55</span> </span><span class="WHIT">							</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">item</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 56</span> </span><span class="WHIT">								</span><span class="NAME">item.render</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">output</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 57</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 58</span>
+<span class='line'> 59</span> </span><span class="WHIT">						</span><span class="NAME">output.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;/div>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 60</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 61</span>
+<span class='line'> 62</span> </span><span class="WHIT">					</span><span class="NAME">output.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;/div>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 63</span>
+<span class='line'> 64</span> </span><span class="WHIT">					</span><span class="NAME">event.data.html</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">output.join</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 65</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 66</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 67</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 68</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 69</span>
+<span class='line'> 70</span> </span><span class="COMM">/**
+<span class='line'> 71</span>  * The UI element that renders a toolbar separator.
+<span class='line'> 72</span>  * @type Object
+<span class='line'> 73</span>  * @example
+<span class='line'> 74</span>  */</span><span class="WHIT">
+<span class='line'> 75</span> </span><span class="NAME">CKEDITOR.ui.separator</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'> 76</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 77</span> </span><span class="WHIT">	</span><span class="NAME">render</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">editor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">output</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 79</span> </span><span class="WHIT">		</span><span class="NAME">output.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;span class="cke_separator">&lt;/span>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 80</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 81</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 82</span>
+<span class='line'> 83</span> </span><span class="COMM">/**
+<span class='line'> 84</span>  * The "theme space" to which rendering the toolbar. For the default theme,
+<span class='line'> 85</span>  * the recommended options are "top" and "bottom".
+<span class='line'> 86</span>  * @type String
+<span class='line'> 87</span>  * @default 'top'
+<span class='line'> 88</span>  * @see CKEDITOR.config.theme
+<span class='line'> 89</span>  * @example
+<span class='line'> 90</span>  * config.toolbarLocation = 'bottom';
+<span class='line'> 91</span>  */</span><span class="WHIT">
+<span class='line'> 92</span> </span><span class="NAME">CKEDITOR.config.toolbarLocation</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'top'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 93</span>
+<span class='line'> 94</span> </span><span class="COMM">/**
+<span class='line'> 95</span>  * The toolbox (alias toolbar) definition. It is an array of toolbars (strips),
+<span class='line'> 96</span>  * each one being also an array, containing a list of UI items.
+<span class='line'> 97</span>  * @type Array
+<span class='line'> 98</span>  * @example
+<span class='line'> 99</span>  * // Defines a toolbar with only one strip containing the "Source" button, a
+<span class='line'>100</span>  * // separator and the "Bold" and "Italic" buttons.
+<span class='line'>101</span>  * &lt;b>CKEDITOR.config.toolbar =
+<span class='line'>102</span>  * [
+<span class='line'>103</span>  *     [ 'Source', '-', 'Bold', 'Italic' ]
+<span class='line'>104</span>  * ]&lt;/b>;
+<span class='line'>105</span>  */</span><span class="WHIT">
+<span class='line'>106</span> </span><span class="NAME">CKEDITOR.config.toolbar</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'>107</span> </span><span class="PUNC">[</span><span class="WHIT">
+<span class='line'>108</span> </span><span class="WHIT">	</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">'Source'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'-'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'Bold'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'Italic'</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT">
+<span class='line'>109</span> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>110</span> </span></pre></body></html>
Index: /CKEditor/branches/prototype/_samples/sample01.html
===================================================================
--- /CKEditor/branches/prototype/_samples/sample01.html	(revision 2277)
+++ /CKEditor/branches/prototype/_samples/sample01.html	(revision 2278)
@@ -34,9 +34,4 @@
 			</p>
 			<p>
-				<label for="editor2">
-					Editor 2:</label><br />
-				<textarea id="editor2" name="editor2" class="ckeditor" rows="10" cols="80">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://www.fckeditor.net/"&gt;FCKeditor&lt;/a&gt;.&lt;/p&gt;</textarea>
-			</p>
-			<p>
 				<input type="submit" value="Submit" />
 			</p>
Index: /CKEditor/branches/prototype/_source/core/commandDefinition.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/commandDefinition.js	(revision 2278)
+++ /CKEditor/branches/prototype/_source/core/commandDefinition.js	(revision 2278)
@@ -0,0 +1,51 @@
+﻿/*
+ * CKEditor - The text editor for Internet - http://ckeditor.com
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ */
+
+/**
+ * @fileOverview Defines the "virtual" {@link CKEDITOR.commandDefinition} class,
+ *		which contains the defintion of a command. This file is for
+ *		documentation purposes only.
+ */
+
+/**
+ * (Virtual Class) Do not call this constructor. This class is not really part
+ *		of the API. It just illustrates the features of command objects to be
+ *		passed to the {@link CKEDITOR.editor.prototype.addCommand} function.
+ * @name CKEDITOR.commandDefinition
+ * @constructor
+ * @example
+ */
+
+ /**
+ * Executes the command.
+ * @name CKEDITOR.commandDefinition.prototype.exec
+ * @function
+ * @param {CKEDITOR.editor} editor The editor within which run the command.
+ * @param {Object} [data] Additional data to be used to execute the command.
+ * @example
+ * editorInstance.addCommand( 'sample',
+ * {
+ *     exec : function( editor )
+ *     {
+ *         alert( 'Executing a command for the editor name "' + editor.name + '"!' );
+ *     }
+ * });
+ */
Index: /CKEditor/branches/prototype/_source/core/config.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/config.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/core/config.js	(revision 2278)
@@ -136,5 +136,5 @@
 	 * config.plugins = 'editingblock,toolbar,wysiwygarea';
 	 */
-	plugins : 'basicstyles,editingblock,elementspath,htmldataprocessor,selection,sourcearea,toolbar,wysiwygarea',
+	plugins : 'basicstyles,button,editingblock,elementspath,htmldataprocessor,selection,sourcearea,toolbar,wysiwygarea',
 
 	/**
Index: /CKEditor/branches/prototype/_source/core/dom/element.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/dom/element.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/core/dom/element.js	(revision 2278)
@@ -494,4 +494,50 @@
 				this.setStyle( name, stylesPairs[ name ] );
 			return this;
-		}
+		},
+
+		/**
+		 * Makes the element unselectable.
+		 * @function
+		 * @example
+		 * var element = CKEDITOR.dom.element.getById( 'myElement' );
+		 * element.unselectable();
+		 */
+		unselectable :
+			CKEDITOR.env.gecko ?
+				function()
+				{
+					this.$.style.MozUserSelect = 'none';
+				}
+			: CKEDITOR.env.webkit ?
+				function()
+				{
+					this.$.style.KhtmlUserSelect = 'none';
+				}
+			:
+				function()
+				{
+					if ( CKEDITOR.env.ie || CKEDITOR.env.opera )
+					{
+						var element = this.$,
+							e,
+							i = 0;
+
+						element.unselectable = 'on';
+
+						while ( ( e = element.all[ i++ ] ) )
+						{
+							switch ( e.tagName.toLowerCase() )
+							{
+								case 'iframe' :
+								case 'textarea' :
+								case 'input' :
+								case 'select' :
+									/* Ignore the above tags */
+									break;
+								default :
+									e.unselectable = 'on';
+							}
+						}
+					}
+				}
 	});
Index: /CKEditor/branches/prototype/_source/core/editor.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/editor.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/core/editor.js	(revision 2278)
@@ -148,11 +148,15 @@
 				editor.plugins = plugins;
 
-				// Initialize all plugins that have the "init" method defined.
-				for ( var i = 0 ; i < plugins.length ; i++ )
+				// Initialize all plugins that have the "beforeInit" and "init" methods defined.
+				var methods = [ 'beforeInit', 'init' ];
+				for ( var m = 0 ; m < methods.length ; m++ )
 				{
-					var pluginName = plugins[ i ];
-					var plugin = CKEDITOR.plugins.get( pluginName );
-					if ( plugin && plugin.init )
-						plugin.init( editor, CKEDITOR.plugins.getPath( pluginName ) );
+					for ( var i = 0 ; i < plugins.length ; i++ )
+					{
+						var pluginName = plugins[ i ];
+						var plugin = CKEDITOR.plugins.get( pluginName );
+						if ( plugin && plugin[ methods[ m ] ] )
+							plugin[ methods[ m ] ]( editor, CKEDITOR.plugins.getPath( pluginName ) );
+					}
 				}
 
@@ -220,4 +224,12 @@
 		this.config = new config();
 
+		/**
+		 * Namespace containing UI features related to this editor instance.
+		 * @name CKEDITOR.editor.prototype.ui
+		 * @type CKEDITOR.ui
+		 * @example
+		 */
+		this.ui = new CKEDITOR.ui( this );
+
 		// Call initConfig using events, to be sure that instanceCreated is
 		// fired first.
@@ -231,4 +243,18 @@
 CKEDITOR.editor.prototype =
 {
+	/**
+	 * Adds a command definition to the editor instance. Commands added with
+	 * this function can be later executed with {@link #execCommand}.
+	 * @param {String} commandName The indentifier name of the command.
+	 * @param {CKEDITOR.commandDefinition} commandDefinition The command definition.
+	 * @example
+	 * editorInstance.addCommand( 'sample',
+	 * {
+	 *     exec : function( editor )
+	 *     {
+	 *         alert( 'Executing a command for the editor name "' + editor.name + '"!' );
+	 *     }
+	 * });
+	 */
 	addCommand : function( commandName, commandDefinition )
 	{
@@ -236,16 +262,18 @@
 	},
 
+	/**
+	 * Executes a command.
+	 * @param {String} commandName The indentifier name of the command.
+	 * @param {Object} [data] Data to be passed to the command
+	 * @example
+	 * editorInstance.execCommand( 'Bold' );
+	 */
 	execCommand : function( commandName, data )
 	{
-		var command = this.getCommand( commandName );
+		var command = this._.commands[ commandName ];
 		if ( command )
-			return command.exec( data );
+			return command.exec( this, data );
 
 		throw 'Unknown command name "' + commandName + '"';
-	},
-
-	getCommand : function( commandName )
-	{
-		return this._.commands[ commandName ] || null;
 	},
 
Index: /CKEditor/branches/prototype/_source/core/loader.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/loader.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/core/loader.js	(revision 2278)
@@ -54,5 +54,5 @@
 		'core/dom/text'			: [ 'core/dom/node', 'core/dom/domobject' ],
 		'core/dom/window'		: [ 'core/dom/domobject' ],
-		'core/editor'			: [ 'core/config', 'core/event', 'core/plugins', 'core/skins', 'core/themes', 'core/tools' ],
+		'core/editor'			: [ 'core/config', 'core/event', 'core/plugins', 'core/skins', 'core/themes', 'core/tools', 'core/ui' ],
 		'core/env'				: [],
 		'core/event'			: [],
@@ -63,4 +63,5 @@
 		'core/themes'			: [ 'lang/en', 'core/resourceManager' ],
 		'core/tools'			: [ 'core/env' ],
+		'core/ui'				: [],
 		'core/xml'				: [ 'core/env' ]
 	};
Index: /CKEditor/branches/prototype/_source/core/pluginDefinition.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/pluginDefinition.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/core/pluginDefinition.js	(revision 2278)
@@ -27,11 +27,30 @@
 
 /**
- * This class is not really part of the API. It just illustrates the features
- *		of plugin objects to passed to the {@link CKEDITOR.plugins.add} function.
+ * (Virtual Class) Do not call this constructor. This class is not really part
+ *		of the API. It just illustrates the features of plugin objects to be
+ *		passed to the {@link CKEDITOR.plugins.add} function.
  * @name CKEDITOR.pluginDefinition
  * @constructor
  * @example
- * // Do not do this.
- * var myEvent = new CKEDITOR.pluginDefinition();  // Error: CKEDITOR.pluginDefinition is undefined
+ */
+
+ /**
+ * Function called on initialization of every editor instance created in the
+ * page before the init() call task. The beforeInit function will be called for
+ * all plugins, after that the init function is called for all of them. This
+ * feature makes it possible to initialize things that could be used in the
+ * init function of other plugins.
+ * @name CKEDITOR.pluginDefinition.prototype.beforeInit
+ * @function
+ * @param {CKEDITOR.editor} editor The editor instance being initialized.
+ * @param {String} pluginPath The URL path for the plugin installation folder.
+ * @example
+ * CKEDITOR.plugins.add( 'sample',
+ * {
+ *     beforeInit : function( editor, pluginPath )
+ *     {
+ *         alert( 'Editor "' + editor.name + '" is to be initialized!' );
+ *     }
+ * });
  */
 
Index: /CKEditor/branches/prototype/_source/core/skins.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/skins.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/core/skins.js	(revision 2278)
@@ -60,5 +60,5 @@
 		{
 			loadCss( CKEDITOR.getUrl(
-				'_source/' +	// @Packager.RemoveLine
+				'_source/' +	// TODO: Add @-Packager.RemoveLine to the final build process.
 				'skins/' + skinName + '/' + skinPart + '.css' ) );
 		}
Index: /CKEditor/branches/prototype/_source/core/ui.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/ui.js	(revision 2278)
+++ /CKEditor/branches/prototype/_source/core/ui.js	(revision 2278)
@@ -0,0 +1,111 @@
+﻿/*
+ * CKEditor - The text editor for Internet - http://ckeditor.com
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ */
+
+/**
+ * Contains UI features related to an editor instance.
+ * @constructor
+ * @param {CKEDITOR.editor} editor The editor instance.
+ * @example
+ */
+CKEDITOR.ui = function( editor )
+{
+	if ( editor.ui )
+		return editor.ui;
+
+	this._ =
+	{
+		handlers : {},
+		items : {}
+	};
+
+	return this;
+};
+
+CKEDITOR.ui.prototype =
+{
+	/**
+	 * Adds a UI item to the items collection. These items can be later used in
+	 * the interface.
+	 * @param {String} name The UI item name.
+	 * @param {Object} type The item type.
+	 * @param {Object} definition The item definition. The properties of this
+	 *		object depend on the item type.
+	 * @example
+	 * // Add a new button named "MyBold".
+	 * editorInstance.ui.add( 'MyBold', CKEDITOR.UI_BUTTON,
+	 *     {
+	 *         label : 'My Bold',
+	 *         command : 'bold'
+	 *     });
+	 */
+	add : function( name, type, definition )
+	{
+		var item = this._.handlers[ type ].create( definition );
+		item.name = name;
+		this._.items[ name ] = item;
+	},
+
+	/**
+	 * Gets a UI object.
+	 * @param {String} name The UI item hame.
+	 * @example
+	 */
+	get : function( name )
+	{
+		return this._.items[ name ] || null;
+	},
+
+	/**
+	 * Adds a handler for a UI item type. The handler is responsible for
+	 * transforming UI item definitions in UI objects.
+	 * @param {Object} type The item type.
+	 * @param {Object} handler The handler definition.
+	 * @example
+	 */
+	addHandler : function( type, handler )
+	{
+		this._.handlers[ type ] = handler;
+	}
+};
+
+/**
+ * (Virtual Class) Do not call this constructor. This class is not really part
+ *		of the API. It just illustrates the features of hanlder objects to be
+ *		passed to the {@link CKEDITOR.ui.prototype.addHandler} function.
+ * @name CKEDITOR.ui.handlerDefinition
+ * @constructor
+ * @example
+ */
+
+ /**
+ * Transforms an item definition into an UI item object.
+ * @name CKEDITOR.handlerDefinition.prototype.create
+ * @function
+ * @param {Object} definition The item definition.
+ * @example
+ * editorInstance.ui.addHandler( CKEDITOR.UI_BUTTON,
+ *     {
+ *         create : function( definition )
+ *         {
+ *             return new CKEDITOR.ui.button( definition );
+ *         }
+ *     });
+ */
Index: /CKEditor/branches/prototype/_source/plugins/basicstyles/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/basicstyles/plugin.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/plugins/basicstyles/plugin.js	(revision 2278)
@@ -24,28 +24,60 @@
 	init : function( editor, pluginPath )
 	{
-		editor.addCommand( 'bold',
-			{
-				exec : function()
-				{
-					editor.focus();
+		var basicstyles = CKEDITOR.plugins.basicstyles,
+			commands = basicstyles.commands,
+			ui = basicstyles.ui;
 
-					var doc = editor.document;
-					if ( doc )
-						return doc.$.execCommand( 'bold', false, null );
-					return false;
-				}
-			});
+		editor.addCommand( 'bold', commands.bold );
+		editor.addCommand( 'italic', commands.italic );
 
-		editor.addCommand( 'italic',
-			{
-				exec : function()
-				{
-					editor.focus();
-					var doc = editor.document;
-					if ( doc )
-						return doc.$.execCommand( 'italic', false, null );
-					return false;
-				}
-			});
+		editor.ui.addButton( 'Bold', ui.bold );
+		editor.ui.addButton( 'Italic', ui.italic );
 	}
 });
+
+CKEDITOR.plugins.basicstyles =
+{
+	commands :
+	{
+		bold :
+		{
+			exec : function( editor )
+			{
+				editor.focus();
+
+				var doc = editor.document;
+				if ( doc )
+					return doc.$.execCommand( 'bold', false, null );
+				return false;
+			}
+		},
+
+		italic :
+		{
+			exec : function( editor )
+			{
+				editor.focus();
+
+				var doc = editor.document;
+				if ( doc )
+					return doc.$.execCommand( 'italic', false, null );
+				return false;
+			}
+		}
+	},
+
+	ui :
+	{
+		bold :
+		{
+			label : 'Bold',
+			command : 'bold'
+		},
+
+		italic :
+		{
+			label : 'Italic',
+			command : 'italic'
+		}
+	}
+};
Index: /CKEditor/branches/prototype/_source/plugins/button/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/button/plugin.js	(revision 2278)
+++ /CKEditor/branches/prototype/_source/plugins/button/plugin.js	(revision 2278)
@@ -0,0 +1,151 @@
+﻿/*
+ * CKEditor - The text editor for Internet - http://ckeditor.com
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ */
+
+CKEDITOR.plugins.add( 'button',
+{
+	beforeInit : function( editor )
+	{
+		editor.ui.addHandler( CKEDITOR.UI_BUTTON, CKEDITOR.ui.button.handler );
+	}
+});
+
+/**
+ * Button UI element.
+ * @constant
+ * @example
+ */
+CKEDITOR.UI_BUTTON = 1;
+
+/**
+ * Represents a button UI element. This class should not be called directly. To
+ * create new buttons use {@link CKEDITOR.ui.prototype.addButton} instead.
+ * @constructor
+ * @param {Object} definition The button definition.
+ * @example
+ */
+CKEDITOR.ui.button = function( definition )
+{
+	/**
+	 * The button label.
+	 * @name CKEDITOR.ui.button.prototype.label
+	 * @type String
+	 * @example
+	 */
+	this.label = definition.label;
+
+	/**
+	 * The command name associated to the button. If no command is defined, the
+	 * "click" event is used.
+	 * @name CKEDITOR.ui.button.prototype.command
+	 * @type String
+	 * @example
+	 */
+	this.command = definition.command;
+
+	/**
+	 * The button advisory title. It is usually displayed as the button tooltip.
+	 * If not defined, the label is used.
+	 * @name CKEDITOR.ui.button.prototype.title
+	 * @type String
+	 * @example
+	 */
+	this.title = definition.title || this.label;
+
+	/**
+	 * The function to be called when the user clicks the button. If not
+	 * defined, the "command" property is required, and the command gets
+	 * executed on click.
+	 * @function
+	 * @name CKEDITOR.ui.button.prototype.click
+	 * @example
+	 */
+	this.click = definition.click || function( editor )
+		{
+			editor.execCommand( definition.command );
+		};
+};
+
+/**
+ * Transforms a button definition in a {@link CKEDITOR.ui.button} instance.
+ * @type Object
+ * @example
+ */
+CKEDITOR.ui.button.handler =
+{
+	create : function( definition )
+	{
+		return new CKEDITOR.ui.button( definition );
+	}
+};
+
+CKEDITOR.ui.button.prototype =
+{
+	/**
+	 * Renders the button.
+	 * @param {CKEDITOR.editor} editor The editor instance which this button is
+	 *		to be used by.
+	 * @param {Array} output The output array to which append the HTML relative
+	 *		to this button.
+	 * @example
+	 */
+	render : function( editor, output )
+	{
+		output.push(
+			'<a id="cke_', CKEDITOR.tools.getNextNumber(),
+				'" class="cke_button" href="do:', this.label,
+				'" title="', this.title,
+				'" onclick="return CKEDITOR.ui.button._.click(\'', editor.name, '\',\'', this.name, '\', this.id);">',
+			this.label, '</a>' );
+	}
+};
+
+/**
+ * Handles a button click.
+ * @private
+ */
+CKEDITOR.ui.button._ =
+{
+	click : function( instanceName, uiItemName, elementId )
+	{
+		var editor = CKEDITOR.instances[ instanceName ];
+		editor.focus();
+
+		var uiItem = editor.ui.get( uiItemName ).click( editor, elementId );
+
+		return false;
+	}
+};
+
+/**
+ * Adds a button definition to the UI elements list.
+ * @param {String} The button name.
+ * @param {Object} The button definition.
+ * @example
+ * editorInstance.ui.addButton( 'MyBold',
+ *     {
+ *         label : 'My Bold',
+ *         command : 'bold'
+ *     });
+ */
+CKEDITOR.ui.prototype.addButton = function( name, definition )
+{
+	this.add( name, CKEDITOR.UI_BUTTON, definition );
+};
Index: /CKEditor/branches/prototype/_source/plugins/elementspath/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/elementspath/plugin.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/plugins/elementspath/plugin.js	(revision 2278)
@@ -52,7 +52,8 @@
 				while ( element )
 				{
-					var index = elementsList.push( element ) - 1;
-					var name = element.getName();
-					html.unshift( '<a href="element:', name, '" onclick="CKEDITOR._.elementsPathClick( \'', this.name, '\',', index, ');return false;">', name, '</a>' );
+					var index = elementsList.push( element ) - 1,
+						name = element.getName();
+
+					html.unshift( '<a href="element:', name, '" onclick="return CKEDITOR._.elementsPathClick( \'', this.name, '\',', index, ');">', name, '</a>' );
 
 					if ( name == 'body' )
@@ -83,3 +84,5 @@
 	var element = editor._.elementsPathList[ elementIndex ];
 	editor.getSelection().selectElement( element );
+
+	return false;
 };
Index: /CKEditor/branches/prototype/_source/plugins/selection/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/selection/plugin.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/plugins/selection/plugin.js	(revision 2278)
@@ -195,17 +195,15 @@
 		 * var selection = editor.getSelection().<b>getNative()</b>;
 		 */
-		getNative : (function()
-		{
-			if ( CKEDITOR.env.ie )
-				return function()
-					{
-						return this.document.$.selection;
-					};
-			else
-				return function()
-					{
-						return this.document.getWindow().$.getSelection();
-					};
-		})(),
+		getNative :
+			CKEDITOR.env.ie ?
+				function()
+				{
+					return this.document.$.selection;
+				}
+			:
+				function()
+				{
+					return this.document.getWindow().$.getSelection();
+				},
 
 		/**
@@ -226,58 +224,56 @@
 		 *     alert( 'Text is selected' );
 		 */
-		getType : (function()
-		{
-			if ( CKEDITOR.env.ie )
-				return function()
-					{
-						try
+		getType :
+			CKEDITOR.env.ie ?
+				function()
+				{
+					try
+					{
+						var sel = this.getNative(),
+							ieType = sel.type;
+
+						if ( ieType == 'Text' )
+							return CKEDITOR.SELECTION_TEXT;
+
+						if ( ieType == 'Control' )
+							return CKEDITOR.SELECTION_ELEMENT;
+
+						// It is possible that we can still get a text range
+						// object even when type == 'None' is returned by IE.
+						// So we'd better check the object returned by
+						// createRange() rather than by looking at the type.
+						if ( sel.createRange().parentElement )
+							return CKEDITOR.SELECTION_TEXT;
+					}
+					catch(e) {}
+
+					return CKEDITOR.SELECTION_NONE;
+				}
+			:
+				function()
+				{
+					var sel = this.getNative();
+					if ( !sel )
+						return CKEDITOR.SELECTION_NONE;
+
+					if ( sel.rangeCount == 1 )
+					{
+						// Check if the actual selection is a control (IMG,
+						// TABLE, HR, etc...).
+
+						var range = sel.getRangeAt(0),
+							startContainer = range.startContainer;
+
+						if ( startContainer == range.endContainer
+							&& startContainer.nodeType == 1
+							&& ( range.endOffset - range.startOffset ) == 1
+							&& styleObjectElements[ startContainer.childNodes[ range.startOffset ].nodeName.toLowerCase() ] )
 						{
-							var sel = this.getNative(),
-								ieType = sel.type;
-
-							if ( ieType == 'Text' )
-								return CKEDITOR.SELECTION_TEXT;
-
-							if ( ieType == 'Control' )
-								return CKEDITOR.SELECTION_ELEMENT;
-
-							// It is possible that we can still get a text range
-							// object even when type == 'None' is returned by IE.
-							// So we'd better check the object returned by
-							// createRange() rather than by looking at the type.
-							if ( sel.createRange().parentElement )
-								return CKEDITOR.SELECTION_TEXT;
+							return CKEDITOR.SELECTION_ELEMENT;
 						}
-						catch(e) {}
-
-						return CKEDITOR.SELECTION_NONE;
-					};
-			else
-				return function()
-					{
-						var sel = this.getNative();
-						if ( !sel )
-							return CKEDITOR.SELECTION_NONE;
-
-						if ( sel.rangeCount == 1 )
-						{
-							// Check if the actual selection is a control (IMG,
-							// TABLE, HR, etc...).
-
-							var range = sel.getRangeAt(0),
-								startContainer = range.startContainer;
-
-							if ( startContainer == range.endContainer
-								&& startContainer.nodeType == 1
-								&& ( range.endOffset - range.startOffset ) == 1
-								&& styleObjectElements[ startContainer.childNodes[ range.startOffset ].nodeName.toLowerCase() ] )
-							{
-								return CKEDITOR.SELECTION_ELEMENT;
-							}
-						}
-
-						return CKEDITOR.SELECTION_TEXT;
-					};
-		})(),
+					}
+
+					return CKEDITOR.SELECTION_TEXT;
+				},
 
 		/**
@@ -355,44 +351,38 @@
 		},
 
-		selectElement : (function()
-		{
-			if ( CKEDITOR.env.ie )
-			{
-				return function( element )
-					{
-						this.getNative().empty() ;
-
-						var range ;
-						try
-						{
-							// Try to select the node as a control.
-							range = this.document.$.body.createControlRange() ;
-							range.addElement( element.$ ) ;
-						}
-						catch(e)
-						{
-							// If failed, select it as a text range.
-							range = this.document.$.body.createTextRange() ;
-							range.moveToElementText( element.$ ) ;
-						}
-
-						range.select() ;
-					};
-			}
-			else
-			{
-				return function( element )
-					{
-						// Create the range for the element.
-						var range = this.document.$.createRange() ;
-						range.selectNode( element.$ ) ;
-
-						// Select the range.
-						var sel = this.getNative() ;
-						sel.removeAllRanges() ;
-						sel.addRange( range ) ;
-					};
-			}
-		})()
+		selectElement :
+			CKEDITOR.env.ie ?
+				function( element )
+				{
+					this.getNative().empty() ;
+
+					var range ;
+					try
+					{
+						// Try to select the node as a control.
+						range = this.document.$.body.createControlRange() ;
+						range.addElement( element.$ ) ;
+					}
+					catch(e)
+					{
+						// If failed, select it as a text range.
+						range = this.document.$.body.createTextRange() ;
+						range.moveToElementText( element.$ ) ;
+					}
+
+					range.select() ;
+				}
+			:
+				function( element )
+				{
+					// Create the range for the element.
+					var range = this.document.$.createRange() ;
+					range.selectNode( element.$ ) ;
+
+					// Select the range.
+					var sel = this.getNative() ;
+					sel.removeAllRanges() ;
+					sel.addRange( range ) ;
+				}
 	};
 })();
Index: /CKEditor/branches/prototype/_source/plugins/sourcearea/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/sourcearea/plugin.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/plugins/sourcearea/plugin.js	(revision 2278)
@@ -29,4 +29,6 @@
 	init : function( editor, pluginPath )
 	{
+		var sourcearea = CKEDITOR.plugins.sourcearea;
+
 		editor.on( 'editingBlockReady', function()
 			{
@@ -83,4 +85,35 @@
 					});
 			});
+
+		editor.addCommand( 'source', sourcearea.commands.source );
+		editor.ui.addButton( 'Source', sourcearea.ui.source );
 	}
 });
+
+/**
+ * Holds the definition of commands an UI elements included with the sourcearea
+ * plugin.
+ * @example
+ */
+CKEDITOR.plugins.sourcearea =
+{
+	commands :
+	{
+		source :
+		{
+			exec : function( editor )
+			{
+				editor.setMode( editor.mode == 'source' ? 'wysiwyg' : 'source' );
+			}
+		}
+	},
+
+	ui :
+	{
+		source :
+		{
+			label : 'Source',
+			command : 'source'
+		}
+	}
+};
Index: /CKEditor/branches/prototype/_source/plugins/toolbar/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/toolbar/plugin.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/plugins/toolbar/plugin.js	(revision 2278)
@@ -32,9 +32,52 @@
 			{
 				if ( event.data.space == editor.config.toolbarLocation )
-					event.data.html +=
-						'<div>Toolbar!</div>';
+				{
+					var output = [ '<div class="cke_toolbox">' ];
+
+					var toolbar = editor.config.toolbar;
+
+					for ( var r = 0 ; r < toolbar.length ; r++ )
+					{
+						var row = toolbar[ r ];
+
+						output.push( '<div class="cke_toolbar">' );
+
+						for ( var i = 0 ; i < row.length ; i++ )
+						{
+							var item,
+								itemName = row[ i ];
+
+							if ( itemName == '-' )
+								item = CKEDITOR.ui.separator;
+							else
+								item = editor.ui.get( row[ i ] );
+
+							if ( item )
+								item.render( editor, output );
+						}
+
+						output.push( '</div>' );
+					}
+
+					output.push( '</div>' );
+
+					event.data.html += output.join( '' );
+				}
 			});
 	}
 });
+
+/**
+ * The UI element that renders a toolbar separator.
+ * @type Object
+ * @example
+ */
+CKEDITOR.ui.separator =
+{
+	render : function( editor, output )
+	{
+		output.push( '<span class="cke_separator"></span>' );
+	}
+};
 
 /**
@@ -48,2 +91,19 @@
  */
 CKEDITOR.config.toolbarLocation = 'top';
+
+/**
+ * The toolbox (alias toolbar) definition. It is an array of toolbars (strips),
+ * each one being also an array, containing a list of UI items.
+ * @type Array
+ * @example
+ * // Defines a toolbar with only one strip containing the "Source" button, a
+ * // separator and the "Bold" and "Italic" buttons.
+ * <b>CKEDITOR.config.toolbar =
+ * [
+ *     [ 'Source', '-', 'Bold', 'Italic' ]
+ * ]</b>;
+ */
+CKEDITOR.config.toolbar =
+[
+	[ 'Source', '-', 'Bold', 'Italic' ]
+];
Index: /CKEditor/branches/prototype/_source/skins/default/editor.css
===================================================================
--- /CKEditor/branches/prototype/_source/skins/default/editor.css	(revision 2277)
+++ /CKEditor/branches/prototype/_source/skins/default/editor.css	(revision 2278)
@@ -22,2 +22,3 @@
 @import url("reset.css");
 @import url("mainui.css");
+@import url("toolbar.css");
Index: /CKEditor/branches/prototype/_source/skins/default/mainui.css
===================================================================
--- /CKEditor/branches/prototype/_source/skins/default/mainui.css	(revision 2277)
+++ /CKEditor/branches/prototype/_source/skins/default/mainui.css	(revision 2278)
@@ -31,5 +31,4 @@
 }
 
- .
 .cke_skin_default.cke_focus
 {
Index: /CKEditor/branches/prototype/_source/skins/default/toolbar.css
===================================================================
--- /CKEditor/branches/prototype/_source/skins/default/toolbar.css	(revision 2278)
+++ /CKEditor/branches/prototype/_source/skins/default/toolbar.css	(revision 2278)
@@ -0,0 +1,49 @@
+﻿/*
+ * CKEditor - The text editor for Internet - http://ckeditor.com
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ */
+
+.cke_skin_default .cke_toolbar
+{
+	padding: 5px;
+}
+
+.cke_skin_default .cke_separator
+{
+	border-left: solid 1px #999;
+	margin-left: 2px;
+	margin-right:2px;
+}
+
+.cke_skin_default a.cke_button
+{
+	border: solid 1px #bbb;
+	background-color: #eee;
+	padding-top: 2px;
+	padding-bottom: 2px;
+	padding-left: 4px;
+	padding-right: 4px;
+	margin-left: 2px;
+	margin-right: 2px;
+}
+
+.cke_skin_default a:hover.cke_button
+{
+	background-color: #fff;
+}
Index: /CKEditor/branches/prototype/_source/themes/default/theme.js
===================================================================
--- /CKEditor/branches/prototype/_source/themes/default/theme.js	(revision 2277)
+++ /CKEditor/branches/prototype/_source/themes/default/theme.js	(revision 2278)
@@ -60,4 +60,6 @@
 			'</span>' ].join('') );
 
+		container.unselectable();
+
 		container.insertAfter( editor.element );
 
Index: /CKEditor/branches/prototype/fckpackager.xml
===================================================================
--- /CKEditor/branches/prototype/fckpackager.xml	(revision 2277)
+++ /CKEditor/branches/prototype/fckpackager.xml	(revision 2278)
@@ -45,4 +45,5 @@
 
 	<Constants removeDeclaration="false">
+		<Constant name="CKEDITOR.UI_BUTTON" value="1" />
 		<Constant name="CKEDITOR.SELECTION_NONE" value="1" />
 		<Constant name="CKEDITOR.SELECTION_TEXT" value="2" />
@@ -79,4 +80,5 @@
 		<File path="_source/lang/en.js" />
 		<File path="_source/core/themes.js" />
+		<File path="_source/core/ui.js" />
 		<File path="_source/core/editor.js" />
 		<File path="_source/core/ckeditor.js" />
@@ -84,4 +86,5 @@
 		<File path="_source/core/_bootstrap.js" />
 		<File path="_source/plugins/basicstyles/plugin.js" />
+		<File path="_source/plugins/button/plugin.js" />
 		<File path="_source/plugins/editingblock/plugin.js" />
 		<File path="_source/plugins/elementspath/plugin.js" />
